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:47 UTC

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

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;
     }