This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch doxia-2.0.0 in repository https://gitbox.apache.org/repos/asf/maven-jxr.git
commit 4534671765af122d7ee223e9860c9e2126d88e30 Author: Michael Osipov <micha...@apache.org> AuthorDate: Sun Oct 22 23:17:47 2023 +0200 Clean up output directory management @kriegaex --- .../src/it/JXR-100_parameterlink/verify.groovy | 6 ++- .../apache/maven/plugin/jxr/AbstractJxrReport.java | 47 +++++++++++----------- .../org/apache/maven/plugin/jxr/JxrReport.java | 20 +-------- .../org/apache/maven/plugin/jxr/JxrTestReport.java | 20 +-------- .../aggregate-test-plugin-config.xml | 1 - .../default-configuration-plugin-config-4.xml | 1 - .../default-configuration-plugin-config-6.xml | 1 - .../default-configuration-plugin-config-7.xml | 1 - .../default-configuration-plugin-config-8.xml | 1 - .../default-configuration-plugin-config.xml | 1 - .../exception-test-plugin-config.xml | 1 - .../exclude-configuration-plugin-config.xml | 1 - .../include-configuration-plugin-config.xml | 1 - .../nojavadocdir-test-plugin-config.xml | 1 - .../nojavadoclink-configuration-plugin-config.xml | 1 - .../testsourcedir-test-plugin-config.xml | 1 - 16 files changed, 32 insertions(+), 73 deletions(-) diff --git a/maven-jxr-plugin/src/it/JXR-100_parameterlink/verify.groovy b/maven-jxr-plugin/src/it/JXR-100_parameterlink/verify.groovy index e959133..da990b9 100644 --- a/maven-jxr-plugin/src/it/JXR-100_parameterlink/verify.groovy +++ b/maven-jxr-plugin/src/it/JXR-100_parameterlink/verify.groovy @@ -16,6 +16,8 @@ * specific language governing permissions and limitations * under the License. */ -assert new File( basedir, 'target/site/xref/com/mycompany/app/Foo.html' ).exists() +File file = new File( basedir, 'target/site/xref/com/mycompany/app/Foo.html' ); -assert 4 == new File( basedir, '/target/site/xref/com/mycompany/app/Foo.html' ).text.count( '<a name="App" href="../../../com/mycompany/app/App.html#App">App</a>' ) +assert file.exists() + +assert 4 == file.text.count( '<a name="App" href="../../../com/mycompany/app/App.html#App">App</a>' ) diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java index cef5bb6..c4e395a 100644 --- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java +++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java @@ -194,23 +194,23 @@ public abstract class AbstractJxrReport extends AbstractMavenReport { } /** - * Creates the Xref for the Java files found in the given source directory and puts them in the given destination + * Creates the Xref for the Java files found in the given source directory and puts them in the given output * directory. * * @param locale The user locale to use for the Xref generation - * @param destinationDirectory The output directory + * @param outputDirectory The output directory * @param sourceDirs The source directories * @throws java.io.IOException * @throws org.apache.maven.jxr.JxrException */ - private void createXref(Locale locale, String destinationDirectory, List<String> sourceDirs) + private void createXref(Locale locale, String outputDirectory, List<String> sourceDirs) throws IOException, JxrException { FileManager fileManager = new FileManager(); PackageManager packageManager = new PackageManager(fileManager); JavaCodeTransform codeTransform = new JavaCodeTransform(packageManager, fileManager); JXR jxr = new JXR(packageManager, codeTransform); - jxr.setDest(Paths.get(destinationDirectory)); + jxr.setDest(Paths.get(outputDirectory)); jxr.setInputEncoding(getInputEncoding()); jxr.setLocale(locale); jxr.setOutputEncoding(getOutputEncoding()); @@ -234,7 +234,7 @@ public abstract class AbstractJxrReport extends AbstractMavenReport { } // and finally copy the stylesheet - copyRequiredResources(destinationDirectory); + copyRequiredResources(outputDirectory); } /** @@ -285,28 +285,28 @@ public abstract class AbstractJxrReport extends AbstractMavenReport { } /** - * Copy some required resources (like the stylesheet) to the given directory + * Copy some required resources (like the stylesheet) to the given target directory * - * @param dir the directory to copy the resources to + * @param targetDirectory the directory to copy the resources to */ - private void copyRequiredResources(String dir) { + private void copyRequiredResources(String targetDirectory) { if (stylesheet != null && !stylesheet.isEmpty()) { File stylesheetFile = new File(stylesheet); - File destStylesheetFile = new File(dir, "stylesheet.css"); + File targetStylesheetFile = new File(targetDirectory, "stylesheet.css"); try { if (stylesheetFile.isAbsolute()) { - FileUtils.copyFile(stylesheetFile, destStylesheetFile); + FileUtils.copyFile(stylesheetFile, targetStylesheetFile); } else { URL stylesheetUrl = this.getClass().getClassLoader().getResource(stylesheet); - FileUtils.copyURLToFile(stylesheetUrl, destStylesheetFile); + FileUtils.copyURLToFile(stylesheetUrl, targetStylesheetFile); } } catch (IOException e) { getLog().warn("An error occured while copying the stylesheet to the target directory", e); } } else { if (javadocTemplatesVersion.isAtLeast("1.8")) { - copyResources(dir, "jdk8/", "stylesheet.css"); + copyResources(targetDirectory, "jdk8/", "stylesheet.css"); } else if (javadocTemplatesVersion.isAtLeast("1.7")) { String[] jdk7Resources = { "stylesheet.css", @@ -315,14 +315,14 @@ public abstract class AbstractJxrReport extends AbstractMavenReport { "resources/titlebar.gif", "resources/titlebar_end.gif" }; - copyResources(dir, "jdk7/", jdk7Resources); + copyResources(targetDirectory, "jdk7/", jdk7Resources); } else if (javadocTemplatesVersion.isAtLeast("1.6")) { - copyResources(dir, "jdk6/", "stylesheet.css"); + copyResources(targetDirectory, "jdk6/", "stylesheet.css"); } else if (javadocTemplatesVersion.isAtLeast("1.4")) { - copyResources(dir, "jdk4/", "stylesheet.css"); + copyResources(targetDirectory, "jdk4/", "stylesheet.css"); } else { // Fallback to the original stylesheet - copyResources(dir, "", "stylesheet.css"); + copyResources(targetDirectory, "", "stylesheet.css"); } } } @@ -330,16 +330,16 @@ public abstract class AbstractJxrReport extends AbstractMavenReport { /** * Copy styles and related resources to the given directory * - * @param dir the directory to copy the resources to + * @param targetDirectory the target directory to copy the resources to * @param sourceDirectory resources subdirectory to copy from * @param files names of files to copy */ - private void copyResources(String dir, String sourceDirectory, String... files) { + private void copyResources(String targetDirectory, String sourceDirectory, String... files) { try { for (String file : files) { URL resourceUrl = this.getClass().getClassLoader().getResource(sourceDirectory + file); - File destResourceFile = new File(dir, file); - FileUtils.copyURLToFile(resourceUrl, destResourceFile); + File targetResourceFile = new File(targetDirectory, file); + FileUtils.copyURLToFile(resourceUrl, targetResourceFile); } } catch (IOException e) { getLog().warn("An error occured while copying the resource to the target directory", e); @@ -402,7 +402,7 @@ public abstract class AbstractJxrReport extends AbstractMavenReport { setJavadocTemplatesVersion(); try { - createXref(locale, getDestinationDirectory(), sourceDirs); + createXref(locale, getPluginReportOutputDirectory(), sourceDirs); } catch (JxrException | IOException e) { throw new MavenReportException("Error while generating the HTML source code of the project.", e); } @@ -532,11 +532,12 @@ public abstract class AbstractJxrReport extends AbstractMavenReport { } /** - * Abstract method that returns the target directory where the generated JXR reports will be put. + * Abstract method that returns the plugin report output directory where the generated JXR reports will be put + * beneath {@link #getReportOutputDirectory()}. * * @return a String that contains the target directory name */ - protected abstract String getDestinationDirectory(); + protected abstract String getPluginReportOutputDirectory(); /** * Abstract method that returns the specified source directories that will be included in the JXR report generation. diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java index 725e14d..b890aa9 100644 --- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java +++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReport.java @@ -52,12 +52,6 @@ public class JxrReport extends AbstractJxrReport { @Parameter private String sourcePath; - /** - * Directory where the Xref files will be copied to. - */ - @Parameter(defaultValue = "${project.reporting.outputDirectory}/xref") - private String destDir; - /** * Directory where Javadoc is generated for this project. */ @@ -65,8 +59,8 @@ public class JxrReport extends AbstractJxrReport { private File javadocDir; @Override - protected String getDestinationDirectory() { - return destDir; + protected String getPluginReportOutputDirectory() { + return getReportOutputDirectory().getAbsolutePath() + "/xref"; } @Override @@ -129,14 +123,4 @@ public class JxrReport extends AbstractJxrReport { protected File getJavadocDir() { return javadocDir; } - - @Override - public void setReportOutputDirectory(File reportOutputDirectory) { - if ((reportOutputDirectory != null) - && (!reportOutputDirectory.getAbsolutePath().endsWith("xref"))) { - this.destDir = new File(reportOutputDirectory, "xref").getAbsolutePath(); - } else { - this.destDir = reportOutputDirectory.getAbsolutePath(); - } - } } diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java index c7f43bb..cdcbbdf 100644 --- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java +++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java @@ -45,12 +45,6 @@ public class JxrTestReport extends AbstractJxrReport { @Parameter(defaultValue = "${project.testCompileSourceRoots}", required = true, readonly = true) private List<String> sourceDirs; - /** - * Directory where the Xref files will be copied to. - */ - @Parameter(defaultValue = "${project.reporting.outputDirectory}/xref-test") - private String destDir; - /** * Directory where Test Javadoc is generated for this project. */ @@ -88,8 +82,8 @@ public class JxrTestReport extends AbstractJxrReport { } @Override - protected String getDestinationDirectory() { - return destDir; + protected String getPluginReportOutputDirectory() { + return getReportOutputDirectory().getAbsolutePath() + "/xref-test"; } @Override @@ -111,14 +105,4 @@ public class JxrTestReport extends AbstractJxrReport { protected File getJavadocDir() { return testJavadocDir; } - - @Override - public void setReportOutputDirectory(File reportOutputDirectory) { - if ((reportOutputDirectory != null) - && (!reportOutputDirectory.getAbsolutePath().endsWith("xref-test"))) { - this.destDir = new File(reportOutputDirectory, "xref-test").getAbsolutePath(); - } else { - this.destDir = reportOutputDirectory.getAbsolutePath(); - } - } } diff --git a/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml index 347cf60..73c0ab4 100644 --- a/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/aggregate-test/aggregate-test-plugin-config.xml @@ -41,7 +41,6 @@ under the License. <value>${basedir}/src/test/resources/unit/aggregate-test/submodule1</value> <value>${basedir}/src/test/resources/unit/aggregate-test/submodule2</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/aggregate-test/target/site/xref</destDir> <javadocDir>${basedir}/target/test/unit/aggregate-test/target/site/apidocs</javadocDir> <linkJavadoc>false</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml index 124f7aa..410f864 100644 --- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml +++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-4.xml @@ -39,7 +39,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/default-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/default-configuration/target/site/4/xref</destDir> <javadocDir>${basedir}/target/test/unit/default-configuration/target/site/4/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml index 5f0edb2..5d0184d 100644 --- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml +++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-6.xml @@ -39,7 +39,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/default-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/default-configuration/target/site/6/xref</destDir> <javadocDir>${basedir}/target/test/unit/default-configuration/target/site/6/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml index db16d9d..8620129 100644 --- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml +++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-7.xml @@ -39,7 +39,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/default-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/default-configuration/target/site/7/xref</destDir> <javadocDir>${basedir}/target/test/unit/default-configuration/target/site/7/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml index 8be96ac..486776a 100644 --- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml +++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config-8.xml @@ -39,7 +39,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/default-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/default-configuration/target/site/8/xref</destDir> <javadocDir>${basedir}/target/test/unit/default-configuration/target/site/8/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml index 6841a75..a457dce 100644 --- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml @@ -39,7 +39,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/default-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/default-configuration/target/site/xref</destDir> <javadocDir>${basedir}/target/test/unit/default-configuration/target/site/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml index 1ac1e93..06039de 100644 --- a/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/default-configuration/exception-test-plugin-config.xml @@ -40,7 +40,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/default-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/default-configuration/target/site/xref</destDir> <javadocDir>${basedir}/target/test/unit/default-configuration/target/site/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml index cc61d9f..ff9bef7 100644 --- a/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/exclude-configuration/exclude-configuration-plugin-config.xml @@ -40,7 +40,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/exclude-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/exclude-configuration/target/site/xref</destDir> <javadocDir>${basedir}/target/test/unit/exclude-configuration/target/site/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml index 580c19c..2cda959 100644 --- a/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/include-configuration/include-configuration-plugin-config.xml @@ -40,7 +40,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/include-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/include-configuration/target/site/xref</destDir> <javadocDir>${basedir}/target/test/unit/include-configuration/target/site/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml index 351f7aa..fed568a 100644 --- a/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/nojavadocdir-test/nojavadocdir-test-plugin-config.xml @@ -40,7 +40,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/nojavadocdir-test</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/nojavadocdir-test/target/site/xref</destDir> <javadocDir>${basedir}/target/test/unit/nojavadocdir-test/target/site/apidocs</javadocDir> <linkJavadoc>true</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml index 6fae9b8..b66627d 100644 --- a/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/nojavadoclink-configuration/nojavadoclink-configuration-plugin-config.xml @@ -40,7 +40,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/nojavadoclink-configuration</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/nojavadoclink-configuration/target/site/xref</destDir> <javadocDir>${basedir}/target/test/unit/nojavadoclink-configuration/target/site/apidocs</javadocDir> <linkJavadoc>false</linkJavadoc> <bottom>Copyright 2006 Apache Foundation</bottom> diff --git a/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml b/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml index 6f08c17..7583499 100644 --- a/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml +++ b/maven-jxr-plugin/src/test/resources/unit/testsourcedir-test/testsourcedir-test-plugin-config.xml @@ -40,7 +40,6 @@ under the License. <sourceDirs> <value>${basedir}/src/test/resources/unit/testsourcedir-test/src/test/java</value> </sourceDirs> - <destDir>${basedir}/target/test/unit/testsourcedir-test/target/site/xref-test</destDir> <bottom>Copyright 2006 Apache Foundation</bottom> <javadocVersion>1.4</javadocVersion> <stylesheet>stylesheet.css</stylesheet>