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 <[email protected]> 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 ) {
