Skip to content

Commit

Permalink
Fix Maven plugin help support
Browse files Browse the repository at this point in the history
Update `MavenPluginPlugin` to fix HelpMojo support.

Closes gh-21556
  • Loading branch information
philwebb committed Jun 2, 2020
1 parent 1f28141 commit fc4efe3
Showing 1 changed file with 5 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ public void apply(Project project) {
MavenExec generatePluginDescriptor = configurePluginDescriptorGenerationTasks(project, generateHelpMojo);
DocumentPluginGoals documentPluginGoals = project.getTasks().create("documentPluginGoals",
DocumentPluginGoals.class);
documentPluginGoals.setPluginXml(generatePluginDescriptor.getOutputs().getFiles().getSingleFile());
File pluginXml = new File(generatePluginDescriptor.getOutputs().getFiles().getSingleFile(), "plugin.xml");
documentPluginGoals.setPluginXml(pluginXml);
documentPluginGoals.setOutputDir(new File(project.getBuildDir(), "docs/generated/goals/"));
documentPluginGoals.dependsOn(generatePluginDescriptor);
Jar jar = (Jar) project.getTasks().getByName(JavaPlugin.JAR_TASK_NAME);
Expand Down Expand Up @@ -130,7 +131,7 @@ private MavenExec configurePluginDescriptorGenerationTasks(Project project, Mave
FormatHelpMojoSource.class);
copyFormattedHelpMojoSource.setGenerator(generateHelpMojo);
copyFormattedHelpMojoSource.setOutputDir(generatedHelpMojoDir);
mainSourceSet.getAllJava().srcDir(generatedHelpMojoDir);
mainSourceSet.java((javaSources) -> javaSources.srcDir(generatedHelpMojoDir));
project.getTasks().getByName(mainSourceSet.getCompileJavaTaskName()).dependsOn(copyFormattedHelpMojoSource);
Copy pluginDescriptorInputs = createCopyPluginDescriptorInputs(project, pluginDescriptorDir, mainSourceSet);
pluginDescriptorInputs.dependsOn(mainSourceSet.getClassesTaskName());
Expand All @@ -152,7 +153,7 @@ private Copy createCopyPluginDescriptorInputs(Project project, File destination,
private MavenExec createGeneratePluginDescriptor(Project project, File mavenDir) {
MavenExec generatePluginDescriptor = project.getTasks().create("generatePluginDescriptor", MavenExec.class);
generatePluginDescriptor.args("org.apache.maven.plugins:maven-plugin-plugin:3.6.0:descriptor");
generatePluginDescriptor.getOutputs().file(new File(mavenDir, "target/classes/META-INF/maven/plugin.xml"));
generatePluginDescriptor.getOutputs().dir(new File(mavenDir, "target/classes/META-INF/maven"));
generatePluginDescriptor.getInputs().dir(new File(mavenDir, "target/classes/org"));
generatePluginDescriptor.setProjectDir(mavenDir);
return generatePluginDescriptor;
Expand All @@ -164,7 +165,7 @@ private void includeDescriptorInJar(Jar jar, JavaExec generatePluginDescriptor)
}

private void includeHelpMojoInJar(Jar jar, JavaExec generateHelpMojo) {
jar.from(generateHelpMojo);
jar.from(generateHelpMojo).exclude("**/*.java");
jar.dependsOn(generateHelpMojo);
}

Expand Down

0 comments on commit fc4efe3

Please sign in to comment.