Skip to content

Commit e477e6c

Browse files
committed
[MPLUGIN-360] generated plugin-help.xml ignores descriptor mojo outputDirectory
1 parent 2f29e9a commit e477e6c

File tree

4 files changed

+10
-23
lines changed

4 files changed

+10
-23
lines changed

maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class DescriptorGeneratorMojo
5050
/**
5151
* The directory where the generated <code>plugin.xml</code> file will be put.
5252
*/
53-
@Parameter( defaultValue = "${project.build.outputDirectory}/META-INF/maven" )
53+
@Parameter( defaultValue = "${project.build.outputDirectory}/META-INF/maven", readonly = true )
5454
protected File outputDirectory;
5555

5656
/**

maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java

+6-19
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import org.apache.maven.tools.plugin.ExtendedMojoDescriptor;
4242
import org.apache.maven.tools.plugin.PluginToolsRequest;
4343
import org.apache.maven.tools.plugin.util.PluginUtils;
44-
import org.codehaus.plexus.util.IOUtil;
4544
import org.codehaus.plexus.util.StringUtils;
4645
import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
4746
import org.codehaus.plexus.util.xml.XMLWriter;
@@ -62,9 +61,7 @@ public PluginDescriptorGenerator( Log log )
6261
this.log = log;
6362
}
6463

65-
/**
66-
* {@inheritDoc}
67-
*/
64+
@Override
6865
public void execute( File destinationDirectory, PluginToolsRequest request )
6966
throws GeneratorException
7067
{
@@ -80,7 +77,7 @@ public void execute( File destinationDirectory, PluginToolsRequest request )
8077
// write plugin-help.xml help-descriptor
8178
MavenProject mavenProject = request.getProject();
8279

83-
f = new File( mavenProject.getBuild().getOutputDirectory(),
80+
f = new File( destinationDirectory,
8481
PluginHelpGenerator.getPluginHelpPath( mavenProject ) );
8582

8683
writeDescriptor( f, request, true );
@@ -111,19 +108,13 @@ public void writeDescriptor( File destinationFile, PluginToolsRequest request, b
111108
{
112109
destinationFile.delete();
113110
}
114-
else
111+
else if ( !destinationFile.getParentFile().exists() )
115112
{
116-
if ( !destinationFile.getParentFile().exists() )
117-
{
118-
destinationFile.getParentFile().mkdirs();
119-
}
113+
destinationFile.getParentFile().mkdirs();
120114
}
121115

122-
Writer writer = null;
123-
try
116+
try ( Writer writer = new OutputStreamWriter( new FileOutputStream( destinationFile ), UTF_8 ) )
124117
{
125-
writer = new OutputStreamWriter( new FileOutputStream( destinationFile ), UTF_8 );
126-
127118
XMLWriter w = new PrettyPrintXMLWriter( writer, UTF_8.name(), null );
128119

129120
w.writeMarkup( "\n<!-- Generated by maven-plugin-tools " + getVersion() + " -->\n\n" );
@@ -154,7 +145,7 @@ public void writeDescriptor( File destinationFile, PluginToolsRequest request, b
154145

155146
if ( pluginDescriptor.getMojos() != null )
156147
{
157-
@SuppressWarnings( "unchecked" ) List<MojoDescriptor> descriptors = pluginDescriptor.getMojos();
148+
List<MojoDescriptor> descriptors = pluginDescriptor.getMojos();
158149

159150
PluginUtils.sortMojos( descriptors );
160151

@@ -176,10 +167,6 @@ public void writeDescriptor( File destinationFile, PluginToolsRequest request, b
176167
writer.flush();
177168

178169
}
179-
finally
180-
{
181-
IOUtil.close( writer );
182-
}
183170
}
184171

185172
protected void processMojoDescriptor( MojoDescriptor mojoDescriptor, XMLWriter w )

maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginHelpGenerator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ else if ( !tmpPropertiesFile.getParentFile().exists() )
267267

268268
static String getPluginHelpPath( MavenProject mavenProject )
269269
{
270-
return "META-INF/maven/" + mavenProject.getGroupId() + "/" + mavenProject.getArtifactId() + "/plugin-help.xml";
270+
return mavenProject.getGroupId() + "/" + mavenProject.getArtifactId() + "/plugin-help.xml";
271271
}
272272

273273
/**

maven-plugin-tools-generators/src/main/resources/help-class-source.vm

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,9 @@ public class HelpMojo
103103
#end
104104
private int indentSize;
105105

106-
// groupId/artifactId/plugin-help.xml
106+
// /META-INF/maven/<groupId>/<artifactId>/plugin-help.xml
107107
private static final String PLUGIN_HELP_PATH =
108-
"/${pluginHelpPath}";
108+
"/META-INF/maven/${pluginHelpPath}";
109109

110110
private static final int DEFAULT_LINE_LENGTH = 80;
111111

0 commit comments

Comments
 (0)