From 41233152e19b9cf01bc3ac5a072ce36d5e911656 Mon Sep 17 00:00:00 2001 From: Rob Spoor Date: Sun, 12 Feb 2023 14:54:04 +0100 Subject: [PATCH] [MJAVADOC-700] Plugin duplicates classes in Java 8 all-classes lists Replaced an occurrence of File#separatorChar that causes classes to be listed twice in Java 8 on Windows. This closes #180 --- .../apache/maven/plugins/javadoc/AbstractJavadocMojo.java | 2 +- .../apache/maven/plugins/javadoc/JavadocReportTest.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java index 4a9bb04d9..546f2b752 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java @@ -4550,7 +4550,7 @@ private List getFilesWithUnnamedPackages( Map> continue; } - if ( currentFile.indexOf( File.separatorChar ) == -1 ) + if ( currentFile.indexOf( '/' ) == -1 ) { returnList.add( currentSourcePath.resolve( currentFile ).toAbsolutePath().toString() ); } diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java index a0b671266..cd9af54e7 100644 --- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java +++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java @@ -306,8 +306,12 @@ public void testDefaultConfiguration() if ( JavaVersion.JAVA_SPECIFICATION_VERSION.isBefore( "11" ) ) { assertThat( apidocs.resolve( "def/configuration/package-frame.html" )).exists(); - assertThat( apidocs.resolve( "allclasses-frame.html" )).exists(); - assertThat( apidocs.resolve( "allclasses-noframe.html" )).exists(); + assertThat( apidocs.resolve( "allclasses-frame.html" )).exists() + .content().containsOnlyOnce("def/configuration/App.html") + .containsOnlyOnce("def/configuration/AppSample.html"); + assertThat( apidocs.resolve( "allclasses-noframe.html" )).exists() + .content().containsOnlyOnce("def/configuration/App.html") + .containsOnlyOnce("def/configuration/AppSample.html"); } // class level generated javadoc files