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 2021/04/30 10:47:09 UTC

[maven-javadoc-plugin] 02/07: Use less Lists

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

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

commit 4269b37068e8eea00b5e1f0aaa7b46d4775ae972
Author: rfscholte <rf...@apache.org>
AuthorDate: Wed Apr 28 21:25:28 2021 +0200

    Use less Lists
---
 .../plugins/javadoc/resolver/ResourceResolver.java | 59 ++++++++++------------
 1 file changed, 27 insertions(+), 32 deletions(-)

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 f982192..7a3865c 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
@@ -26,7 +26,6 @@ import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -161,7 +160,6 @@ public final class ResourceResolver extends AbstractLogEnabled
 
         final List<Artifact> artifacts = config.project().getTestArtifacts();
 
-        final List<Artifact> forResourceResolution = new ArrayList<>( artifacts.size() );
         for ( final Artifact artifact : artifacts )
         {
             final String key = key( artifact.getGroupId(), artifact.getArtifactId() );
@@ -172,11 +170,14 @@ public final class ResourceResolver extends AbstractLogEnabled
             }
             else
             {
-                forResourceResolution.add( artifact );
+                JavadocModule m = resolveFromArtifact( config, artifact );
+                if ( m != null )
+                {
+                    mappedDirs.add( m );
+                }
             }
         }
 
-        mappedDirs.addAll( resolveFromArtifacts( config, forResourceResolution ) );
 
         return mappedDirs;
     }
@@ -255,14 +256,10 @@ public final class ResourceResolver extends AbstractLogEnabled
             }
         }
 
-        List<Path> dirs = new ArrayList<>( toResolve.size() );
+        Collection<Path> dirs = new ArrayList<>( toResolve.size() );
         try
         {
-            for ( JavadocModule entry : resolveAndUnpack( toResolve, config, RESOURCE_VALID_CLASSIFIERS,
-                                                                      false ) )
-            {
-                dirs.addAll( entry.getSourcePaths() );
-            }
+            dirs = resolveAndUnpack( toResolve, config, RESOURCE_VALID_CLASSIFIERS, false );
         }
         catch ( ArtifactResolutionException | ArtifactNotFoundException e )
         {
@@ -300,32 +297,31 @@ public final class ResourceResolver extends AbstractLogEnabled
         return result;
     }
 
-    private Collection<JavadocModule> resolveFromArtifacts( final SourceResolverConfig config,
-                                                      final List<Artifact> artifacts )
+    private JavadocModule resolveFromArtifact( final SourceResolverConfig config,
+                                                      final Artifact artifact )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
-        final List<Artifact> toResolve = new ArrayList<>( artifacts.size() );
+        final List<Artifact> toResolve = new ArrayList<>( 2 );
 
-        for ( final Artifact artifact : artifacts )
+        if ( config.filter() != null
+            && !new ArtifactIncludeFilterTransformer().transform( config.filter() ).include( artifact ) )
         {
-            if ( config.filter() != null
-                && !new ArtifactIncludeFilterTransformer().transform( config.filter() ).include( artifact ) )
-            {
-                continue;
-            }
+            return null;
+        }
 
-            if ( config.includeCompileSources() )
-            {
-                toResolve.add( createResourceArtifact( artifact, SOURCES_CLASSIFIER, config ) );
-            }
+        if ( config.includeCompileSources() )
+        {
+            toResolve.add( createResourceArtifact( artifact, SOURCES_CLASSIFIER, config ) );
+        }
 
-            if ( config.includeTestSources() )
-            {
-                toResolve.add( createResourceArtifact( artifact, TEST_SOURCES_CLASSIFIER, config ) );
-            }
+        if ( config.includeTestSources() )
+        {
+            toResolve.add( createResourceArtifact( artifact, TEST_SOURCES_CLASSIFIER, config ) );
         }
+        
+        Collection<Path> sourcePaths = resolveAndUnpack( toResolve, config, SOURCE_VALID_CLASSIFIERS, true ); 
 
-        return resolveAndUnpack( toResolve, config, SOURCE_VALID_CLASSIFIERS, true );
+        return new JavadocModule( key( artifact.getGroupId(), artifact.getArtifactId() ), sourcePaths );
     }
 
     private Artifact createResourceArtifact( final Artifact artifact, final String classifier,
@@ -352,7 +348,7 @@ public final class ResourceResolver extends AbstractLogEnabled
      * @throws ArtifactResolutionException if an exception occurs
      * @throws ArtifactNotFoundException if an exception occurs
      */
-    private Collection<JavadocModule> resolveAndUnpack( final List<Artifact> artifacts,
+    private Collection<Path> resolveAndUnpack( final List<Artifact> artifacts,
                                                                     final SourceResolverConfig config,
                                                                     final List<String> validClassifiers,
                                                                     final boolean propagateErrors )
@@ -373,7 +369,7 @@ public final class ResourceResolver extends AbstractLogEnabled
             filter = null;
         }
         
-        final List<JavadocModule> result = new ArrayList<>( artifacts.size() );
+        final List<Path> result = new ArrayList<>( artifacts.size() );
         for ( final Artifact a : artifactSet )
         {
             if ( !validClassifiers.contains( a.getClassifier() ) || ( filter != null && !filter.include( a ) ) )
@@ -408,8 +404,7 @@ public final class ResourceResolver extends AbstractLogEnabled
 
                 unArchiver.extract();
 
-                result.add( new JavadocModule( key( a.getGroupId(), a.getArtifactId() ),
-                                               Collections.singleton( d.toPath().toAbsolutePath() ) ) );
+                result.add( d.toPath().toAbsolutePath() );
             }
             catch ( final NoSuchArchiverException e )
             {