diff --git a/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlBatchCompilerMojo.java b/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlBatchCompilerMojo.java index fa3c718958..13536e2cf0 100644 --- a/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlBatchCompilerMojo.java +++ b/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlBatchCompilerMojo.java @@ -218,6 +218,14 @@ protected MavenProject getProject() { */ protected abstract boolean isTestContext(); + @Override + protected boolean isSkipped() { + if (isTestContext() && this.mavenTestSkip) { + return true; + } + return super.isSkipped(); + } + /** Run compilation. * * @param classPath the classpath diff --git a/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlMojo.java b/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlMojo.java index d0d3e782e3..db034ee6d3 100644 --- a/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlMojo.java +++ b/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/AbstractSarlMojo.java @@ -64,6 +64,12 @@ public abstract class AbstractSarlMojo extends AbstractMojo { */ protected MavenHelper mavenHelper; + /** General Maven flag for skipping tests. + * @since 0.11 + */ + @Parameter(defaultValue = "${maven.test.skip}", required = true, readonly = true) + protected boolean mavenTestSkip; + /** * The current Maven session. */ @@ -102,8 +108,28 @@ public abstract class AbstractSarlMojo extends AbstractMojo { @Parameter(defaultValue = SARLConfig.FOLDER_TEST_SOURCE_SARL) private File testInput; + /** Skip the execution of the mojo. + * @since 0.11 + */ + @Parameter(defaultValue = "false") + private boolean skip; + + /** Replies if the execution of the mojo should be skipped or not. + * This function checks the configuration tag "skip". + * + * @return {@code true} if the mojo should be skipped. + * @since 0.11 + */ + protected boolean isSkipped() { + return this.skip; + } + @Override public final void execute() throws MojoExecutionException, MojoFailureException { + if (isSkipped()) { + getLog().info(Messages.AbstractSarlMojo_5); + return; + } try { this.mavenHelper = new MavenHelper(this.session, this.buildPluginManager, this.repositorySystem, this.resolutionErrorHandler, getLog()); diff --git a/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/Messages.java b/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/Messages.java index 443a0d9f27..f408a5f994 100644 --- a/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/Messages.java +++ b/main/internalmaven/sarl-maven-plugin/src/main/java/io/sarl/maven/compiler/Messages.java @@ -71,6 +71,7 @@ public class Messages extends NLS { public static String AbstractSarlMojo_2; public static String AbstractSarlMojo_3; public static String AbstractSarlMojo_4; + public static String AbstractSarlMojo_5; public static String MavenBatchCompiler_0; public static String AbstractCompileMojo_0; public static String AbstractCompileMojo_1; diff --git a/main/internalmaven/sarl-maven-plugin/src/main/resources/io/sarl/maven/compiler/messages.properties b/main/internalmaven/sarl-maven-plugin/src/main/resources/io/sarl/maven/compiler/messages.properties index c9f8657680..17863a9553 100644 --- a/main/internalmaven/sarl-maven-plugin/src/main/resources/io/sarl/maven/compiler/messages.properties +++ b/main/internalmaven/sarl-maven-plugin/src/main/resources/io/sarl/maven/compiler/messages.properties @@ -34,6 +34,7 @@ AbstractSarlMojo_1 = Plugin not found: {0} AbstractSarlMojo_2 = Goal not found {0} AbstractSarlMojo_3 = Configuration that will be passed to {0}:\n{1} AbstractSarlMojo_4 = Artifact not found in the plugin configuration: {0} +AbstractSarlMojo_5 = Skipping execution. MavenBatchCompiler_0 = Unable to determine the latest version of maven-compiler-plugin. Use the version {0}. AbstractCompileMojo_0 = The value ''{0}'' is not valid for the parameter 'javaCompiler'. Supported values are {1}. Use ''{2}'' as the default. AbstractCompileMojo_1 = {0}, {1}