Fix Maven plugin help support
Update `MavenPluginPlugin` to fix HelpMojo support. Closes gh-21556
This commit is contained in:
parent
1f28141f3e
commit
fc4efe3bf0
|
|
@ -75,7 +75,8 @@ public class MavenPluginPlugin implements Plugin<Project> {
|
||||||
MavenExec generatePluginDescriptor = configurePluginDescriptorGenerationTasks(project, generateHelpMojo);
|
MavenExec generatePluginDescriptor = configurePluginDescriptorGenerationTasks(project, generateHelpMojo);
|
||||||
DocumentPluginGoals documentPluginGoals = project.getTasks().create("documentPluginGoals",
|
DocumentPluginGoals documentPluginGoals = project.getTasks().create("documentPluginGoals",
|
||||||
DocumentPluginGoals.class);
|
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.setOutputDir(new File(project.getBuildDir(), "docs/generated/goals/"));
|
||||||
documentPluginGoals.dependsOn(generatePluginDescriptor);
|
documentPluginGoals.dependsOn(generatePluginDescriptor);
|
||||||
Jar jar = (Jar) project.getTasks().getByName(JavaPlugin.JAR_TASK_NAME);
|
Jar jar = (Jar) project.getTasks().getByName(JavaPlugin.JAR_TASK_NAME);
|
||||||
|
|
@ -130,7 +131,7 @@ public class MavenPluginPlugin implements Plugin<Project> {
|
||||||
FormatHelpMojoSource.class);
|
FormatHelpMojoSource.class);
|
||||||
copyFormattedHelpMojoSource.setGenerator(generateHelpMojo);
|
copyFormattedHelpMojoSource.setGenerator(generateHelpMojo);
|
||||||
copyFormattedHelpMojoSource.setOutputDir(generatedHelpMojoDir);
|
copyFormattedHelpMojoSource.setOutputDir(generatedHelpMojoDir);
|
||||||
mainSourceSet.getAllJava().srcDir(generatedHelpMojoDir);
|
mainSourceSet.java((javaSources) -> javaSources.srcDir(generatedHelpMojoDir));
|
||||||
project.getTasks().getByName(mainSourceSet.getCompileJavaTaskName()).dependsOn(copyFormattedHelpMojoSource);
|
project.getTasks().getByName(mainSourceSet.getCompileJavaTaskName()).dependsOn(copyFormattedHelpMojoSource);
|
||||||
Copy pluginDescriptorInputs = createCopyPluginDescriptorInputs(project, pluginDescriptorDir, mainSourceSet);
|
Copy pluginDescriptorInputs = createCopyPluginDescriptorInputs(project, pluginDescriptorDir, mainSourceSet);
|
||||||
pluginDescriptorInputs.dependsOn(mainSourceSet.getClassesTaskName());
|
pluginDescriptorInputs.dependsOn(mainSourceSet.getClassesTaskName());
|
||||||
|
|
@ -152,7 +153,7 @@ public class MavenPluginPlugin implements Plugin<Project> {
|
||||||
private MavenExec createGeneratePluginDescriptor(Project project, File mavenDir) {
|
private MavenExec createGeneratePluginDescriptor(Project project, File mavenDir) {
|
||||||
MavenExec generatePluginDescriptor = project.getTasks().create("generatePluginDescriptor", MavenExec.class);
|
MavenExec generatePluginDescriptor = project.getTasks().create("generatePluginDescriptor", MavenExec.class);
|
||||||
generatePluginDescriptor.args("org.apache.maven.plugins:maven-plugin-plugin:3.6.0:descriptor");
|
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.getInputs().dir(new File(mavenDir, "target/classes/org"));
|
||||||
generatePluginDescriptor.setProjectDir(mavenDir);
|
generatePluginDescriptor.setProjectDir(mavenDir);
|
||||||
return generatePluginDescriptor;
|
return generatePluginDescriptor;
|
||||||
|
|
@ -164,7 +165,7 @@ public class MavenPluginPlugin implements Plugin<Project> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void includeHelpMojoInJar(Jar jar, JavaExec generateHelpMojo) {
|
private void includeHelpMojoInJar(Jar jar, JavaExec generateHelpMojo) {
|
||||||
jar.from(generateHelpMojo);
|
jar.from(generateHelpMojo).exclude("**/*.java");
|
||||||
jar.dependsOn(generateHelpMojo);
|
jar.dependsOn(generateHelpMojo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue