From 36c09a5a3e1628b809ae53a4624a4d64f6c3f708 Mon Sep 17 00:00:00 2001 From: Stefan Date: Sun, 13 Jan 2019 21:50:53 +0100 Subject: [PATCH] #81 Possibility to skip plugin execution --- .../mavenplugin/add/AddModuleInfoMojo.java | 15 +++++++++++++++ .../generate/GenerateModuleInfoMojo.java | 17 ++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java b/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java index 71d0554..e8e756b 100644 --- a/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java +++ b/maven-plugin/src/main/java/org/moditect/mavenplugin/add/AddModuleInfoMojo.java @@ -92,6 +92,9 @@ public class AddModuleInfoMojo extends AbstractMojo { @Parameter(property = "overwriteExistingFiles", defaultValue = "false") private boolean overwriteExistingFiles; + @Parameter(property = "moditect.skip", defaultValue = "false") + private boolean skip; + @Parameter private MainModuleConfiguration module; @@ -103,6 +106,18 @@ public class AddModuleInfoMojo extends AbstractMojo { @Override public void execute() throws MojoExecutionException, MojoFailureException { + // Check if this plugin should be skipped + if (skip) { + getLog().debug("Mojo 'add-module-info' skipped by configuration"); + return; + } + // Don't try to run this plugin, when packaging type is 'pom' + // (may be better to only run it on specific packaging types, like 'jar') + if (project.getModel().getPackaging().equalsIgnoreCase("pom")) { + getLog().debug("Mojo 'add-module-info' not executed on packaging type '"+project.getModel().getPackaging()+"'"); + return; + } + Path outputPath = outputDirectory.toPath(); createDirectories(); diff --git a/maven-plugin/src/main/java/org/moditect/mavenplugin/generate/GenerateModuleInfoMojo.java b/maven-plugin/src/main/java/org/moditect/mavenplugin/generate/GenerateModuleInfoMojo.java index 4113f6b..fa09adf 100644 --- a/maven-plugin/src/main/java/org/moditect/mavenplugin/generate/GenerateModuleInfoMojo.java +++ b/maven-plugin/src/main/java/org/moditect/mavenplugin/generate/GenerateModuleInfoMojo.java @@ -91,9 +91,24 @@ public class GenerateModuleInfoMojo extends AbstractMojo { @Parameter(property = "moditect.addServiceUses", defaultValue = "false") private boolean addServiceUsesOverride; + @Parameter(property = "moditect.skip", defaultValue = "false") + private boolean skip; + @Override public void execute() throws MojoExecutionException, MojoFailureException { - createDirectories(); + // Check if this plugin should be skipped + if (skip) { + getLog().debug("Mojo 'generate-module-info' skipped by configuration"); + return; + } + // Don't try to run this plugin, when packaging type is 'pom' + // (may be better to only run it on specific packaging types, like 'jar') + if (project.getModel().getPackaging().equalsIgnoreCase("pom")) { + getLog().debug("Mojo 'generate-module-info' not executed on packaging type '"+project.getModel().getPackaging()+"'"); + return; + } + + createDirectories(); ArtifactResolutionHelper artifactResolutionHelper = new ArtifactResolutionHelper( repoSystem, repoSession, remoteRepos ); ModuleInfoGenerator moduleInfoGenerator = new ModuleInfoGenerator(