You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2021/09/30 17:10:52 UTC
[maven] 01/01: [MNG-7276] - Refactoring - Umbrella
This is an automated email from the ASF dual-hosted git repository.
khmarbaise pushed a commit to branch MNG-7276
in repository https://gitbox.apache.org/repos/asf/maven.git
commit b5f5181d68574b090d2c4e9c96d96b4eb80def31
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Thu Sep 30 19:10:44 2021 +0200
[MNG-7276] - Refactoring - Umbrella
---
.../main/java/org/apache/maven/ReactorReader.java | 35 ++++++++----------
.../java/org/apache/maven/RepositoryUtils.java | 43 +++++++---------------
2 files changed, 29 insertions(+), 49 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/ReactorReader.java b/maven-core/src/main/java/org/apache/maven/ReactorReader.java
index 42c41ac..acf0d6d 100644
--- a/maven-core/src/main/java/org/apache/maven/ReactorReader.java
+++ b/maven-core/src/main/java/org/apache/maven/ReactorReader.java
@@ -28,16 +28,14 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
import java.util.stream.Stream;
-import javax.inject.Inject;
-import javax.inject.Named;
-
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Model;
@@ -49,6 +47,9 @@ import org.eclipse.aether.util.artifact.ArtifactIdUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.inject.Inject;
+import javax.inject.Named;
+
/**
* An implementation of a workspace reader that knows how to search the Maven reactor for artifacts, either as packaged
* jar if it has been built, or only compile output directory if packaging hasn't happened yet.
@@ -75,26 +76,22 @@ class ReactorReader
private WorkspaceRepository repository;
+ private Function<MavenProject, String> projectIntoKey =
+ s -> ArtifactUtils.key( s.getGroupId(), s.getArtifactId(), s.getVersion() );
+
+ private Function<MavenProject, String> projectIntoVersionlessKey =
+ s -> ArtifactUtils.versionlessKey( s.getGroupId(), s.getArtifactId() );
+
@Inject
ReactorReader( MavenSession session )
{
this.session = session;
- this.projectsByGAV = new HashMap<>( session.getAllProjects().size() * 2 );
- session.getAllProjects().forEach( project ->
- {
- String projectId = ArtifactUtils.key( project.getGroupId(), project.getArtifactId(), project.getVersion() );
- this.projectsByGAV.put( projectId, project );
- } );
-
- projectsByGA = new HashMap<>( projectsByGAV.size() * 2 );
- for ( MavenProject project : projectsByGAV.values() )
- {
- String key = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
-
- List<MavenProject> projects = projectsByGA.computeIfAbsent( key, k -> new ArrayList<>( 1 ) );
+ this.projectsByGAV =
+ session.getAllProjects().stream()
+ .collect( Collectors.toMap( k -> projectIntoKey.apply( k ), Function.identity() ) );
- projects.add( project );
- }
+ this.projectsByGA = projectsByGAV.values().stream()
+ .collect( Collectors.groupingBy( projectIntoVersionlessKey ) );
repository = new WorkspaceRepository( "reactor", new HashSet<>( projectsByGAV.keySet() ) );
}
diff --git a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
index a49b670..4453b99 100644
--- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
+++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
@@ -26,6 +26,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.DefaultArtifactHandler;
@@ -121,7 +122,7 @@ public class RepositoryUtils
nodeTrail.addAll( trail );
nodeTrail.add( artifact.getId() );
- if ( filter == null || filter.accept( node, Collections.<DependencyNode>emptyList() ) )
+ if ( filter == null || filter.accept( node, Collections.emptyList() ) )
{
artifact.setDependencyTrail( nodeTrail );
artifacts.add( artifact );
@@ -173,11 +174,7 @@ public class RepositoryUtils
List<Exclusion> excl = null;
if ( exclusions != null )
{
- excl = new ArrayList<>( exclusions.size() );
- for ( org.apache.maven.model.Exclusion exclusion : exclusions )
- {
- excl.add( toExclusion( exclusion ) );
- }
+ excl = exclusions.stream().map( RepositoryUtils::toExclusion ).collect( Collectors.toList() );
}
return new Dependency( result, artifact.getScope(), artifact.isOptional(), excl );
@@ -190,12 +187,7 @@ public class RepositoryUtils
return null;
}
- List<RemoteRepository> results = new ArrayList<>( repos.size() );
- for ( ArtifactRepository repo : repos )
- {
- results.add( toRepo( repo ) );
- }
- return results;
+ return repos.stream().map( RepositoryUtils::toRepo ).collect( Collectors.toList() );
}
public static RemoteRepository toRepo( ArtifactRepository repo )
@@ -318,20 +310,16 @@ public class RepositoryUtils
new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getClassifier(), null,
dependency.getVersion(), props, stereotype );
- List<Exclusion> exclusions = new ArrayList<>( dependency.getExclusions().size() );
- for ( org.apache.maven.model.Exclusion exclusion : dependency.getExclusions() )
- {
- exclusions.add( toExclusion( exclusion ) );
- }
+ List<Exclusion> exclusions =
+ dependency.getExclusions().stream().map( RepositoryUtils::toExclusion ).collect( Collectors.toList() );
- Dependency result = new Dependency( artifact,
- dependency.getScope(),
- dependency.getOptional() != null
- ? dependency.isOptional()
- : null,
- exclusions );
+ return new Dependency( artifact,
+ dependency.getScope(),
+ dependency.getOptional() != null
+ ? dependency.isOptional()
+ : null,
+ exclusions );
- return result;
}
private static Exclusion toExclusion( org.apache.maven.model.Exclusion exclusion )
@@ -365,12 +353,7 @@ public class RepositoryUtils
public static Collection<Artifact> toArtifacts( Collection<org.apache.maven.artifact.Artifact> artifactsToConvert )
{
- List<Artifact> artifacts = new ArrayList<>();
- for ( org.apache.maven.artifact.Artifact a : artifactsToConvert )
- {
- artifacts.add( toArtifact( a ) );
- }
- return artifacts;
+ return artifactsToConvert.stream().map( RepositoryUtils::toArtifact ).collect( Collectors.toList() );
}
public static WorkspaceRepository getWorkspace( RepositorySystemSession session )