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 2019/12/07 12:12:38 UTC
[maven] 02/03: Safe State.
This is an automated email from the ASF dual-hosted git repository.
khmarbaise pushed a commit to branch MODELTESTS_IMPROVEMENT
in repository https://gitbox.apache.org/repos/asf/maven.git
commit da2902a994fc267cff3163949b82b48a993c0930
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Fri Nov 29 18:51:50 2019 +0100
Safe State.
---
.../maven/project/DefaultProjectBuilder.java | 339 ++++++++++-----------
.../maven/cli/event/ExecutionEventLogger.java | 100 +++---
2 files changed, 202 insertions(+), 237 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index 7e18f1e..d764f8a 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -19,20 +19,6 @@ package org.apache.maven.project;
* under the License.
*/
-import java.io.File;
-import java.io.IOException;
-import java.util.AbstractMap;
-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.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.apache.maven.RepositoryUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.InvalidArtifactRTException;
@@ -76,12 +62,27 @@ import org.eclipse.aether.repository.WorkspaceRepository;
import org.eclipse.aether.resolution.ArtifactRequest;
import org.eclipse.aether.resolution.ArtifactResult;
+import java.io.File;
+import java.io.IOException;
+import java.util.AbstractMap;
+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.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
/**
* DefaultProjectBuilder
*/
@Component( role = ProjectBuilder.class )
public class DefaultProjectBuilder
- implements ProjectBuilder
+ implements ProjectBuilder
{
public static final String DISABLE_GLOBAL_MODEL_CACHE_SYSTEM_PROPERTY =
@@ -118,8 +119,8 @@ public class DefaultProjectBuilder
// ----------------------------------------------------------------------
@Override
- public ProjectBuildingResult build( File pomFile, ProjectBuildingRequest request )
- throws ProjectBuildingException
+ public ProjectBuildingResult build(File pomFile, ProjectBuildingRequest request)
+ throws ProjectBuildingException
{
return build( pomFile, new FileModelSource( pomFile ),
new InternalConfig( request, null, useGlobalModelCache() ? getModelCache() : null ) );
@@ -131,15 +132,15 @@ public class DefaultProjectBuilder
}
@Override
- public ProjectBuildingResult build( ModelSource modelSource, ProjectBuildingRequest request )
- throws ProjectBuildingException
+ public ProjectBuildingResult build(ModelSource modelSource, ProjectBuildingRequest request)
+ throws ProjectBuildingException
{
return build( null, modelSource,
- new InternalConfig( request, null, useGlobalModelCache() ? getModelCache() : null ) );
+ new InternalConfig( request, null, useGlobalModelCache() ? getModelCache() : null ) );
}
- private ProjectBuildingResult build( File pomFile, ModelSource modelSource, InternalConfig config )
- throws ProjectBuildingException
+ private ProjectBuildingResult build(File pomFile, ModelSource modelSource, InternalConfig config)
+ throws ProjectBuildingException
{
ClassLoader oldContextClassLoader = Thread.currentThread().getContextClassLoader();
@@ -149,7 +150,7 @@ public class DefaultProjectBuilder
MavenProject project = projectBuildingRequest.getProject();
- List<ModelProblem> modelProblems = null;
+ List< ModelProblem > modelProblems = null;
Throwable error = null;
if ( project == null )
@@ -160,7 +161,7 @@ public class DefaultProjectBuilder
project.setFile( pomFile );
DefaultModelBuildingListener listener =
- new DefaultModelBuildingListener( project, projectBuildingHelper, projectBuildingRequest );
+ new DefaultModelBuildingListener( project, projectBuildingHelper, projectBuildingRequest );
request.setModelBuildingListener( listener );
request.setPomFile( pomFile );
@@ -171,8 +172,7 @@ public class DefaultProjectBuilder
try
{
result = modelBuilder.build( request );
- }
- catch ( ModelBuildingException e )
+ } catch (ModelBuildingException e)
{
result = e.getResult();
if ( result == null || result.getEffectiveModel() == null )
@@ -185,10 +185,9 @@ public class DefaultProjectBuilder
modelProblems = result.getProblems();
- initProject( project, Collections.<String, MavenProject>emptyMap(), true,
- result, new HashMap<File, Boolean>(), projectBuildingRequest );
- }
- else if ( projectBuildingRequest.isResolveDependencies() )
+ initProject( project, Collections.< String, MavenProject >emptyMap(), true,
+ result, new HashMap< File, Boolean >(), projectBuildingRequest );
+ } else if ( projectBuildingRequest.isResolveDependencies() )
{
projectBuildingHelper.selectProjectRealm( project );
}
@@ -210,14 +209,13 @@ public class DefaultProjectBuilder
}
return result;
- }
- finally
+ } finally
{
Thread.currentThread().setContextClassLoader( oldContextClassLoader );
}
}
- private DependencyResolutionResult resolveDependencies( MavenProject project, RepositorySystemSession session )
+ private DependencyResolutionResult resolveDependencies(MavenProject project, RepositorySystemSession session)
{
DependencyResolutionResult resolutionResult;
@@ -225,17 +223,16 @@ public class DefaultProjectBuilder
{
DefaultDependencyResolutionRequest resolution = new DefaultDependencyResolutionRequest( project, session );
resolutionResult = dependencyResolver.resolve( resolution );
- }
- catch ( DependencyResolutionException e )
+ } catch (DependencyResolutionException e)
{
resolutionResult = e.getResult();
}
- Set<Artifact> artifacts = new LinkedHashSet<>();
+ Set< Artifact > artifacts = new LinkedHashSet<>();
if ( resolutionResult.getDependencyGraph() != null )
{
RepositoryUtils.toArtifacts( artifacts, resolutionResult.getDependencyGraph().getChildren(),
- Collections.singletonList( project.getArtifact().getId() ), null );
+ Collections.singletonList( project.getArtifact().getId() ), null );
// Maven 2.x quirk: an artifact always points at the local repo, regardless whether resolved or not
LocalRepositoryManager lrm = session.getLocalRepositoryManager();
@@ -254,9 +251,9 @@ public class DefaultProjectBuilder
return resolutionResult;
}
- private List<String> getProfileIds( List<Profile> profiles )
+ private List< String > getProfileIds(List< Profile > profiles)
{
- List<String> ids = new ArrayList<>( profiles.size() );
+ List< String > ids = new ArrayList<>( profiles.size() );
for ( Profile profile : profiles )
{
@@ -266,7 +263,7 @@ public class DefaultProjectBuilder
return ids;
}
- private ModelBuildingRequest getModelBuildingRequest( InternalConfig config )
+ private ModelBuildingRequest getModelBuildingRequest(InternalConfig config)
{
ProjectBuildingRequest configuration = config.request;
@@ -275,8 +272,8 @@ public class DefaultProjectBuilder
RequestTrace trace = RequestTrace.newChild( null, configuration ).newChild( request );
ModelResolver resolver =
- new ProjectModelResolver( config.session, trace, repoSystem, repositoryManager, config.repositories,
- configuration.getRepositoryMerging(), config.modelPool );
+ new ProjectModelResolver( config.session, trace, repoSystem, repositoryManager, config.repositories,
+ configuration.getRepositoryMerging(), config.modelPool );
request.setValidationLevel( configuration.getValidationLevel() );
request.setProcessPlugins( configuration.isProcessPlugins() );
@@ -293,15 +290,15 @@ public class DefaultProjectBuilder
}
@Override
- public ProjectBuildingResult build( Artifact artifact, ProjectBuildingRequest request )
- throws ProjectBuildingException
+ public ProjectBuildingResult build(Artifact artifact, ProjectBuildingRequest request)
+ throws ProjectBuildingException
{
return build( artifact, false, request );
}
@Override
- public ProjectBuildingResult build( Artifact artifact, boolean allowStubModel, ProjectBuildingRequest request )
- throws ProjectBuildingException
+ public ProjectBuildingResult build(Artifact artifact, boolean allowStubModel, ProjectBuildingRequest request)
+ throws ProjectBuildingException
{
org.eclipse.aether.artifact.Artifact pomArtifact = RepositoryUtils.toArtifact( artifact );
pomArtifact = ArtifactDescriptorUtils.toPomArtifact( pomArtifact );
@@ -319,15 +316,14 @@ public class DefaultProjectBuilder
pomArtifact = pomResult.getArtifact();
localProject = pomResult.getRepository() instanceof WorkspaceRepository;
- }
- catch ( org.eclipse.aether.resolution.ArtifactResolutionException e )
+ } catch (org.eclipse.aether.resolution.ArtifactResolutionException e)
{
if ( e.getResults().get( 0 ).isMissing() && allowStubModel )
{
return build( null, createStubModelSource( artifact ), config );
}
throw new ProjectBuildingException( artifact.getId(),
- "Error resolving project artifact: " + e.getMessage(), e );
+ "Error resolving project artifact: " + e.getMessage(), e );
}
File pomFile = pomArtifact.getFile();
@@ -342,7 +338,7 @@ public class DefaultProjectBuilder
return build( localProject ? pomFile : null, new FileModelSource( pomFile ), config );
}
- private ModelSource createStubModelSource( Artifact artifact )
+ private ModelSource createStubModelSource(Artifact artifact)
{
StringBuilder buffer = new StringBuilder( 1024 );
@@ -359,23 +355,23 @@ public class DefaultProjectBuilder
}
@Override
- public List<ProjectBuildingResult> build( List<File> pomFiles, boolean recursive, ProjectBuildingRequest request )
- throws ProjectBuildingException
+ public List< ProjectBuildingResult > build(List< File > pomFiles, boolean recursive, ProjectBuildingRequest request)
+ throws ProjectBuildingException
{
- List<ProjectBuildingResult> results = new ArrayList<>();
+ List< ProjectBuildingResult > results = new ArrayList<>();
- List<InterimResult> interimResults = new ArrayList<>();
+ List< InterimResult > interimResults = new ArrayList<>();
ReactorModelPool modelPool = new ReactorModelPool();
InternalConfig config = new InternalConfig( request, modelPool,
useGlobalModelCache() ? getModelCache() : new ReactorModelCache() );
- Map<String, MavenProject> projectIndex = new HashMap<>( 256 );
+ Map< String, MavenProject > projectIndex = new HashMap<>( 256 );
boolean noErrors =
- build( results, interimResults, projectIndex, pomFiles, new LinkedHashSet<File>(), true, recursive,
- config );
+ build( results, interimResults, projectIndex, pomFiles, new LinkedHashSet< File >(), true, recursive,
+ config );
populateReactorModelPool( modelPool, interimResults );
@@ -384,10 +380,9 @@ public class DefaultProjectBuilder
try
{
noErrors =
- build( results, new ArrayList<MavenProject>(), projectIndex, interimResults, request,
- new HashMap<File, Boolean>(), config.session ) && noErrors;
- }
- finally
+ build( results, new ArrayList< MavenProject >(), projectIndex, interimResults, request,
+ new HashMap< File, Boolean >(), config.session ) && noErrors;
+ } finally
{
Thread.currentThread().setContextClassLoader( oldContextClassLoader );
}
@@ -401,9 +396,9 @@ public class DefaultProjectBuilder
}
@SuppressWarnings( "checkstyle:parameternumber" )
- private boolean build( List<ProjectBuildingResult> results, List<InterimResult> interimResults,
- Map<String, MavenProject> projectIndex, List<File> pomFiles, Set<File> aggregatorFiles,
- boolean isRoot, boolean recursive, InternalConfig config )
+ private boolean build(List< ProjectBuildingResult > results, List< InterimResult > interimResults,
+ Map< String, MavenProject > projectIndex, List< File > pomFiles, Set< File > aggregatorFiles,
+ boolean isRoot, boolean recursive, InternalConfig config)
{
boolean noErrors = true;
@@ -423,9 +418,9 @@ public class DefaultProjectBuilder
}
@SuppressWarnings( "checkstyle:parameternumber" )
- private boolean build( List<ProjectBuildingResult> results, List<InterimResult> interimResults,
- Map<String, MavenProject> projectIndex, File pomFile, Set<File> aggregatorFiles,
- boolean isRoot, boolean recursive, InternalConfig config )
+ private boolean build(List< ProjectBuildingResult > results, List< InterimResult > interimResults,
+ Map< String, MavenProject > projectIndex, File pomFile, Set< File > aggregatorFiles,
+ boolean isRoot, boolean recursive, InternalConfig config)
{
boolean noErrors = true;
@@ -439,22 +434,21 @@ public class DefaultProjectBuilder
request.setLocationTracking( true );
DefaultModelBuildingListener listener =
- new DefaultModelBuildingListener( project, projectBuildingHelper, config.request );
+ new DefaultModelBuildingListener( project, projectBuildingHelper, config.request );
request.setModelBuildingListener( listener );
ModelBuildingResult result;
try
{
result = modelBuilder.build( request );
- }
- catch ( ModelBuildingException e )
+ } catch (ModelBuildingException e)
{
result = e.getResult();
if ( result == null || result.getEffectiveModel() == null )
{
- results.add( new DefaultProjectBuildingResult( e.getModelId(), pomFile, e.getProblems() ) );
+ results.add( new DefaultProjectBuildingResult( e.getModelId(), pomFile, e.getProblems() ) );
- return false;
+ return false;
}
// validation error, continue project building and delay failing to help IDEs
// result.getProblems().addAll(e.getProblems()) ?
@@ -465,12 +459,11 @@ public class DefaultProjectBuilder
try
{
// first pass: build without building parent.
- initProject( project, projectIndex, false, result, new HashMap<File, Boolean>( 0 ), config.request );
- }
- catch ( InvalidArtifactRTException iarte )
+ initProject( project, projectIndex, false, result, new HashMap< File, Boolean >( 0 ), config.request );
+ } catch (InvalidArtifactRTException iarte)
{
result.getProblems().add( new DefaultModelProblem( null, ModelProblem.Severity.ERROR, null, model, -1, -1,
- iarte ) );
+ iarte ) );
}
projectIndex.put( result.getModelIds().get( 0 ), project );
@@ -482,7 +475,7 @@ public class DefaultProjectBuilder
{
File basedir = pomFile.getParentFile();
- List<File> moduleFiles = new ArrayList<>();
+ List< File > moduleFiles = new ArrayList<>();
for ( String module : model.getModules() )
{
@@ -503,9 +496,9 @@ public class DefaultProjectBuilder
if ( !moduleFile.isFile() )
{
ModelProblem problem =
- new DefaultModelProblem( "Child module " + moduleFile + " of " + pomFile
- + " does not exist", ModelProblem.Severity.ERROR, ModelProblem.Version.BASE, model, -1,
- -1, null );
+ new DefaultModelProblem( "Child module " + moduleFile + " of " + pomFile
+ + " does not exist", ModelProblem.Severity.ERROR, ModelProblem.Version.BASE, model, -1,
+ -1, null );
result.getProblems().add( problem );
noErrors = false;
@@ -519,13 +512,11 @@ public class DefaultProjectBuilder
try
{
moduleFile = moduleFile.getCanonicalFile();
- }
- catch ( IOException e )
+ } catch (IOException e)
{
moduleFile = moduleFile.getAbsoluteFile();
}
- }
- else
+ } else
{
moduleFile = new File( moduleFile.toURI().normalize() );
}
@@ -540,9 +531,9 @@ public class DefaultProjectBuilder
buffer.append( moduleFile );
ModelProblem problem =
- new DefaultModelProblem( "Child module " + moduleFile + " of " + pomFile
- + " forms aggregation cycle " + buffer, ModelProblem.Severity.ERROR,
- ModelProblem.Version.BASE, model, -1, -1, null );
+ new DefaultModelProblem( "Child module " + moduleFile + " of " + pomFile
+ + " forms aggregation cycle " + buffer, ModelProblem.Severity.ERROR,
+ ModelProblem.Version.BASE, model, -1, -1, null );
result.getProblems().add( problem );
noErrors = false;
@@ -556,7 +547,7 @@ public class DefaultProjectBuilder
interimResult.modules = new ArrayList<>();
if ( !build( results, interimResult.modules, projectIndex, moduleFiles, aggregatorFiles, false,
- recursive, config ) )
+ recursive, config ) )
{
noErrors = false;
}
@@ -578,10 +569,10 @@ public class DefaultProjectBuilder
boolean root;
- List<InterimResult> modules = Collections.emptyList();
+ List< InterimResult > modules = Collections.emptyList();
- InterimResult( File pomFile, ModelBuildingRequest request, ModelBuildingResult result,
- DefaultModelBuildingListener listener, boolean root )
+ InterimResult(File pomFile, ModelBuildingRequest request, ModelBuildingResult result,
+ DefaultModelBuildingListener listener, boolean root)
{
this.pomFile = pomFile;
this.request = request;
@@ -592,7 +583,7 @@ public class DefaultProjectBuilder
}
- private void populateReactorModelPool( ReactorModelPool reactorModelPool, List<InterimResult> interimResults )
+ private void populateReactorModelPool(ReactorModelPool reactorModelPool, List< InterimResult > interimResults)
{
for ( InterimResult interimResult : interimResults )
{
@@ -603,10 +594,10 @@ public class DefaultProjectBuilder
}
}
- private boolean build( List<ProjectBuildingResult> results, List<MavenProject> projects,
- Map<String, MavenProject> projectIndex, List<InterimResult> interimResults,
- ProjectBuildingRequest request, Map<File, Boolean> profilesXmls,
- RepositorySystemSession session )
+ private boolean build(List< ProjectBuildingResult > results, List< MavenProject > projects,
+ Map< String, MavenProject > projectIndex, List< InterimResult > interimResults,
+ ProjectBuildingRequest request, Map< File, Boolean > profilesXmls,
+ RepositorySystemSession session)
{
boolean noErrors = true;
@@ -621,17 +612,16 @@ public class DefaultProjectBuilder
try
{
initProject( project, projectIndex, true, result, profilesXmls, request );
- }
- catch ( InvalidArtifactRTException iarte )
+ } catch (InvalidArtifactRTException iarte)
{
result.getProblems().add( new DefaultModelProblem( null, ModelProblem.Severity.ERROR, null,
result.getEffectiveModel(), -1, -1, iarte ) );
}
- List<MavenProject> modules = new ArrayList<>();
+ List< MavenProject > modules = new ArrayList<>();
noErrors =
- build( results, modules, projectIndex, interimResult.modules, request, profilesXmls, session )
- && noErrors;
+ build( results, modules, projectIndex, interimResult.modules, request, profilesXmls, session )
+ && noErrors;
projects.addAll( modules );
projects.add( project );
@@ -645,15 +635,13 @@ public class DefaultProjectBuilder
}
results.add( new DefaultProjectBuildingResult( project, result.getProblems(), resolutionResult ) );
- }
- catch ( ModelBuildingException e )
+ } catch (ModelBuildingException e)
{
DefaultProjectBuildingResult result = null;
if ( project == null )
{
result = new DefaultProjectBuildingResult( e.getModelId(), interimResult.pomFile, e.getProblems() );
- }
- else
+ } else
{
result = new DefaultProjectBuildingResult( project, e.getProblems(), null );
}
@@ -667,9 +655,9 @@ public class DefaultProjectBuilder
}
@SuppressWarnings( "checkstyle:methodlength" )
- private void initProject( MavenProject project, Map<String, MavenProject> projects,
- boolean buildParentIfNotExisting, ModelBuildingResult result,
- Map<File, Boolean> profilesXmls, ProjectBuildingRequest projectBuildingRequest )
+ private void initProject(MavenProject project, Map< String, MavenProject > projects,
+ boolean buildParentIfNotExisting, ModelBuildingResult result,
+ Map< File, Boolean > profilesXmls, ProjectBuildingRequest projectBuildingRequest)
{
Model model = result.getEffectiveModel();
@@ -680,8 +668,8 @@ public class DefaultProjectBuilder
initParent( project, projects, buildParentIfNotExisting, result, projectBuildingRequest );
Artifact projectArtifact =
- repositorySystem.createArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion(), null,
- project.getPackaging() );
+ repositorySystem.createArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion(), null,
+ project.getPackaging() );
project.setArtifact( projectArtifact );
if ( project.getFile() != null && buildParentIfNotExisting ) // only set those on 2nd phase, ignore on 1st pass
@@ -692,7 +680,7 @@ public class DefaultProjectBuilder
project.addTestCompileSourceRoot( build.getTestSourceDirectory() );
}
- List<Profile> activeProfiles = new ArrayList<>();
+ List< Profile > activeProfiles = new ArrayList<>();
activeProfiles.addAll( result.getActivePomProfiles( result.getModelIds().get( 0 ) ) );
activeProfiles.addAll( result.getActiveExternalProfiles() );
project.setActiveProfiles( activeProfiles );
@@ -707,9 +695,9 @@ public class DefaultProjectBuilder
if ( modelId != null )
{
ModelProblem problem =
- new DefaultModelProblem( "Detected profiles.xml alongside " + modelId
- + ", this file is no longer supported and was ignored" + ", please use the settings.xml instead",
- ModelProblem.Severity.WARNING, ModelProblem.Version.V30, model, -1, -1, null );
+ new DefaultModelProblem( "Detected profiles.xml alongside " + modelId
+ + ", this file is no longer supported and was ignored" + ", please use the settings.xml instead",
+ ModelProblem.Severity.WARNING, ModelProblem.Version.V30, model, -1, -1, null );
result.getProblems().add( problem );
}
@@ -720,20 +708,18 @@ public class DefaultProjectBuilder
project.setProjectBuildingRequest( projectBuildingRequest );
// pluginArtifacts
- Set<Artifact> pluginArtifacts = new HashSet<>();
- for ( Plugin plugin : project.getBuildPlugins() )
- {
- Artifact artifact = repositorySystem.createPluginArtifact( plugin );
+ Set< Artifact > pluginArtifacts = project.getBuildPlugins()
+ .stream()
+ .map( plugin -> repositorySystem.createPluginArtifact( plugin ) )
+ .filter( artifact -> artifact != null )
+ .collect( Collectors.toSet() );
- if ( artifact != null )
- {
- pluginArtifacts.add( artifact );
- }
- }
project.setPluginArtifacts( pluginArtifacts );
// reportArtifacts
- Set<Artifact> reportArtifacts = new HashSet<>();
+ project.getReportPlugins().stream()
+ .map;
+ Set< Artifact > reportArtifacts = new HashSet<>();
for ( ReportPlugin report : project.getReportPlugins() )
{
Plugin pp = new Plugin();
@@ -751,8 +737,8 @@ public class DefaultProjectBuilder
project.setReportArtifacts( reportArtifacts );
// extensionArtifacts
- Set<Artifact> extensionArtifacts = new HashSet<>();
- List<Extension> extensions = project.getBuildExtensions();
+ Set< Artifact > extensionArtifacts = new HashSet<>();
+ List< Extension > extensions = project.getBuildExtensions();
if ( extensions != null )
{
for ( Extension ext : extensions )
@@ -761,14 +747,13 @@ public class DefaultProjectBuilder
if ( StringUtils.isEmpty( ext.getVersion() ) )
{
version = "RELEASE";
- }
- else
+ } else
{
version = ext.getVersion();
}
Artifact artifact =
- repositorySystem.createArtifact( ext.getGroupId(), ext.getArtifactId(), version, null, "jar" );
+ repositorySystem.createArtifact( ext.getGroupId(), ext.getArtifactId(), version, null, "jar" );
if ( artifact != null )
{
@@ -779,54 +764,54 @@ public class DefaultProjectBuilder
project.setExtensionArtifacts( extensionArtifacts );
// managedVersionMap
- Map<String, Artifact> map = null;
+ Map< String, Artifact > map = null;
if ( repositorySystem != null )
{
final DependencyManagement dependencyManagement = project.getDependencyManagement();
if ( ( dependencyManagement != null ) && ( ( dependencyManagement.getDependencies() ) != null )
- && ( dependencyManagement.getDependencies().size() > 0 ) )
+ && ( dependencyManagement.getDependencies().size() > 0 ) )
{
- map = new AbstractMap<String, Artifact>()
+ map = new AbstractMap< String, Artifact >()
{
- HashMap<String, Artifact> delegate;
+ HashMap< String, Artifact > delegate;
@Override
- public Set<Entry<String, Artifact>> entrySet()
+ public Set< Entry< String, Artifact > > entrySet()
{
return Collections.unmodifiableSet( compute().entrySet() );
}
@Override
- public Set<String> keySet()
+ public Set< String > keySet()
{
return Collections.unmodifiableSet( compute().keySet() );
}
@Override
- public Collection<Artifact> values()
+ public Collection< Artifact > values()
{
return Collections.unmodifiableCollection( compute().values() );
}
@Override
- public boolean containsValue( Object value )
+ public boolean containsValue(Object value)
{
return compute().containsValue( value );
}
@Override
- public boolean containsKey( Object key )
+ public boolean containsKey(Object key)
{
return compute().containsKey( key );
}
@Override
- public Artifact get( Object key )
+ public Artifact get(Object key)
{
return compute().get( key );
}
- HashMap<String, Artifact> compute()
+ HashMap< String, Artifact > compute()
{
if ( delegate == null )
{
@@ -845,8 +830,7 @@ public class DefaultProjectBuilder
return delegate;
}
};
- }
- else
+ } else
{
map = Collections.emptyMap();
}
@@ -855,7 +839,7 @@ public class DefaultProjectBuilder
// release artifact repository
if ( project.getDistributionManagement() != null
- && project.getDistributionManagement().getRepository() != null )
+ && project.getDistributionManagement().getRepository() != null )
{
try
{
@@ -864,22 +848,21 @@ public class DefaultProjectBuilder
{
ArtifactRepository repo = repositorySystem.buildArtifactRepository( r );
repositorySystem.injectProxy( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
+ Arrays.asList( repo ) );
repositorySystem.injectAuthentication( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
+ Arrays.asList( repo ) );
project.setReleaseArtifactRepository( repo );
}
- }
- catch ( InvalidRepositoryException e )
+ } catch (InvalidRepositoryException e)
{
throw new IllegalStateException( "Failed to create release distribution repository for "
- + project.getId(), e );
+ + project.getId(), e );
}
}
// snapshot artifact repository
if ( project.getDistributionManagement() != null
- && project.getDistributionManagement().getSnapshotRepository() != null )
+ && project.getDistributionManagement().getSnapshotRepository() != null )
{
try
{
@@ -888,26 +871,25 @@ public class DefaultProjectBuilder
{
ArtifactRepository repo = repositorySystem.buildArtifactRepository( r );
repositorySystem.injectProxy( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
+ Arrays.asList( repo ) );
repositorySystem.injectAuthentication( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
+ Arrays.asList( repo ) );
project.setSnapshotArtifactRepository( repo );
}
- }
- catch ( InvalidRepositoryException e )
+ } catch (InvalidRepositoryException e)
{
throw new IllegalStateException( "Failed to create snapshot distribution repository for "
- + project.getId(), e );
+ + project.getId(), e );
}
}
}
- private void initParent( MavenProject project, Map<String, MavenProject> projects, boolean buildParentIfNotExisting,
- ModelBuildingResult result, ProjectBuildingRequest projectBuildingRequest )
+ private void initParent(MavenProject project, Map< String, MavenProject > projects, boolean buildParentIfNotExisting,
+ ModelBuildingResult result, ProjectBuildingRequest projectBuildingRequest)
{
Model parentModel = result.getModelIds().size() > 1 && !result.getModelIds().get( 1 ).isEmpty()
- ? result.getRawModel( result.getModelIds().get( 1 ) )
- : null;
+ ? result.getRawModel( result.getModelIds().get( 1 ) )
+ : null;
if ( parentModel != null )
{
@@ -915,8 +897,8 @@ public class DefaultProjectBuilder
final String parentVersion = inheritedVersion( result, 1 );
project.setParentArtifact( repositorySystem.createProjectArtifact( parentGroupId,
- parentModel.getArtifactId(),
- parentVersion ) );
+ parentModel.getArtifactId(),
+ parentVersion ) );
// org.apache.maven.its.mng4834:parent:0.1
String parentModelId = result.getModelIds().get( 1 );
@@ -936,38 +918,33 @@ public class DefaultProjectBuilder
try
{
parent = build( parentPomFile, projectBuildingRequest ).getProject();
- }
- catch ( ProjectBuildingException e )
+ } catch (ProjectBuildingException e)
{
// MNG-4488 where let invalid parents slide on by
if ( logger.isDebugEnabled() )
{
// Message below is checked for in the MNG-2199 core IT.
logger.warn( "Failed to build parent project for " + project.getId(), e );
- }
- else
+ } else
{
// Message below is checked for in the MNG-2199 core IT.
logger.warn( "Failed to build parent project for " + project.getId() );
}
}
- }
- else
+ } else
{
Artifact parentArtifact = project.getParentArtifact();
try
{
parent = build( parentArtifact, projectBuildingRequest ).getProject();
- }
- catch ( ProjectBuildingException e )
+ } catch (ProjectBuildingException e)
{
// MNG-4488 where let invalid parents slide on by
if ( logger.isDebugEnabled() )
{
// Message below is checked for in the MNG-2199 core IT.
logger.warn( "Failed to build parent project for " + project.getId(), e );
- }
- else
+ } else
{
// Message below is checked for in the MNG-2199 core IT.
logger.warn( "Failed to build parent project for " + project.getId() );
@@ -983,7 +960,7 @@ public class DefaultProjectBuilder
}
}
- private static String inheritedGroupId( final ModelBuildingResult result, final int modelIndex )
+ private static String inheritedGroupId(final ModelBuildingResult result, final int modelIndex)
{
String groupId = null;
final String modelId = result.getModelIds().get( modelIndex );
@@ -992,15 +969,15 @@ public class DefaultProjectBuilder
{
final Model model = result.getRawModel( modelId );
groupId = model.getGroupId() != null
- ? model.getGroupId()
- : inheritedGroupId( result, modelIndex + 1 );
+ ? model.getGroupId()
+ : inheritedGroupId( result, modelIndex + 1 );
}
return groupId;
}
- private static String inheritedVersion( final ModelBuildingResult result, final int modelIndex )
+ private static String inheritedVersion(final ModelBuildingResult result, final int modelIndex)
{
String version = null;
final String modelId = result.getModelIds().get( modelIndex );
@@ -1009,15 +986,15 @@ public class DefaultProjectBuilder
{
final Model model = result.getRawModel( modelId );
version = model.getVersion() != null
- ? model.getVersion()
- : inheritedVersion( result, modelIndex + 1 );
+ ? model.getVersion()
+ : inheritedVersion( result, modelIndex + 1 );
}
return version;
}
- private String findProfilesXml( ModelBuildingResult result, Map<File, Boolean> profilesXmls )
+ private String findProfilesXml(ModelBuildingResult result, Map< File, Boolean > profilesXmls)
{
for ( String modelId : result.getModelIds() )
{
@@ -1054,20 +1031,20 @@ public class DefaultProjectBuilder
private final RepositorySystemSession session;
- private final List<RemoteRepository> repositories;
+ private final List< RemoteRepository > repositories;
private final ReactorModelPool modelPool;
private final ReactorModelCache modelCache;
- InternalConfig( ProjectBuildingRequest request, ReactorModelPool modelPool, ReactorModelCache modelCache )
+ InternalConfig(ProjectBuildingRequest request, ReactorModelPool modelPool, ReactorModelCache modelCache)
{
this.request = request;
this.modelPool = modelPool;
this.modelCache = modelCache;
session =
- LegacyLocalRepositoryManager.overlay( request.getLocalRepository(), request.getRepositorySession(),
- repoSystem );
+ LegacyLocalRepositoryManager.overlay( request.getLocalRepository(), request.getRepositorySession(),
+ repoSystem );
repositories = RepositoryUtils.toRepos( request.getRemoteRepositories() );
}
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java b/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
index 17da655..ca4d1e7 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java
@@ -19,13 +19,6 @@ package org.apache.maven.cli.event;
* under the License.
*/
-import static org.apache.maven.cli.CLIReportingUtils.formatDuration;
-import static org.apache.maven.cli.CLIReportingUtils.formatTimestamp;
-import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
-
-import java.util.List;
-import java.util.Objects;
-
import org.apache.maven.execution.AbstractExecutionListener;
import org.apache.maven.execution.BuildFailure;
import org.apache.maven.execution.BuildSuccess;
@@ -41,13 +34,20 @@ import org.codehaus.plexus.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.List;
+import java.util.Objects;
+
+import static org.apache.maven.cli.CLIReportingUtils.formatDuration;
+import static org.apache.maven.cli.CLIReportingUtils.formatTimestamp;
+import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
+
/**
* Logs execution events to logger, eventually user-supplied.
*
* @author Benjamin Bentmann
*/
public class ExecutionEventLogger
- extends AbstractExecutionListener
+ extends AbstractExecutionListener
{
private final Logger logger;
@@ -64,12 +64,12 @@ public class ExecutionEventLogger
}
// TODO should we deprecate?
- public ExecutionEventLogger( Logger logger )
+ public ExecutionEventLogger(Logger logger)
{
this.logger = Objects.requireNonNull( logger, "logger cannot be null" );
}
- private static String chars( char c, int count )
+ private static String chars(char c, int count)
{
StringBuilder buffer = new StringBuilder( count );
@@ -81,18 +81,18 @@ public class ExecutionEventLogger
return buffer.toString();
}
- private void infoLine( char c )
+ private void infoLine(char c)
{
infoMain( chars( c, LINE_LENGTH ) );
}
- private void infoMain( String msg )
+ private void infoMain(String msg)
{
logger.info( buffer().strong( msg ).toString() );
}
@Override
- public void projectDiscoveryStarted( ExecutionEvent event )
+ public void projectDiscoveryStarted(ExecutionEvent event)
{
if ( logger.isInfoEnabled() )
{
@@ -101,7 +101,7 @@ public class ExecutionEventLogger
}
@Override
- public void sessionStarted( ExecutionEvent event )
+ public void sessionStarted(ExecutionEvent event)
{
if ( logger.isInfoEnabled() && event.getSession().getProjects().size() > 1 )
{
@@ -111,7 +111,7 @@ public class ExecutionEventLogger
logger.info( "" );
- final List<MavenProject> projects = event.getSession().getProjects();
+ final List< MavenProject > projects = event.getSession().getProjects();
for ( MavenProject project : projects )
{
int len = LINE_LENGTH - project.getName().length() - project.getPackaging().length() - 2;
@@ -124,7 +124,7 @@ public class ExecutionEventLogger
}
@Override
- public void sessionEnded( ExecutionEvent event )
+ public void sessionEnded(ExecutionEvent event)
{
if ( logger.isInfoEnabled() )
{
@@ -141,25 +141,16 @@ public class ExecutionEventLogger
}
}
- private boolean isSingleVersionedReactor( MavenSession session )
+ private boolean isSingleVersionedReactor(MavenSession session)
{
- boolean result = true;
-
MavenProject topProject = session.getTopLevelProject();
- List<MavenProject> sortedProjects = session.getProjectDependencyGraph().getSortedProjects();
- for ( MavenProject mavenProject : sortedProjects )
- {
- if ( !topProject.getVersion().equals( mavenProject.getVersion() ) )
- {
- result = false;
- break;
- }
- }
+ List< MavenProject > sortedProjects = session.getProjectDependencyGraph().getSortedProjects();
- return result;
+ return sortedProjects.stream()
+ .anyMatch( mavenProject -> !topProject.getVersion().equals( mavenProject.getVersion() ) );
}
- private void logReactorSummary( MavenSession session )
+ private void logReactorSummary(MavenSession session)
{
boolean isSingleVersion = isSingleVersionedReactor( session );
@@ -180,7 +171,7 @@ public class ExecutionEventLogger
MavenExecutionResult result = session.getResult();
- List<MavenProject> projects = session.getProjects();
+ List< MavenProject > projects = session.getProjects();
for ( MavenProject project : projects )
{
@@ -209,8 +200,7 @@ public class ExecutionEventLogger
if ( buildSummary == null )
{
buffer.append( buffer().warning( "SKIPPED" ) );
- }
- else if ( buildSummary instanceof BuildSuccess )
+ } else if ( buildSummary instanceof BuildSuccess )
{
buffer.append( buffer().success( "SUCCESS" ) );
buffer.append( " [" );
@@ -222,8 +212,7 @@ public class ExecutionEventLogger
}
buffer.append( buildTimeDuration );
buffer.append( ']' );
- }
- else if ( buildSummary instanceof BuildFailure )
+ } else if ( buildSummary instanceof BuildFailure )
{
buffer.append( buffer().failure( "FAILURE" ) );
buffer.append( " [" );
@@ -241,7 +230,7 @@ public class ExecutionEventLogger
}
}
- private void logResult( MavenSession session )
+ private void logResult(MavenSession session)
{
infoLine( '-' );
MessageBuilder buffer = buffer();
@@ -249,15 +238,14 @@ public class ExecutionEventLogger
if ( session.getResult().hasExceptions() )
{
buffer.failure( "BUILD FAILURE" );
- }
- else
+ } else
{
buffer.success( "BUILD SUCCESS" );
}
logger.info( buffer.toString() );
}
- private void logStats( MavenSession session )
+ private void logStats(MavenSession session)
{
infoLine( '-' );
@@ -273,7 +261,7 @@ public class ExecutionEventLogger
}
@Override
- public void projectSkipped( ExecutionEvent event )
+ public void projectSkipped(ExecutionEvent event)
{
if ( logger.isInfoEnabled() )
{
@@ -288,7 +276,7 @@ public class ExecutionEventLogger
}
@Override
- public void projectStarted( ExecutionEvent event )
+ public void projectStarted(ExecutionEvent event)
{
if ( logger.isInfoEnabled() )
{
@@ -298,8 +286,8 @@ public class ExecutionEventLogger
// -------< groupId:artifactId >-------
String projectKey = project.getGroupId() + ':' + project.getArtifactId();
-
- final String preHeader = "--< ";
+
+ final String preHeader = "--< ";
final String postHeader = " >--";
final int headerLen = preHeader.length() + projectKey.length() + postHeader.length();
@@ -307,7 +295,7 @@ public class ExecutionEventLogger
String prefix = chars( '-', Math.max( 0, ( LINE_LENGTH - headerLen ) / 2 ) ) + preHeader;
String suffix = postHeader
- + chars( '-', Math.max( 0, LINE_LENGTH - headerLen - prefix.length() + preHeader.length() ) );
+ + chars( '-', Math.max( 0, LINE_LENGTH - headerLen - prefix.length() + preHeader.length() ) );
logger.info( buffer().strong( prefix ).project( projectKey ).strong( suffix ).toString() );
@@ -317,8 +305,7 @@ public class ExecutionEventLogger
if ( totalProjects <= 1 )
{
infoMain( building );
- }
- else
+ } else
{
// display progress [i/n]
int number;
@@ -341,7 +328,7 @@ public class ExecutionEventLogger
}
@Override
- public void mojoSkipped( ExecutionEvent event )
+ public void mojoSkipped(ExecutionEvent event)
{
if ( logger.isWarnEnabled() )
{
@@ -354,7 +341,7 @@ public class ExecutionEventLogger
* <pre>--- mojo-artifactId:version:goal (mojo-executionId) @ project-artifactId ---</pre>
*/
@Override
- public void mojoStarted( ExecutionEvent event )
+ public void mojoStarted(ExecutionEvent event)
{
if ( logger.isInfoEnabled() )
{
@@ -370,13 +357,14 @@ public class ExecutionEventLogger
}
// CHECKSTYLE_OFF: LineLength
+
/**
* <pre>>>> mojo-artifactId:version:goal (mojo-executionId) > :forked-goal @ project-artifactId >>></pre>
* <pre>>>> mojo-artifactId:version:goal (mojo-executionId) > [lifecycle]phase @ project-artifactId >>></pre>
*/
// CHECKSTYLE_ON: LineLength
@Override
- public void forkStarted( ExecutionEvent event )
+ public void forkStarted(ExecutionEvent event)
{
if ( logger.isInfoEnabled() )
{
@@ -394,13 +382,14 @@ public class ExecutionEventLogger
}
// CHECKSTYLE_OFF: LineLength
+
/**
* <pre><<< mojo-artifactId:version:goal (mojo-executionId) < :forked-goal @ project-artifactId <<<</pre>
* <pre><<< mojo-artifactId:version:goal (mojo-executionId) < [lifecycle]phase @ project-artifactId <<<</pre>
*/
// CHECKSTYLE_ON: LineLength
@Override
- public void forkSucceeded( ExecutionEvent event )
+ public void forkSucceeded(ExecutionEvent event)
{
if ( logger.isInfoEnabled() )
{
@@ -419,7 +408,7 @@ public class ExecutionEventLogger
}
}
- private void append( MessageBuilder buffer, MojoExecution me )
+ private void append(MessageBuilder buffer, MojoExecution me)
{
buffer.mojo( me.getArtifactId() + ':' + me.getVersion() + ':' + me.getGoal() );
if ( me.getExecutionId() != null )
@@ -428,7 +417,7 @@ public class ExecutionEventLogger
}
}
- private void appendForkInfo( MessageBuilder buffer, MojoDescriptor md )
+ private void appendForkInfo(MessageBuilder buffer, MojoDescriptor md)
{
StringBuilder buff = new StringBuilder();
if ( StringUtils.isNotEmpty( md.getExecutePhase() ) )
@@ -441,8 +430,7 @@ public class ExecutionEventLogger
buff.append( ']' );
}
buff.append( md.getExecutePhase() );
- }
- else
+ } else
{
// forked goal
buff.append( ':' );
@@ -451,13 +439,13 @@ public class ExecutionEventLogger
buffer.strong( buff.toString() );
}
- private void append( MessageBuilder buffer, MavenProject project )
+ private void append(MessageBuilder buffer, MavenProject project)
{
buffer.a( " @ " ).project( project.getArtifactId() );
}
@Override
- public void forkedProjectStarted( ExecutionEvent event )
+ public void forkedProjectStarted(ExecutionEvent event)
{
if ( logger.isInfoEnabled() && event.getMojoExecution().getForkedExecutions().size() > 1 )
{