diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java index fb3fb75c0..4b4acecc3 100644 --- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java +++ b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java @@ -29,6 +29,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.*; +import java.util.ArrayList; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -196,7 +197,7 @@ public class DescriptorGeneratorMojo extends AbstractGeneratorMojo { * @since 3.5 */ @Parameter - private List mojoDependencies = null; + private final List mojoDependencies = new ArrayList<>(); /** * Creates links to existing external javadoc-generated documentation. @@ -372,7 +373,12 @@ public void generate() throws MojoExecutionException { mojoScanner.populatePluginDescriptor(request); request.setPluginDescriptor(extendPluginDescriptor(request)); - outputDirectory.mkdirs(); + if (!outputDirectory.exists()) { + if (!outputDirectory.mkdirs()) { + throw new MojoExecutionException( + "Could not create output directory: " + outputDirectory.getAbsolutePath()); + } + } PluginDescriptorFilesGenerator pluginDescriptorGenerator = new PluginDescriptorFilesGenerator(); pluginDescriptorGenerator.execute(outputDirectory, request); @@ -459,7 +465,7 @@ public AnnotationVisitor visitAnnotation(String descriptor, boolean visible) { w.write(content); } } - } catch (Exception e) { + } catch (IOException e) { throw new GeneratorException("Unable to generate index for v4 beans", e); } }