This is an automated email from the ASF dual-hosted git repository. neilcsmith pushed a commit to branch delivery in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/delivery by this push: new 05e0b0feb00 React on both build and compile goals. new 071b9d19372 Merge pull request #5396 from sdedic/micronaut/native-image-compile 05e0b0feb00 is described below commit 05e0b0feb00022a0540c481bf9e35051fca9340b Author: Svata Dedic <svatopluk.de...@oracle.com> AuthorDate: Tue Jan 31 13:57:42 2023 +0100 React on both build and compile goals. --- .../micronaut/maven/MicronautMavenConstants.java | 10 ++++-- .../maven/MicronautPackagingArtifactsImpl.java | 37 ++++++++++++++++------ 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautMavenConstants.java b/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautMavenConstants.java index bc93993b3c0..823347e2b53 100644 --- a/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautMavenConstants.java +++ b/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautMavenConstants.java @@ -52,9 +52,15 @@ public final class MicronautMavenConstants { public static final String CLASSIFIER_NATIVE = "native-image"; /** - * Native image plugin's goal to compile image without fork. + * Native image plugin's goal to compile image without fork. Available from + * 0.9.14 version, DOES NOT exist on earlier versions. */ - public static final String PLUGIN_GOAL_COMPILE_NOFORK = "build"; + public static final String PLUGIN_GOAL_COMPILE_NOFORK = "compile-no-fork"; + + /** + * Now deprecated goal, which produces a warning starting from 0.9.14 . + */ + public static final String PLUGIN_GOAL_COMPILE_NOFORK_OLD = "build"; /** * Native image plugin's goal to compile image from commandline diff --git a/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautPackagingArtifactsImpl.java b/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautPackagingArtifactsImpl.java index 4f28b7f07a9..f4889716013 100644 --- a/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautPackagingArtifactsImpl.java +++ b/enterprise/micronaut/src/org/netbeans/modules/micronaut/maven/MicronautPackagingArtifactsImpl.java @@ -66,11 +66,6 @@ public class MicronautPackagingArtifactsImpl implements ProjectArtifactsImplemen */ public static final String PLUGIN_PARAM_SHAREDLIBRARY = "sharedLibrary"; // NOI18N - /** - * Maven goal that does the native-image compilation. - */ - private static final String GOAL_NATIVE_COMPILE = "native:compile"; // NOI18N - private static final Set<String> SUPPORTED_ARTIFACT_TYPES = new HashSet<>(Arrays.asList( MicronautMavenConstants.TYPE_DYNAMIC_LIBRARY, MicronautMavenConstants.TYPE_EXECUTABLE )); @@ -122,6 +117,21 @@ public class MicronautPackagingArtifactsImpl implements ProjectArtifactsImplemen public boolean computeSupportsChanges(R r) { return true; } + + /** + * Goals that actually trigger native artifact generation. As they are compared by name with + * configurations, use both unprefixed and prefixed forms + */ + private static final String[] NATIVE_ARTIFACT_BUILDERS = new String[] { + MicronautMavenConstants.PLUGIN_GOAL_COMPILE, + MicronautMavenConstants.PLUGIN_GOAL_COMPILE_NOFORK, + "native:" + MicronautMavenConstants.PLUGIN_GOAL_COMPILE, // NOI18N + "native:" + MicronautMavenConstants.PLUGIN_GOAL_COMPILE_NOFORK, // NOI18N + + // Compatibility with plugin 0.9.13 and earlier: + MicronautMavenConstants.PLUGIN_GOAL_COMPILE_NOFORK_OLD, + "native:" + MicronautMavenConstants.PLUGIN_GOAL_COMPILE_NOFORK_OLD, // NOI18N + }; static class R extends AbstractMicronautArtifacts { @@ -173,9 +183,13 @@ public class MicronautPackagingArtifactsImpl implements ProjectArtifactsImplemen boolean explicitGraalvmGoal = false; if (buildCtx.getProjectAction() != null) { RunConfig cfg = RunUtils.createRunConfig(buildCtx.getProjectAction(), getProject(), null, Lookup.EMPTY); - if (cfg != null && cfg.getGoals().contains(GOAL_NATIVE_COMPILE)) { - LOG.log(Level.FINE, "Go explicit native compilation goal from the action"); - explicitGraalvmGoal = true; + Set<String> triggerGoals = new HashSet<>(Arrays.asList(NATIVE_ARTIFACT_BUILDERS)); + if (cfg != null) { + triggerGoals.retainAll(cfg.getGoals()); + if (!triggerGoals.isEmpty()) { + LOG.log(Level.FINE, "Go explicit native compilation goal from the action"); + explicitGraalvmGoal = true; + } } } if (!explicitGraalvmGoal && !MicronautMavenConstants.PACKAGING_NATIVE.equals(model.getPackaging())) { @@ -194,8 +208,11 @@ public class MicronautPackagingArtifactsImpl implements ProjectArtifactsImplemen } LOG.log(Level.FINE, "Configured executions: {0}", p.getExecutions()); for (PluginExecution pe : p.getExecutions()) { - if (pe.getGoals().contains(MicronautMavenConstants.PLUGIN_GOAL_COMPILE_NOFORK)) { // NOI18N - Xpp3Dom dom = model.getGoalConfiguration(MicronautMavenConstants.NATIVE_BUILD_PLUGIN_GROUP, MicronautMavenConstants.NATIVE_BUILD_PLUGIN_ID, pe.getId(), MicronautMavenConstants.PLUGIN_GOAL_COMPILE_NOFORK); // NOI18N + Set<String> triggerGoals = new HashSet<>(Arrays.asList(NATIVE_ARTIFACT_BUILDERS)); + triggerGoals.retainAll(pe.getGoals()); + if (!triggerGoals.isEmpty()) { + String goalName = triggerGoals.iterator().next(); + Xpp3Dom dom = model.getGoalConfiguration(MicronautMavenConstants.NATIVE_BUILD_PLUGIN_GROUP, MicronautMavenConstants.NATIVE_BUILD_PLUGIN_ID, pe.getId(), goalName); // NOI18N if (dom != null) { LOG.log(Level.FINE, "Found bound execution for goals {0}", pe.getGoals()); addNativeExecutable(nativeStuff, model, dom, pe); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists