diff --git a/src/it/add-resource-skip/invoker.properties b/src/it/add-resource-skip/invoker.properties
new file mode 100644
index 00000000..ff27f707
--- /dev/null
+++ b/src/it/add-resource-skip/invoker.properties
@@ -0,0 +1,2 @@
+invoker.goals = -X generate-sources
+invoker.buildResult = success
diff --git a/src/it/add-resource-skip/pom.xml b/src/it/add-resource-skip/pom.xml
new file mode 100644
index 00000000..c7111b82
--- /dev/null
+++ b/src/it/add-resource-skip/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+
+ build-helper
+ integration-test
+ 1.0-SNAPSHOT
+
+
+
+
+ @project.groupId@
+ @project.artifactId@
+ @project.version@
+
+
+ integration-test
+ generate-sources
+
+ add-resource
+
+
+
+
+ ${project.basedir}/not-existing
+ does-not-matter
+
+
+ true
+
+
+
+
+
+
+
diff --git a/src/it/add-resource-skip/verify.groovy b/src/it/add-resource-skip/verify.groovy
new file mode 100644
index 00000000..2478f0d7
--- /dev/null
+++ b/src/it/add-resource-skip/verify.groovy
@@ -0,0 +1,9 @@
+File file = new File( basedir, "build.log" );
+assert file.exists();
+
+String text = file.getText("utf-8");
+
+assert text.contains("skipAddResource = true");
+assert text.contains("Skipping plugin execution!");
+
+return true;
diff --git a/src/it/add-source-skip/invoker.properties b/src/it/add-source-skip/invoker.properties
new file mode 100644
index 00000000..ff27f707
--- /dev/null
+++ b/src/it/add-source-skip/invoker.properties
@@ -0,0 +1,2 @@
+invoker.goals = -X generate-sources
+invoker.buildResult = success
diff --git a/src/it/add-source-skip/pom.xml b/src/it/add-source-skip/pom.xml
new file mode 100644
index 00000000..78d8083f
--- /dev/null
+++ b/src/it/add-source-skip/pom.xml
@@ -0,0 +1,33 @@
+
+
+ 4.0.0
+
+ build-helper
+ integration-test
+ 1.0-SNAPSHOT
+
+
+
+
+ @project.groupId@
+ @project.artifactId@
+ @project.version@
+
+
+ integration-test
+ generate-sources
+
+ add-source
+
+
+
+ ${project.basedir}/not-existing
+
+ true
+
+
+
+
+
+
+
diff --git a/src/it/add-source-skip/verify.groovy b/src/it/add-source-skip/verify.groovy
new file mode 100644
index 00000000..b8ef38bb
--- /dev/null
+++ b/src/it/add-source-skip/verify.groovy
@@ -0,0 +1,9 @@
+File file = new File( basedir, "build.log" );
+assert file.exists();
+
+String text = file.getText("utf-8");
+
+assert text.contains("skipAddSource = true");
+assert text.contains("Skipping plugin execution!");
+
+return true;
diff --git a/src/it/add-test-resource-skip/invoker.properties b/src/it/add-test-resource-skip/invoker.properties
new file mode 100644
index 00000000..ff27f707
--- /dev/null
+++ b/src/it/add-test-resource-skip/invoker.properties
@@ -0,0 +1,2 @@
+invoker.goals = -X generate-sources
+invoker.buildResult = success
diff --git a/src/it/add-test-resource-skip/pom.xml b/src/it/add-test-resource-skip/pom.xml
new file mode 100644
index 00000000..48a17fdd
--- /dev/null
+++ b/src/it/add-test-resource-skip/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+
+ build-helper
+ integration-test
+ 1.0-SNAPSHOT
+
+
+
+
+ @project.groupId@
+ @project.artifactId@
+ @project.version@
+
+
+ integration-test
+ generate-sources
+
+ add-test-resource
+
+
+
+
+ ${project.basedir}/not-existing
+ does-not-matter
+
+
+ true
+
+
+
+
+
+
+
diff --git a/src/it/add-test-resource-skip/verify.groovy b/src/it/add-test-resource-skip/verify.groovy
new file mode 100644
index 00000000..0bed2b5f
--- /dev/null
+++ b/src/it/add-test-resource-skip/verify.groovy
@@ -0,0 +1,9 @@
+File file = new File( basedir, "build.log" );
+assert file.exists();
+
+String text = file.getText("utf-8");
+
+assert text.contains("skipAddTestResource = true");
+assert text.contains("Skipping plugin execution!");
+
+return true;
diff --git a/src/it/add-test-source-skip/invoker.properties b/src/it/add-test-source-skip/invoker.properties
new file mode 100644
index 00000000..ff27f707
--- /dev/null
+++ b/src/it/add-test-source-skip/invoker.properties
@@ -0,0 +1,2 @@
+invoker.goals = -X generate-sources
+invoker.buildResult = success
diff --git a/src/it/add-test-source-skip/pom.xml b/src/it/add-test-source-skip/pom.xml
new file mode 100644
index 00000000..26bbb2a8
--- /dev/null
+++ b/src/it/add-test-source-skip/pom.xml
@@ -0,0 +1,33 @@
+
+
+ 4.0.0
+
+ build-helper
+ integration-test
+ 1.0-SNAPSHOT
+
+
+
+
+ @project.groupId@
+ @project.artifactId@
+ @project.version@
+
+
+ integration-test
+ generate-sources
+
+ add-test-source
+
+
+
+ ${project.basedir}/not-existing
+
+ true
+
+
+
+
+
+
+
diff --git a/src/it/add-test-source-skip/verify.groovy b/src/it/add-test-source-skip/verify.groovy
new file mode 100644
index 00000000..c0c7780a
--- /dev/null
+++ b/src/it/add-test-source-skip/verify.groovy
@@ -0,0 +1,9 @@
+File file = new File( basedir, "build.log" );
+assert file.exists();
+
+String text = file.getText("utf-8");
+
+assert text.contains("skipAddTestSource = true");
+assert text.contains("Skipping plugin execution!");
+
+return true;
diff --git a/src/main/java/org/codehaus/mojo/buildhelper/AbstractAddResourceMojo.java b/src/main/java/org/codehaus/mojo/buildhelper/AbstractAddResourceMojo.java
index fe65429f..76b17d0c 100644
--- a/src/main/java/org/codehaus/mojo/buildhelper/AbstractAddResourceMojo.java
+++ b/src/main/java/org/codehaus/mojo/buildhelper/AbstractAddResourceMojo.java
@@ -51,6 +51,13 @@ public abstract class AbstractAddResourceMojo extends AbstractMojo {
* Main plugin execution
*/
public void execute() {
+ if (isSkip()) {
+ if (getLog().isInfoEnabled()) {
+ getLog().info("Skipping plugin execution!");
+ }
+ return;
+ }
+
for (Resource resource : resources) {
// Check for relative paths in the resource configuration.
// http://maven.apache.org/plugin-developers/common-bugs.html#Resolving_Relative_Paths
@@ -64,6 +71,8 @@ public void execute() {
}
}
+ protected abstract boolean isSkip();
+
/**
* Add the resource to the project.
*
diff --git a/src/main/java/org/codehaus/mojo/buildhelper/AddResourceMojo.java b/src/main/java/org/codehaus/mojo/buildhelper/AddResourceMojo.java
index 26d269d2..f4129233 100644
--- a/src/main/java/org/codehaus/mojo/buildhelper/AddResourceMojo.java
+++ b/src/main/java/org/codehaus/mojo/buildhelper/AddResourceMojo.java
@@ -27,6 +27,7 @@
import org.apache.maven.model.Resource;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
/**
* Add more resource directories to the POM.
@@ -37,10 +38,22 @@
@Mojo(name = "add-resource", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true)
public class AddResourceMojo extends AbstractAddResourceMojo {
+ /**
+ * Skip plugin execution.
+ *
+ * @since 3.5.0
+ */
+ @Parameter(property = "buildhelper.addresource.skip", defaultValue = "false")
+ private boolean skipAddResource;
+
public void addResource(Resource resource) {
getProject().addResource(resource);
if (getLog().isDebugEnabled()) {
getLog().debug("Added resource: " + resource.getDirectory());
}
}
+
+ protected boolean isSkip() {
+ return skipAddResource;
+ }
}
diff --git a/src/main/java/org/codehaus/mojo/buildhelper/AddSourceMojo.java b/src/main/java/org/codehaus/mojo/buildhelper/AddSourceMojo.java
index 6ea23161..5198b8b7 100644
--- a/src/main/java/org/codehaus/mojo/buildhelper/AddSourceMojo.java
+++ b/src/main/java/org/codehaus/mojo/buildhelper/AddSourceMojo.java
@@ -54,7 +54,22 @@ public class AddSourceMojo extends AbstractMojo {
@Parameter(readonly = true, defaultValue = "${project}")
private MavenProject project;
+ /**
+ * Skip plugin execution.
+ *
+ * @since 3.5.0
+ */
+ @Parameter(property = "buildhelper.addsource.skip", defaultValue = "false")
+ private boolean skipAddSource;
+
public void execute() {
+ if (skipAddSource) {
+ if (getLog().isInfoEnabled()) {
+ getLog().info("Skipping plugin execution!");
+ }
+ return;
+ }
+
for (File source : sources) {
this.project.addCompileSourceRoot(source.getAbsolutePath());
if (getLog().isInfoEnabled()) {
diff --git a/src/main/java/org/codehaus/mojo/buildhelper/AddTestResourceMojo.java b/src/main/java/org/codehaus/mojo/buildhelper/AddTestResourceMojo.java
index 4cfc9ea8..a1000caf 100644
--- a/src/main/java/org/codehaus/mojo/buildhelper/AddTestResourceMojo.java
+++ b/src/main/java/org/codehaus/mojo/buildhelper/AddTestResourceMojo.java
@@ -27,6 +27,7 @@
import org.apache.maven.model.Resource;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
/**
* Add more test resource directories to the POM.
@@ -37,6 +38,14 @@
@Mojo(name = "add-test-resource", defaultPhase = LifecyclePhase.GENERATE_TEST_RESOURCES, threadSafe = true)
public class AddTestResourceMojo extends AbstractAddResourceMojo {
+ /**
+ * Skip plugin execution.
+ *
+ * @since 3.5.0
+ */
+ @Parameter(property = "buildhelper.addtestresource.skip", defaultValue = "false")
+ private boolean skipAddTestResource;
+
/**
* Add the resource to the project.
*
@@ -48,4 +57,9 @@ public void addResource(Resource resource) {
getLog().debug("Added test resource: " + resource.getDirectory());
}
}
+
+ @Override
+ protected boolean isSkip() {
+ return skipAddTestResource;
+ }
}
diff --git a/src/main/java/org/codehaus/mojo/buildhelper/AddTestSourceMojo.java b/src/main/java/org/codehaus/mojo/buildhelper/AddTestSourceMojo.java
index b2ab781d..f79638c2 100644
--- a/src/main/java/org/codehaus/mojo/buildhelper/AddTestSourceMojo.java
+++ b/src/main/java/org/codehaus/mojo/buildhelper/AddTestSourceMojo.java
@@ -54,7 +54,22 @@ public class AddTestSourceMojo extends AbstractMojo {
@Parameter(readonly = true, defaultValue = "${project}")
private MavenProject project;
+ /**
+ * Skip plugin execution.
+ *
+ * @since 3.5.0
+ */
+ @Parameter(property = "buildhelper.addtestsource.skip", defaultValue = "false")
+ private boolean skipAddTestSource;
+
public void execute() {
+ if (skipAddTestSource) {
+ if (getLog().isInfoEnabled()) {
+ getLog().info("Skipping plugin execution!");
+ }
+ return;
+ }
+
for (File source : sources) {
this.project.addTestCompileSourceRoot(source.getAbsolutePath());
if (getLog().isInfoEnabled()) {