You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2018/12/27 16:55:43 UTC

[maven-javadoc-plugin] branch refactor created (now eb22f8c)

This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a change to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git.


      at eb22f8c  Use File.separators instead of realigning the separators.

This branch includes the following new commits:

     new f32817b  Map files to their sourcepath
     new 80d70da  Move quoting to end
     new 4b069bc  Remove contains-check, it is a subfolder by definition
     new 08c8dcb  Inline getPackageNamesOrFilesWithUnnamedPackages()
     new adf8a58  Start switching from String to Path
     new 24edade  Move from String to Path
     new f327ab2  Keep subfolders where possible Fix unittests (using actual compileSourceRoot)
     new eb22f8c  Use File.separators instead of realigning the separators.

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-javadoc-plugin] 07/08: Keep subfolders where possible Fix unittests (using actual compileSourceRoot)

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit f327ab2f28f996e7419766a5bb0f09a6cf75ad9a
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Dec 27 16:40:27 2018 +0100

    Keep subfolders where possible
    Fix unittests (using actual compileSourceRoot)
---
 .../apache/maven/plugins/javadoc/AbstractJavadocMojo.java   | 13 ++++++++-----
 .../java/org/apache/maven/plugins/javadoc/JavadocUtil.java  |  2 +-
 .../org/apache/maven/plugins/javadoc/JavadocReportTest.java | 10 +++++-----
 .../stubs/AggregateProject1TestMavenProjectStub.java        |  2 +-
 .../stubs/AggregateProject2TestMavenProjectStub.java        |  2 +-
 .../javadoc/stubs/DefaultConfigurationMavenProjectStub.java |  2 +-
 .../plugins/javadoc/stubs/DocfilesTestMavenProjectStub.java |  2 +-
 .../javadoc/stubs/JavadocJarArchiveConfigProjectStub.java   |  2 +-
 .../javadoc/stubs/JavadocJarDefaultMavenProjectStub.java    |  2 +-
 .../stubs/JavadocJarFailOnErrorMavenProjectStub.java        |  2 +-
 .../stubs/JavadocJarInvalidDestdirMavenProjectStub.java     |  3 +--
 .../stubs/OptionsUmlautEncodingMavenProjectStub.java        |  2 +-
 .../plugins/javadoc/stubs/QuotedPathMavenProjectStub.java   |  2 +-
 .../javadoc/stubs/SubpackagesTestMavenProjectStub.java      |  2 +-
 .../plugins/javadoc/stubs/TagletTestMavenProjectStub.java   |  2 +-
 15 files changed, 26 insertions(+), 24 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 f0414f9..19e0b58 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -2138,9 +2138,12 @@ public abstract class AbstractJavadocMojo
             // ----------------------------------------------------------------------
             
             List<String> allFiles = new ArrayList<>();
-            for ( Collection<String> filesValues : files.values() )
+            for ( Map.Entry<Path, Collection<String>> filesEntry : files.entrySet() )
             {
-                allFiles.addAll( filesValues );
+                for ( String file : filesEntry.getValue() )
+                {
+                    allFiles.add( filesEntry.getKey().resolve( file ).toString() );
+                }
             }
 
             if ( !files.isEmpty() )
@@ -4372,7 +4375,7 @@ public abstract class AbstractJavadocMojo
                     currentSourcePath += "/";
                 }
         
-                String packagename = currentFile.substring( currentSourcePath.length() );
+                String packagename = currentFile;
         
                 /*
                  * Remove the miscellaneous files
@@ -4464,7 +4467,7 @@ public abstract class AbstractJavadocMojo
                     {
                         currentSourcePath += "/";
                     }
-                    String packagename = currentFile.substring( currentSourcePath.length() );
+                    String packagename = currentSourcePath;
 
                     /*
                      * Remove the miscellaneous files
@@ -4519,7 +4522,7 @@ public abstract class AbstractJavadocMojo
                     currentSourcePath += "/";
                 }
         
-                String packagename = currentFile.substring( currentSourcePath.length() );
+                String packagename = currentSourcePath;
         
                 /*
                  * Remove the miscellaneous files
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
index 31c39b5..f56da63 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
@@ -468,7 +468,7 @@ public class JavadocUtil
         {
             for ( String includedFile : getIncludedFiles( sourceDirectory, fileList, excludePackages ) )
             {
-                files.add( new File( sourceDirectory, includedFile ).getAbsolutePath() );
+                files.add( includedFile );
             }
         }
 
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 46358ab..0afc13e 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocReportTest.java
@@ -345,11 +345,11 @@ public class JavadocReportTest
         File apidocs = new File( getBasedir(), "target/test/unit/docfiles-test/target/site/apidocs/" );
 
         // check if the doc-files subdirectories were copied
-        assertTrue( new File( apidocs, "doc-files" ).exists() );
-        assertTrue( new File( apidocs, "doc-files/included-dir1/sample-included1.gif" ).exists() );
-        assertTrue( new File( apidocs, "doc-files/included-dir2/sample-included2.gif" ).exists() );
-        assertFalse( new File( apidocs, "doc-files/excluded-dir1" ).exists() );
-        assertFalse( new File( apidocs, "doc-files/excluded-dir2" ).exists() );
+        assertTrue( new File( apidocs, "docfiles/test/doc-files" ).exists() );
+        assertTrue( new File( apidocs, "docfiles/test/doc-files/included-dir1/sample-included1.gif" ).exists() );
+        assertTrue( new File( apidocs, "docfiles/test/doc-files/included-dir2/sample-included2.gif" ).exists() );
+        assertFalse( new File( apidocs, "docfiles/test/doc-files/excluded-dir1" ).exists() );
+        assertFalse( new File( apidocs, "docfiles/test/doc-files/excluded-dir2" ).exists() );
 
         testPom = new File( unit, "docfiles-with-java-test/docfiles-with-java-test-plugin-config.xml" );
         mojo = lookupMojo( testPom );
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject1TestMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject1TestMavenProjectStub.java
index 9ac1241..8f7263b 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject1TestMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject1TestMavenProjectStub.java
@@ -54,7 +54,7 @@ public class AggregateProject1TestMavenProjectStub
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( basedir + "/aggregate/test/project1" );
+        compileSourceRoots.add( basedir );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject2TestMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject2TestMavenProjectStub.java
index 045bf3d..5b51e76 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject2TestMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/AggregateProject2TestMavenProjectStub.java
@@ -54,7 +54,7 @@ public class AggregateProject2TestMavenProjectStub
 
         String basedir = getBasedir().getAbsolutePath();
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( basedir + "/aggregate/test/project2" );
+        compileSourceRoots.add( basedir );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/DefaultConfigurationMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/DefaultConfigurationMavenProjectStub.java
index bbe7ad0..9db73d6 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/DefaultConfigurationMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/DefaultConfigurationMavenProjectStub.java
@@ -57,7 +57,7 @@ public class DefaultConfigurationMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/def/configuration" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/DocfilesTestMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/DocfilesTestMavenProjectStub.java
index 86c15ac..52018c5 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/DocfilesTestMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/DocfilesTestMavenProjectStub.java
@@ -58,7 +58,7 @@ public class DocfilesTestMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/docfiles/test" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarArchiveConfigProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarArchiveConfigProjectStub.java
index 398c25a..95f1928 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarArchiveConfigProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarArchiveConfigProjectStub.java
@@ -66,7 +66,7 @@ public class JavadocJarArchiveConfigProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/javadocjar/def" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarDefaultMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarDefaultMavenProjectStub.java
index d60ba81..4a5fd46 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarDefaultMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarDefaultMavenProjectStub.java
@@ -64,7 +64,7 @@ public class JavadocJarDefaultMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/javadocjar/def" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarFailOnErrorMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarFailOnErrorMavenProjectStub.java
index ff0f6cd..8eba1ec 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarFailOnErrorMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarFailOnErrorMavenProjectStub.java
@@ -64,7 +64,7 @@ public class JavadocJarFailOnErrorMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/javadocjar/def" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarInvalidDestdirMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarInvalidDestdirMavenProjectStub.java
index 59e9bd9..28b8a18 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarInvalidDestdirMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/JavadocJarInvalidDestdirMavenProjectStub.java
@@ -63,8 +63,7 @@ public class JavadocJarInvalidDestdirMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add(
-            getBasedir() + "/javadocjar/invalid/destdir" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/OptionsUmlautEncodingMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/OptionsUmlautEncodingMavenProjectStub.java
index a38d7ce..f1db35c 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/OptionsUmlautEncodingMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/OptionsUmlautEncodingMavenProjectStub.java
@@ -53,7 +53,7 @@ public class OptionsUmlautEncodingMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/optionsumlautencoding/test" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/QuotedPathMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/QuotedPathMavenProjectStub.java
index a3c0b6e..097fbfc 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/QuotedPathMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/QuotedPathMavenProjectStub.java
@@ -57,7 +57,7 @@ public class QuotedPathMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/quotedpath/test" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/SubpackagesTestMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/SubpackagesTestMavenProjectStub.java
index 5213f93..1e26185 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/SubpackagesTestMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/SubpackagesTestMavenProjectStub.java
@@ -57,7 +57,7 @@ public class SubpackagesTestMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/subpackages/test" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/stubs/TagletTestMavenProjectStub.java b/src/test/java/org/apache/maven/plugins/javadoc/stubs/TagletTestMavenProjectStub.java
index d1c4c35..919bc8b 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/stubs/TagletTestMavenProjectStub.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/stubs/TagletTestMavenProjectStub.java
@@ -57,7 +57,7 @@ public class TagletTestMavenProjectStub
         setBuild( build );
 
         List<String> compileSourceRoots = new ArrayList<>();
-        compileSourceRoots.add( getBasedir() + "/taglet/test" );
+        compileSourceRoots.add( getBasedir().getAbsolutePath() );
         setCompileSourceRoots( compileSourceRoots );
     }
 


[maven-javadoc-plugin] 02/08: Move quoting to end

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit 80d70da85394bedd8cb64d54d2bf449ff1fcfd8e
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Dec 27 10:09:12 2018 +0100

    Move quoting to end
---
 .../org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java  | 10 ++++++++--
 .../java/org/apache/maven/plugins/javadoc/JavadocUtil.java     |  2 +-
 2 files changed, 9 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 d76d9b2..811af85 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -4500,7 +4500,7 @@ public abstract class AbstractJavadocMojo
 
                 if ( currentFile.contains( currentSourcePath ) )
                 {
-                    String packagename = currentFile.substring( currentSourcePath.length() + 1 );
+                    String packagename = currentFile.substring( currentSourcePath.length() );
 
                     /*
                      * Remove the miscellaneous files
@@ -4605,10 +4605,16 @@ public abstract class AbstractJavadocMojo
             cmd.createArg().setValue( "@" + FILES_FILE_NAME );
         }
 
+        List<String> quotedFiles = new ArrayList<>( files.size() );
+        for ( String file : files )
+        {
+            quotedFiles.add( JavadocUtil.quotedPathArgument( file ) );
+        }
+        
         try
         {
             FileUtils.fileWrite( argfileFile.getAbsolutePath(), null /* platform encoding */,
-                                 StringUtils.join( files.iterator(), SystemUtils.LINE_SEPARATOR ) );
+                                 StringUtils.join( quotedFiles.iterator(), SystemUtils.LINE_SEPARATOR ) );
         }
         catch ( IOException e )
         {
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
index 2e24e06..d57a5b0 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
@@ -470,7 +470,7 @@ public class JavadocUtil
         {
             for ( String includedFile : getIncludedFiles( sourceDirectory, fileList, excludePackages ) )
             {
-                files.add( quotedPathArgument( new File( sourceDirectory, includedFile ).getAbsolutePath() ) );
+                files.add( new File( sourceDirectory, includedFile ).getAbsolutePath() );
             }
         }
 


[maven-javadoc-plugin] 01/08: Map files to their sourcepath

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit f32817bc403311eb3c8356802c93c64bd686c354
Author: rfscholte <rf...@apache.org>
AuthorDate: Wed Dec 26 13:35:34 2018 +0100

    Map files to their sourcepath
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 64 +++++++++++++---------
 .../maven/plugins/javadoc/JavadocReport.java       |  4 +-
 2 files changed, 39 insertions(+), 29 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 e7c8bbc..d76d9b2 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -127,6 +127,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.Set;
 import java.util.StringTokenizer;
@@ -1992,7 +1993,7 @@ public abstract class AbstractJavadocMojo
         
         Collection<String> collectedSourcePaths = collect( sourcePaths.values() );
         
-        List<String> files = getFiles( collectedSourcePaths );
+        Map<String, Collection<String>> files = getFiles( collectedSourcePaths );
         if ( !canGenerateReport( files ) )
         {
             return;
@@ -2020,9 +2021,9 @@ public abstract class AbstractJavadocMojo
         }
         else
         {
-            packageNames = getPackageNames( collectedSourcePaths, files );
+            packageNames = getPackageNames( files );
         }
-        List<String> filesWithUnnamedPackages = getFilesWithUnnamedPackages( collectedSourcePaths, files );
+        List<String> filesWithUnnamedPackages = getFilesWithUnnamedPackages( files );
 
         // ----------------------------------------------------------------------
         // Javadoc output directory as File
@@ -2135,10 +2136,16 @@ public abstract class AbstractJavadocMojo
             // ----------------------------------------------------------------------
             // Write argfile file and include it in the command line
             // ----------------------------------------------------------------------
+            
+            List<String> allFiles = new ArrayList<>();
+            for ( Collection<String> filesValues : files.values() )
+            {
+                allFiles.addAll( filesValues );
+            }
 
             if ( !files.isEmpty() )
             {
-                addCommandLineArgFile( cmd, javadocOutputDirectory, files );
+                addCommandLineArgFile( cmd, javadocOutputDirectory, allFiles );
             }
         }
 
@@ -2216,23 +2223,25 @@ public abstract class AbstractJavadocMojo
      * @return a List that contains the specific path for every source file
      * @throws MavenReportException {@link MavenReportException}
      */
-    protected List<String> getFiles( Collection<String> sourcePaths )
+    protected Map<String, Collection<String>> getFiles( Collection<String> sourcePaths )
         throws MavenReportException
     {
-        List<String> files = new ArrayList<>();
+        Map<String, Collection<String>> mappedFiles = new LinkedHashMap<>( sourcePaths.size() );
         if ( StringUtils.isEmpty( subpackages ) )
         {
             Collection<String> excludedPackages = getExcludedPackages();
             
             for ( String sourcePath : sourcePaths )
             {
+                List<String> files = new ArrayList<>();
                 File sourceDirectory = new File( sourcePath );
                 files.addAll( JavadocUtil.getFilesFromSource( sourceDirectory, sourceFileIncludes, sourceFileExcludes,
                                                               excludedPackages ) );
+                mappedFiles.put( sourcePath, files );
             }
         }
 
-        return files;
+        return mappedFiles;
     }
 
     /**
@@ -2503,16 +2512,17 @@ public abstract class AbstractJavadocMojo
      * @param files the project files
      * @return a boolean that indicates whether javadoc report can be generated or not
      */
-    protected boolean canGenerateReport( List<String> files )
+    protected boolean canGenerateReport( Map<String, Collection<String>> files )
     {
-        boolean canGenerate = true;
-
-        if ( files.isEmpty() && StringUtils.isEmpty( subpackages ) )
+        for ( Collection<String> filesValues : files.values() )
         {
-            canGenerate = false;
+            if ( !filesValues.isEmpty() )
+            {
+                return true;
+            }
         }
 
-        return canGenerate;
+        return !StringUtils.isEmpty( subpackages );
     }
 
     // ----------------------------------------------------------------------
@@ -4346,9 +4356,9 @@ public abstract class AbstractJavadocMojo
      * @param files       not null
      * @return the list of package names for files in the sourcePaths
      */
-    private List<String> getPackageNames( Collection<String> sourcePaths, List<String> files )
+    private List<String> getPackageNames( Map<String, Collection<String>> sourcePaths )
     {
-        return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, files, true );
+        return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, true );
     }
 
     /**
@@ -4404,14 +4414,14 @@ public abstract class AbstractJavadocMojo
                 exportAllPackages = true;
             }
             
-            for ( String currentFile : getFiles( artifactSourcePaths ) )
+            for ( Map.Entry<String, Collection<String>> currentPathEntry : getFiles( artifactSourcePaths ).entrySet() )
             {
-                currentFile = currentFile.replace( '\\', '/' );
+                String currentSourcePath = currentPathEntry.getKey().replace( '\\', '/' );
 
-                for ( String currentSourcePath : artifactSourcePaths )
+                for ( String currentFile : currentPathEntry.getValue() )
                 {
-                    currentSourcePath = currentSourcePath.replace( '\\', '/' );
-
+                    currentFile = currentFile.replace( '\\', '/' );
+                    
                     if ( currentFile.contains( currentSourcePath ) )
                     {
                         if ( !currentSourcePath.endsWith( "/" ) )
@@ -4452,9 +4462,9 @@ public abstract class AbstractJavadocMojo
      * @param files       not null
      * @return a list files with unnamed package names for files in the sourcePaths
      */
-    private List<String> getFilesWithUnnamedPackages( Collection<String> sourcePaths, List<String> files )
+    private List<String> getFilesWithUnnamedPackages( Map<String, Collection<String>> sourcePaths )
     {
-        return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, files, false );
+        return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, false );
     }
 
     /**
@@ -4465,7 +4475,7 @@ public abstract class AbstractJavadocMojo
      * @see #getFiles
      * @see #getSourcePaths()
      */
-    private List<String> getPackageNamesOrFilesWithUnnamedPackages( Collection<String> sourcePaths, List<String> files,
+    private List<String> getPackageNamesOrFilesWithUnnamedPackages( Map<String, Collection<String>> sourcePaths,
                                                                     boolean onlyPackageName )
     {
         List<String> returnList = new ArrayList<>();
@@ -4475,13 +4485,13 @@ public abstract class AbstractJavadocMojo
             return returnList;
         }
 
-        for ( String currentFile : files )
+        for ( Entry<String, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
         {
-            currentFile = currentFile.replace( '\\', '/' );
+            String currentSourcePath = currentPathEntry.getKey().replace( '\\', '/' );
 
-            for ( String currentSourcePath : sourcePaths )
+            for ( String currentFile : currentPathEntry.getValue() )
             {
-                currentSourcePath = currentSourcePath.replace( '\\', '/' );
+                currentFile = currentFile.replace( '\\', '/' );
 
                 if ( !currentSourcePath.endsWith( "/" ) )
                 {
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
index bbc034f..e31cc40 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
@@ -21,8 +21,8 @@ package org.apache.maven.plugins.javadoc;
 
 import java.io.File;
 import java.util.Collection;
-import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 import java.util.ResourceBundle;
 
 import org.apache.maven.doxia.siterenderer.RenderingContext;
@@ -229,7 +229,7 @@ public class JavadocReport
         if ( this.isAggregator() || !"pom".equals( this.project.getPackaging() ) )
         {
             Collection<String> sourcePaths;
-            List<String> files;
+            Map<String, Collection<String>> files;
             try
             {
                 sourcePaths = collect( getSourcePaths().values() );


[maven-javadoc-plugin] 06/08: Move from String to Path

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit 24edaded33ebd5252151f6d5ba1963fef0388b0b
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Dec 27 13:50:52 2018 +0100

    Move from String to Path
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 82 +++++++++++-----------
 .../maven/plugins/javadoc/JavadocReport.java       |  2 +-
 .../apache/maven/plugins/javadoc/JavadocUtil.java  | 16 ++---
 .../plugins/javadoc/resolver/ResourceResolver.java | 21 +++---
 .../maven/plugins/javadoc/JavadocUtilTest.java     | 12 +++-
 5 files changed, 68 insertions(+), 65 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 2253375..f0414f9 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -1989,9 +1989,9 @@ public abstract class AbstractJavadocMojo
             throw new MavenReportException( "Failed to generate javadoc options file: " + e.getMessage(), e );
         }
 
-        Map<String, Collection<String>> sourcePaths = getSourcePaths();
+        Map<String, Collection<Path>> sourcePaths = getSourcePaths();
         
-        Collection<String> collectedSourcePaths = collect( sourcePaths.values() );
+        Collection<Path> collectedSourcePaths = collect( sourcePaths.values() );
         
         Map<Path, Collection<String>> files = getFiles( collectedSourcePaths );
         if ( !canGenerateReport( files ) )
@@ -2206,10 +2206,10 @@ public abstract class AbstractJavadocMojo
         }
     }
 
-    protected final Collection<String> collect( Collection<Collection<String>> sourcePaths )
+    protected final <T> Collection<T> collect( Collection<Collection<T>> sourcePaths )
     {
-        Collection<String> collectedSourcePaths = new LinkedHashSet<>();
-        for ( Collection<String> sp : sourcePaths )
+        Collection<T> collectedSourcePaths = new LinkedHashSet<>();
+        for ( Collection<T> sp : sourcePaths )
         {
             collectedSourcePaths.addAll( sp );
         }
@@ -2223,7 +2223,7 @@ public abstract class AbstractJavadocMojo
      * @return a List that contains the specific path for every source file
      * @throws MavenReportException {@link MavenReportException}
      */
-    protected Map<Path, Collection<String>> getFiles( Collection<String> sourcePaths )
+    protected Map<Path, Collection<String>> getFiles( Collection<Path> sourcePaths )
         throws MavenReportException
     {
         Map<Path, Collection<String>> mappedFiles = new LinkedHashMap<>( sourcePaths.size() );
@@ -2231,13 +2231,13 @@ public abstract class AbstractJavadocMojo
         {
             Collection<String> excludedPackages = getExcludedPackages();
             
-            for ( String sourcePath : sourcePaths )
+            for ( Path sourcePath : sourcePaths )
             {
                 List<String> files = new ArrayList<>();
-                File sourceDirectory = new File( sourcePath );
+                File sourceDirectory = sourcePath.toFile();
                 files.addAll( JavadocUtil.getFilesFromSource( sourceDirectory, sourceFileIncludes, sourceFileExcludes,
                                                               excludedPackages ) );
-                mappedFiles.put( Paths.get( sourcePath ), files );
+                mappedFiles.put( sourcePath, files );
             }
         }
 
@@ -2252,15 +2252,15 @@ public abstract class AbstractJavadocMojo
      * @throws MavenReportException {@link MavenReportException}
      * @see JavadocUtil#pruneDirs(MavenProject, Collection)
      */
-    protected Map<String, Collection<String>> getSourcePaths()
+    protected Map<String, Collection<Path>> getSourcePaths()
         throws MavenReportException
     {
-        Map<String, Collection<String>> mappedSourcePaths = new LinkedHashMap<>();
+        Map<String, Collection<Path>> mappedSourcePaths = new LinkedHashMap<>();
 
         if ( StringUtils.isEmpty( sourcepath ) )
         {
             
-            Set<String> sourcePaths =
+            Set<Path> sourcePaths =
                 new LinkedHashSet<>( JavadocUtil.pruneDirs( project, getProjectSourceRoots( project ) ) );
 
             if ( project.getExecutionProject() != null )
@@ -2278,7 +2278,7 @@ public abstract class AbstractJavadocMojo
                 File javadocDir = getJavadocDirectory();
                 if ( javadocDir.exists() && javadocDir.isDirectory() )
                 {
-                    Collection<String> l = JavadocUtil.pruneDirs( project, Collections.singletonList(
+                    Collection<Path> l = JavadocUtil.pruneDirs( project, Collections.singletonList(
                         getJavadocDirectory().getAbsolutePath() ) );
                     sourcePaths.addAll( l );
                 }
@@ -2297,7 +2297,7 @@ public abstract class AbstractJavadocMojo
                 {
                     if ( subProject != project )
                     {
-                        Collection<String> additionalSourcePaths = new ArrayList<>();
+                        Collection<Path> additionalSourcePaths = new ArrayList<>();
 
                         List<String> sourceRoots = getProjectSourceRoots( subProject );
 
@@ -2320,7 +2320,7 @@ public abstract class AbstractJavadocMojo
                             File javadocDir = new File( subProject.getBasedir(), javadocDirRelative );
                             if ( javadocDir.exists() && javadocDir.isDirectory() )
                             {
-                                Collection<String> l = JavadocUtil.pruneDirs( subProject, Collections.singletonList(
+                                Collection<Path> l = JavadocUtil.pruneDirs( subProject, Collections.singletonList(
                                         javadocDir.getAbsolutePath() ) );
                                 additionalSourcePaths.addAll( l );
                             }
@@ -2334,11 +2334,12 @@ public abstract class AbstractJavadocMojo
         }
         else
         {
-            Collection<String> sourcePaths = new ArrayList<>( Arrays.asList( JavadocUtil.splitPath( sourcepath ) ) );
-            sourcePaths = JavadocUtil.pruneDirs( project, sourcePaths );
+            Collection<Path> sourcePaths =
+                JavadocUtil.pruneDirs( project,
+                                       new ArrayList<>( Arrays.asList( JavadocUtil.splitPath( sourcepath ) ) ) );
             if ( getJavadocDirectory() != null )
             {
-                Collection<String> l = JavadocUtil.pruneDirs( project, Collections.singletonList(
+                Collection<Path> l = JavadocUtil.pruneDirs( project, Collections.singletonList(
                     getJavadocDirectory().getAbsolutePath() ) );
                 sourcePaths.addAll( l );
             }
@@ -2417,7 +2418,7 @@ public abstract class AbstractJavadocMojo
      * @return List of source paths.
      * @throws MavenReportException {@link MavenReportException}
      */
-    protected final Map<String, Collection<String>> getDependencySourcePaths()
+    protected final Map<String, Collection<Path>> getDependencySourcePaths()
         throws MavenReportException
     {
         try
@@ -2537,17 +2538,11 @@ public abstract class AbstractJavadocMojo
      * @return a String that contains the exclude argument that will be used by javadoc
      * @throws MavenReportException
      */
-    private String getExcludedPackages( Collection<String> sourceFolders )
+    private String getExcludedPackages( Collection<Path> sourcePaths )
         throws MavenReportException
     {
         List<String> excludedNames = null;
         
-        Collection<Path> sourcePaths = new ArrayList<>( sourceFolders.size() );
-        for ( String folder : sourceFolders )
-        {
-            sourcePaths.add( Paths.get( folder ) );
-        }
-
         if ( StringUtils.isNotEmpty( sourcepath ) && StringUtils.isNotEmpty( subpackages ) )
         {
             Collection<String> excludedPackages = getExcludedPackages();
@@ -2573,7 +2568,7 @@ public abstract class AbstractJavadocMojo
      *         string (colon (<code>:</code>) on Solaris or semi-colon (<code>;</code>) on Windows).
      * @see File#pathSeparator
      */
-    private String getSourcePath( Collection<String> sourcePaths )
+    private String getSourcePath( Collection<Path> sourcePaths )
     {
         String sourcePath = null;
 
@@ -3155,15 +3150,14 @@ public abstract class AbstractJavadocMojo
                 taglet.getTagletArtifact().getArtifactId() ) ) && ( StringUtils.isNotEmpty(
                 taglet.getTagletArtifact().getVersion() ) ) )
             {
-                pathParts.addAll( getArtifactsAbsolutePath( taglet.getTagletArtifact() ) );
-
-                pathParts = JavadocUtil.pruneFiles( pathParts );
+                pathParts.addAll( JavadocUtil.pruneFiles( getArtifactsAbsolutePath( taglet.getTagletArtifact() ) ) );
             }
             else if ( StringUtils.isNotEmpty( taglet.getTagletpath() ) )
             {
-                pathParts.add( taglet.getTagletpath() );
-
-                pathParts = JavadocUtil.pruneDirs( project, pathParts );
+                for ( Path dir : JavadocUtil.pruneDirs( project, Collections.singletonList( taglet.getTagletpath() ) ) )
+                {
+                    pathParts.add( dir.toString()  );
+                }
             }
         }
 
@@ -4412,7 +4406,7 @@ public abstract class AbstractJavadocMojo
      * @see #getFiles
      * @see #getSourcePaths()
      */
-    private List<String> getPackageNamesRespectingJavaModules( Map<String, Collection<String>> allSourcePaths )
+    private List<String> getPackageNamesRespectingJavaModules( Map<String, Collection<Path>> allSourcePaths )
             throws MavenReportException
     {
         List<String> returnList = new ArrayList<>();
@@ -4423,7 +4417,7 @@ public abstract class AbstractJavadocMojo
         }
         LocationManager locationManager = new LocationManager();
 
-        for ( Collection<String> artifactSourcePaths: allSourcePaths.values() )
+        for ( Collection<Path> artifactSourcePaths: allSourcePaths.values() )
         {
             Set<String> exportedPackages = new HashSet<>();
             boolean exportAllPackages;
@@ -4821,10 +4815,10 @@ public abstract class AbstractJavadocMojo
      */
     private void addJavadocOptions( File javadocOutputDirectory,
                                     List<String> arguments,
-                                    Map<String, Collection<String>> allSourcePaths )
+                                    Map<String, Collection<Path>> allSourcePaths )
         throws MavenReportException
     {
-        Collection<String> sourcePaths = collect( allSourcePaths.values() );
+        Collection<Path> sourcePaths = collect( allSourcePaths.values() );
         
         validateJavadocOptions();
 
@@ -4866,7 +4860,7 @@ public abstract class AbstractJavadocMojo
         Path moduleSourceDir = null;
         if ( allSourcePaths.size() > 1 )
         {
-            for ( Map.Entry<String, Collection<String>> projectSourcepaths : allSourcePaths.entrySet() )
+            for ( Map.Entry<String, Collection<Path>> projectSourcepaths : allSourcePaths.entrySet() )
             {
                 if ( reactorKeys.contains( projectSourcepaths.getKey() ) )
                 {
@@ -4915,7 +4909,11 @@ public abstract class AbstractJavadocMojo
             }
         }
 
-        List<String> roots = getProjectSourceRoots( getProject() );
+        Collection<Path> roots = new ArrayList<>();
+        for ( String path : getProjectSourceRoots( getProject() ) )
+        {
+            roots.add( Paths.get( path ) );
+        }
         
         File mainDescriptor = findMainDescriptor( roots );
 
@@ -5036,11 +5034,11 @@ public abstract class AbstractJavadocMojo
         }
     }
 
-    private File findMainDescriptor( Collection<String> roots )
+    private File findMainDescriptor( Collection<Path> roots )
     {
-        for ( String root : roots )
+        for ( Path root : roots )
         {
-            File descriptorFile = new File( root, "module-info.java" ).getAbsoluteFile();
+            File descriptorFile = root.resolve( "module-info.java" ).toAbsolutePath().toFile();
             if ( descriptorFile.exists() )
             {
                 return descriptorFile;
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
index f147a31..bdef0fb 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
@@ -229,7 +229,7 @@ public class JavadocReport
 
         if ( this.isAggregator() || !"pom".equals( this.project.getPackaging() ) )
         {
-            Collection<String> sourcePaths;
+            Collection<Path> sourcePaths;
             Map<Path, Collection<String>> files;
             try
             {
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
index d57a5b0..31c39b5 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
@@ -125,9 +125,11 @@ public class JavadocUtil
      * @param dirs the collection of <code>String</code> directories path that will be validated.
      * @return a List of valid <code>String</code> directories absolute paths.
      */
-    public static Collection<String> pruneDirs( MavenProject project, Collection<String> dirs )
+    public static Collection<Path> pruneDirs( MavenProject project, Collection<String> dirs )
     {
-        Set<String> pruned = new LinkedHashSet<>( dirs.size() );
+        final Path projectBasedir = project.getBasedir().toPath();
+        
+        Set<Path> pruned = new LinkedHashSet<>( dirs.size() );
         for ( String dir : dirs )
         {
             if ( dir == null )
@@ -135,15 +137,11 @@ public class JavadocUtil
                 continue;
             }
 
-            File directory = new File( dir );
-            if ( !directory.isAbsolute() )
-            {
-                directory = new File( project.getBasedir(), directory.getPath() );
-            }
+            Path directory = projectBasedir.resolve( dir );
 
-            if ( directory.isDirectory() )
+            if ( Files.isDirectory( directory ) )
             {
-                pruned.add( directory.getAbsolutePath() );
+                pruned.add( directory.toAbsolutePath() );
             }
         }
 
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
index 5e3eeda..99034b2 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
@@ -24,6 +24,7 @@ import static org.codehaus.plexus.util.IOUtil.close;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.nio.file.Path;
 import java.util.AbstractMap;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -148,10 +149,10 @@ public final class ResourceResolver extends AbstractLogEnabled
      * @throws ArtifactResolutionException {@link ArtifactResolutionException}
      * @throws ArtifactNotFoundException {@link ArtifactNotFoundException}
      */
-    public Map<String, Collection<String>> resolveDependencySourcePaths( final SourceResolverConfig config )
+    public Map<String, Collection<Path>> resolveDependencySourcePaths( final SourceResolverConfig config )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
-        final Map<String, Collection<String>> mappedDirs = new LinkedHashMap<>();
+        final Map<String, Collection<Path>> mappedDirs = new LinkedHashMap<>();
         
         final Map<String, MavenProject> projectMap = new HashMap<>();
         if ( config.reactorProjects() != null )
@@ -179,7 +180,7 @@ public final class ResourceResolver extends AbstractLogEnabled
             }
         }
 
-        for ( Map.Entry<String, String> entry : resolveFromArtifacts( config, forResourceResolution ) )
+        for ( Map.Entry<String, Path> entry : resolveFromArtifacts( config, forResourceResolution ) )
         {
             mappedDirs.put( entry.getKey(), Collections.singletonList( entry.getValue() ) );
         }
@@ -271,10 +272,10 @@ public final class ResourceResolver extends AbstractLogEnabled
         List<String> dirs = new ArrayList<>( toResolve.size() );
         try
         {
-            for ( Map.Entry<String, String> entry : resolveAndUnpack( toResolve, config, RESOURCE_VALID_CLASSIFIERS,
+            for ( Map.Entry<String, Path> entry : resolveAndUnpack( toResolve, config, RESOURCE_VALID_CLASSIFIERS,
                                                                       false ) )
             {
-                dirs.add( entry.getValue() );
+                dirs.add( entry.getValue().toString() );
             }
         }
         catch ( ArtifactResolutionException | ArtifactNotFoundException e )
@@ -313,7 +314,7 @@ public final class ResourceResolver extends AbstractLogEnabled
         return result;
     }
 
-    private Collection<Entry<String, String>> resolveFromArtifacts( final SourceResolverConfig config,
+    private Collection<Entry<String, Path>> resolveFromArtifacts( final SourceResolverConfig config,
                                                       final List<Artifact> artifacts )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
@@ -365,7 +366,7 @@ public final class ResourceResolver extends AbstractLogEnabled
      * @throws ArtifactResolutionException if an exception occurs
      * @throws ArtifactNotFoundException if an exception occurs
      */
-    private Collection<Map.Entry<String, String>> resolveAndUnpack( final List<Artifact> artifacts,
+    private Collection<Map.Entry<String, Path>> resolveAndUnpack( final List<Artifact> artifacts,
                                                                     final SourceResolverConfig config,
                                                                     final List<String> validClassifiers,
                                                                     final boolean propagateErrors )
@@ -386,7 +387,7 @@ public final class ResourceResolver extends AbstractLogEnabled
             filter = null;
         }
         
-        final List<Map.Entry<String, String>> result = new ArrayList<>( artifacts.size() );
+        final List<Map.Entry<String, Path>> result = new ArrayList<>( artifacts.size() );
         for ( final Artifact a : artifactSet )
         {
             if ( !validClassifiers.contains( a.getClassifier() ) || ( filter != null && !filter.include( a ) ) )
@@ -421,7 +422,7 @@ public final class ResourceResolver extends AbstractLogEnabled
 
                 unArchiver.extract();
 
-                result.add( new AbstractMap.SimpleEntry<>( a.getDependencyConflictId(), d.getAbsolutePath() ) );
+                result.add( new AbstractMap.SimpleEntry<>( a.getDependencyConflictId(), d.toPath().toAbsolutePath() ) );
             }
             catch ( final NoSuchArchiverException e )
             {
@@ -443,7 +444,7 @@ public final class ResourceResolver extends AbstractLogEnabled
         return result;
     }
 
-    private static Collection<String> resolveFromProject( final SourceResolverConfig config,
+    private static Collection<Path> resolveFromProject( final SourceResolverConfig config,
                                                     final MavenProject reactorProject, final Artifact artifact )
     {
         final List<String> dirs = new ArrayList<>();
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
index 139a09f..79b94ba 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
@@ -28,6 +28,8 @@ import java.io.OutputStream;
 import java.net.SocketTimeoutException;
 import java.net.URI;
 import java.net.URL;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -42,7 +44,9 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.plugins.javadoc.ProxyServer.AuthAsyncProxyServlet;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.settings.Proxy;
 import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.PlexusTestCase;
@@ -739,10 +743,12 @@ public class JavadocUtilTest
         list.add( getBasedir() + "/target/classes" );
         list.add( getBasedir() + "/target/classes" );
 
-        String FS = System.getProperty( "file.separator" );
-        Set<String> expected = Collections.singleton( getBasedir() + FS +"target" + FS + "classes" );
+        Set<Path> expected = Collections.singleton( Paths.get( getBasedir(), "target/classes" ) );
+        
+        MavenProjectStub project = new MavenProjectStub();
+        project.setFile( new File( getBasedir(), "pom.xml" ) );
 
-        assertEquals( expected, JavadocUtil.pruneDirs( null, list ) );
+        assertEquals( expected, JavadocUtil.pruneDirs( project, list ) );
     }
 
     /**


[maven-javadoc-plugin] 03/08: Remove contains-check, it is a subfolder by definition

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit 4b069bc287adc01af00bfc07c98a28c8871cdba5
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Dec 27 12:01:39 2018 +0100

    Remove contains-check, it is a subfolder by definition
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 82 ++++++++++------------
 1 file changed, 38 insertions(+), 44 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 811af85..62c2db3 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -4422,32 +4422,29 @@ public abstract class AbstractJavadocMojo
                 {
                     currentFile = currentFile.replace( '\\', '/' );
                     
-                    if ( currentFile.contains( currentSourcePath ) )
+                    if ( !currentSourcePath.endsWith( "/" ) )
                     {
-                        if ( !currentSourcePath.endsWith( "/" ) )
-                        {
-                            currentSourcePath += "/";
-                        }
-                        String packagename = currentFile.substring( currentSourcePath.length() + 1 );
+                        currentSourcePath += "/";
+                    }
+                    String packagename = currentFile.substring( currentSourcePath.length() );
 
-                        /*
-                         * Remove the miscellaneous files
-                         * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
-                         */
-                        if ( packagename.contains( "doc-files" ) )
-                        {
-                            continue;
-                        }
+                    /*
+                     * Remove the miscellaneous files
+                     * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
+                     */
+                    if ( packagename.contains( "doc-files" ) )
+                    {
+                        continue;
+                    }
 
-                        if ( packagename.lastIndexOf( "/" ) != -1 )
-                        {
-                            packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
-                            packagename = packagename.replace( '/', '.' );
+                    if ( packagename.lastIndexOf( "/" ) != -1 )
+                    {
+                        packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
+                        packagename = packagename.replace( '/', '.' );
 
-                            if ( exportAllPackages || exportedPackages.contains( packagename ) )
-                            {
-                                returnList.add( packagename );
-                            }
+                        if ( exportAllPackages || exportedPackages.contains( packagename ) )
+                        {
+                            returnList.add( packagename );
                         }
                     }
                 }
@@ -4498,34 +4495,31 @@ public abstract class AbstractJavadocMojo
                     currentSourcePath += "/";
                 }
 
-                if ( currentFile.contains( currentSourcePath ) )
-                {
-                    String packagename = currentFile.substring( currentSourcePath.length() );
+                String packagename = currentFile.substring( currentSourcePath.length() );
 
-                    /*
-                     * Remove the miscellaneous files
-                     * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
-                     */
-                    if ( packagename.contains( "doc-files" ) )
-                    {
-                        continue;
-                    }
+                /*
+                 * Remove the miscellaneous files
+                 * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
+                 */
+                if ( packagename.contains( "doc-files" ) )
+                {
+                    continue;
+                }
 
-                    if ( onlyPackageName && packagename.lastIndexOf( "/" ) != -1 )
-                    {
-                        packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
-                        packagename = packagename.replace( '/', '.' );
+                if ( onlyPackageName && packagename.lastIndexOf( "/" ) != -1 )
+                {
+                    packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
+                    packagename = packagename.replace( '/', '.' );
 
-                        if ( !returnList.contains( packagename ) )
-                        {
-                            returnList.add( packagename );
-                        }
-                    }
-                    if ( !onlyPackageName && packagename.lastIndexOf( "/" ) == -1 )
+                    if ( !returnList.contains( packagename ) )
                     {
-                        returnList.add( currentFile );
+                        returnList.add( packagename );
                     }
                 }
+                if ( !onlyPackageName && packagename.lastIndexOf( "/" ) == -1 )
+                {
+                    returnList.add( currentFile );
+                }
             }
         }
 


[maven-javadoc-plugin] 05/08: Start switching from String to Path

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit adf8a5872441ed4675d6907e84b0ca0025e989c1
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Dec 27 12:23:40 2018 +0100

    Start switching from String to Path
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 26 +++++++++++-----------
 .../maven/plugins/javadoc/JavadocReport.java       |  3 ++-
 2 files changed, 15 insertions(+), 14 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 e181f4a..2253375 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -1993,7 +1993,7 @@ public abstract class AbstractJavadocMojo
         
         Collection<String> collectedSourcePaths = collect( sourcePaths.values() );
         
-        Map<String, Collection<String>> files = getFiles( collectedSourcePaths );
+        Map<Path, Collection<String>> files = getFiles( collectedSourcePaths );
         if ( !canGenerateReport( files ) )
         {
             return;
@@ -2223,10 +2223,10 @@ public abstract class AbstractJavadocMojo
      * @return a List that contains the specific path for every source file
      * @throws MavenReportException {@link MavenReportException}
      */
-    protected Map<String, Collection<String>> getFiles( Collection<String> sourcePaths )
+    protected Map<Path, Collection<String>> getFiles( Collection<String> sourcePaths )
         throws MavenReportException
     {
-        Map<String, Collection<String>> mappedFiles = new LinkedHashMap<>( sourcePaths.size() );
+        Map<Path, Collection<String>> mappedFiles = new LinkedHashMap<>( sourcePaths.size() );
         if ( StringUtils.isEmpty( subpackages ) )
         {
             Collection<String> excludedPackages = getExcludedPackages();
@@ -2237,7 +2237,7 @@ public abstract class AbstractJavadocMojo
                 File sourceDirectory = new File( sourcePath );
                 files.addAll( JavadocUtil.getFilesFromSource( sourceDirectory, sourceFileIncludes, sourceFileExcludes,
                                                               excludedPackages ) );
-                mappedFiles.put( sourcePath, files );
+                mappedFiles.put( Paths.get( sourcePath ), files );
             }
         }
 
@@ -2512,7 +2512,7 @@ public abstract class AbstractJavadocMojo
      * @param files the project files
      * @return a boolean that indicates whether javadoc report can be generated or not
      */
-    protected boolean canGenerateReport( Map<String, Collection<String>> files )
+    protected boolean canGenerateReport( Map<Path, Collection<String>> files )
     {
         for ( Collection<String> filesValues : files.values() )
         {
@@ -4356,7 +4356,7 @@ public abstract class AbstractJavadocMojo
      * @param files       not null
      * @return the list of package names for files in the sourcePaths
      */
-    private List<String> getPackageNames( Map<String, Collection<String>> sourcePaths )
+    private List<String> getPackageNames( Map<Path, Collection<String>> sourcePaths )
     {
         List<String> returnList = new ArrayList<>();
         
@@ -4365,9 +4365,9 @@ public abstract class AbstractJavadocMojo
             return returnList;
         }
         
-        for ( Entry<String, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
+        for ( Entry<Path, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
         {
-            String currentSourcePath = currentPathEntry.getKey().replace( '\\', '/' );
+            String currentSourcePath = currentPathEntry.getKey().toString().replace( '\\', '/' );
         
             for ( String currentFile : currentPathEntry.getValue() )
             {
@@ -4458,9 +4458,9 @@ public abstract class AbstractJavadocMojo
                 exportAllPackages = true;
             }
             
-            for ( Map.Entry<String, Collection<String>> currentPathEntry : getFiles( artifactSourcePaths ).entrySet() )
+            for ( Map.Entry<Path, Collection<String>> currentPathEntry : getFiles( artifactSourcePaths ).entrySet() )
             {
-                String currentSourcePath = currentPathEntry.getKey().replace( '\\', '/' );
+                String currentSourcePath = currentPathEntry.getKey().toString().replace( '\\', '/' );
 
                 for ( String currentFile : currentPathEntry.getValue() )
                 {
@@ -4503,7 +4503,7 @@ public abstract class AbstractJavadocMojo
      * @param files       not null
      * @return a list files with unnamed package names for files in the sourcePaths
      */
-    private List<String> getFilesWithUnnamedPackages( Map<String, Collection<String>> sourcePaths )
+    private List<String> getFilesWithUnnamedPackages( Map<Path, Collection<String>> sourcePaths )
     {
         List<String> returnList = new ArrayList<>();
         
@@ -4512,9 +4512,9 @@ public abstract class AbstractJavadocMojo
             return returnList;
         }
         
-        for ( Entry<String, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
+        for ( Entry<Path, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
         {
-            String currentSourcePath = currentPathEntry.getKey().replace( '\\', '/' );
+            String currentSourcePath = currentPathEntry.getKey().toString().replace( '\\', '/' );
         
             for ( String currentFile : currentPathEntry.getValue() )
             {
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
index e31cc40..f147a31 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
@@ -20,6 +20,7 @@ package org.apache.maven.plugins.javadoc;
  */
 
 import java.io.File;
+import java.nio.file.Path;
 import java.util.Collection;
 import java.util.Locale;
 import java.util.Map;
@@ -229,7 +230,7 @@ public class JavadocReport
         if ( this.isAggregator() || !"pom".equals( this.project.getPackaging() ) )
         {
             Collection<String> sourcePaths;
-            Map<String, Collection<String>> files;
+            Map<Path, Collection<String>> files;
             try
             {
                 sourcePaths = collect( getSourcePaths().values() );


[maven-javadoc-plugin] 04/08: Inline getPackageNamesOrFilesWithUnnamedPackages()

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit 08c8dcb29ebe3a5e293cf31d3199d19f2bb9441b
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Dec 27 12:09:08 2018 +0100

    Inline getPackageNamesOrFilesWithUnnamedPackages()
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 88 +++++++++++++---------
 1 file changed, 54 insertions(+), 34 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 62c2db3..e181f4a 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -4358,7 +4358,51 @@ public abstract class AbstractJavadocMojo
      */
     private List<String> getPackageNames( Map<String, Collection<String>> sourcePaths )
     {
-        return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, true );
+        List<String> returnList = new ArrayList<>();
+        
+        if ( !StringUtils.isEmpty( sourcepath ) )
+        {
+            return returnList;
+        }
+        
+        for ( Entry<String, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
+        {
+            String currentSourcePath = currentPathEntry.getKey().replace( '\\', '/' );
+        
+            for ( String currentFile : currentPathEntry.getValue() )
+            {
+                currentFile = currentFile.replace( '\\', '/' );
+        
+                if ( !currentSourcePath.endsWith( "/" ) )
+                {
+                    currentSourcePath += "/";
+                }
+        
+                String packagename = currentFile.substring( currentSourcePath.length() );
+        
+                /*
+                 * Remove the miscellaneous files
+                 * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
+                 */
+                if ( packagename.contains( "doc-files" ) )
+                {
+                    continue;
+                }
+        
+                if ( packagename.lastIndexOf( "/" ) != -1 )
+                {
+                    packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
+                    packagename = packagename.replace( '/', '.' );
+        
+                    if ( !returnList.contains( packagename ) )
+                    {
+                        returnList.add( packagename );
+                    }
+                }
+            }
+        }
+        
+        return returnList;
     }
 
     /**
@@ -4461,42 +4505,28 @@ public abstract class AbstractJavadocMojo
      */
     private List<String> getFilesWithUnnamedPackages( Map<String, Collection<String>> sourcePaths )
     {
-        return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, false );
-    }
-
-    /**
-     * @param sourcePaths     not null, containing absolute and relative paths
-     * @param files           not null, containing list of quoted files
-     * @param onlyPackageName boolean for only package name
-     * @return a list of package names or files with unnamed package names, depending the value of the unnamed flag
-     * @see #getFiles
-     * @see #getSourcePaths()
-     */
-    private List<String> getPackageNamesOrFilesWithUnnamedPackages( Map<String, Collection<String>> sourcePaths,
-                                                                    boolean onlyPackageName )
-    {
         List<String> returnList = new ArrayList<>();
-
+        
         if ( !StringUtils.isEmpty( sourcepath ) )
         {
             return returnList;
         }
-
+        
         for ( Entry<String, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
         {
             String currentSourcePath = currentPathEntry.getKey().replace( '\\', '/' );
-
+        
             for ( String currentFile : currentPathEntry.getValue() )
             {
                 currentFile = currentFile.replace( '\\', '/' );
-
+        
                 if ( !currentSourcePath.endsWith( "/" ) )
                 {
                     currentSourcePath += "/";
                 }
-
+        
                 String packagename = currentFile.substring( currentSourcePath.length() );
-
+        
                 /*
                  * Remove the miscellaneous files
                  * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
@@ -4505,24 +4535,14 @@ public abstract class AbstractJavadocMojo
                 {
                     continue;
                 }
-
-                if ( onlyPackageName && packagename.lastIndexOf( "/" ) != -1 )
-                {
-                    packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
-                    packagename = packagename.replace( '/', '.' );
-
-                    if ( !returnList.contains( packagename ) )
-                    {
-                        returnList.add( packagename );
-                    }
-                }
-                if ( !onlyPackageName && packagename.lastIndexOf( "/" ) == -1 )
+        
+                if ( packagename.lastIndexOf( "/" ) == -1 )
                 {
                     returnList.add( currentFile );
                 }
             }
         }
-
+        
         return returnList;
     }
 


[maven-javadoc-plugin] 08/08: Use File.separators instead of realigning the separators.

Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch refactor
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit eb22f8cb8790b12724031ca96bc23efbd687d34c
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Dec 27 17:37:49 2018 +0100

    Use File.separators instead of realigning the separators.
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 55 +++++-----------------
 1 file changed, 13 insertions(+), 42 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 19e0b58..b3f344c 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -4364,32 +4364,21 @@ public abstract class AbstractJavadocMojo
         
         for ( Entry<Path, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
         {
-            String currentSourcePath = currentPathEntry.getKey().toString().replace( '\\', '/' );
-        
             for ( String currentFile : currentPathEntry.getValue() )
             {
-                currentFile = currentFile.replace( '\\', '/' );
-        
-                if ( !currentSourcePath.endsWith( "/" ) )
-                {
-                    currentSourcePath += "/";
-                }
-        
-                String packagename = currentFile;
-        
                 /*
                  * Remove the miscellaneous files
                  * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
                  */
-                if ( packagename.contains( "doc-files" ) )
+                if ( currentFile.contains( "doc-files" ) )
                 {
                     continue;
                 }
         
-                if ( packagename.lastIndexOf( "/" ) != -1 )
+                int lastIndexOfSeparator = currentFile.lastIndexOf( "/" );
+                if ( lastIndexOfSeparator != -1 )
                 {
-                    packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
-                    packagename = packagename.replace( '/', '.' );
+                    String packagename = currentFile.substring( 0, lastIndexOfSeparator ).replace( '/', '.' );
         
                     if ( !returnList.contains( packagename ) )
                     {
@@ -4457,31 +4446,22 @@ public abstract class AbstractJavadocMojo
             
             for ( Map.Entry<Path, Collection<String>> currentPathEntry : getFiles( artifactSourcePaths ).entrySet() )
             {
-                String currentSourcePath = currentPathEntry.getKey().toString().replace( '\\', '/' );
-
                 for ( String currentFile : currentPathEntry.getValue() )
                 {
-                    currentFile = currentFile.replace( '\\', '/' );
-                    
-                    if ( !currentSourcePath.endsWith( "/" ) )
-                    {
-                        currentSourcePath += "/";
-                    }
-                    String packagename = currentSourcePath;
-
                     /*
                      * Remove the miscellaneous files
                      * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
                      */
-                    if ( packagename.contains( "doc-files" ) )
+                    if ( currentFile.contains( "doc-files" ) )
                     {
                         continue;
                     }
 
-                    if ( packagename.lastIndexOf( "/" ) != -1 )
+                    int lastIndexOfSeparator = currentFile.lastIndexOf( File.separatorChar );
+                    if ( lastIndexOfSeparator != -1 )
                     {
-                        packagename = packagename.substring( 0, packagename.lastIndexOf( "/" ) );
-                        packagename = packagename.replace( '/', '.' );
+                        String packagename =
+                            currentFile.substring( 0, lastIndexOfSeparator ).replace( File.separatorChar, '.' );
 
                         if ( exportAllPackages || exportedPackages.contains( packagename ) )
                         {
@@ -4511,31 +4491,22 @@ public abstract class AbstractJavadocMojo
         
         for ( Entry<Path, Collection<String>> currentPathEntry : sourcePaths.entrySet() )
         {
-            String currentSourcePath = currentPathEntry.getKey().toString().replace( '\\', '/' );
+            Path currentSourcePath = currentPathEntry.getKey();
         
             for ( String currentFile : currentPathEntry.getValue() )
             {
-                currentFile = currentFile.replace( '\\', '/' );
-        
-                if ( !currentSourcePath.endsWith( "/" ) )
-                {
-                    currentSourcePath += "/";
-                }
-        
-                String packagename = currentSourcePath;
-        
                 /*
                  * Remove the miscellaneous files
                  * http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/javadoc.html#unprocessed
                  */
-                if ( packagename.contains( "doc-files" ) )
+                if ( currentFile.contains( "doc-files" ) )
                 {
                     continue;
                 }
         
-                if ( packagename.lastIndexOf( "/" ) == -1 )
+                if ( currentFile.indexOf( File.separatorChar ) == -1 )
                 {
-                    returnList.add( currentFile );
+                    returnList.add( currentSourcePath.resolve( currentFile ).toAbsolutePath().toString() );
                 }
             }
         }