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 7b471d3129..b0a2daaf11 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 @@ -49,6 +49,7 @@ import org.apache.maven.repository.RepositorySystem; import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; +import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.StringUtils; @@ -60,6 +61,9 @@ public class DefaultProjectBuilder implements ProjectBuilder { + @Requirement + private Logger logger; + @Requirement private ModelBuilder modelBuilder; @@ -106,7 +110,7 @@ private ProjectBuildingResult build( File pomFile, ModelSource modelSource, Proj { ModelBuildingRequest request = getModelBuildingRequest( configuration, null ); - project = new MavenProject( repositorySystem, this, configuration ); + project = new MavenProject( repositorySystem, this, configuration, logger ); DefaultModelBuildingListener listener = new DefaultModelBuildingListener( project, projectBuildingHelper, configuration ); @@ -313,7 +317,7 @@ private boolean build( List results, List { ModelBuildingRequest request = getModelBuildingRequest( config, reactorModelPool ); - MavenProject project = new MavenProject( repositorySystem, this, config ); + MavenProject project = new MavenProject( repositorySystem, this, config, logger ); request.setPomFile( pomFile ); request.setTwoPhaseBuilding( true ); diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java index 7e8dd0372d..03d60184bb 100644 --- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java +++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java @@ -72,6 +72,7 @@ import org.apache.maven.project.artifact.MavenMetadataSource; import org.apache.maven.repository.RepositorySystem; import org.codehaus.plexus.classworlds.realm.ClassRealm; +import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.Xpp3Dom; @@ -181,6 +182,8 @@ public class MavenProject private final Set lifecyclePhases = Collections.synchronizedSet( new LinkedHashSet() ); + private Logger logger; + public MavenProject() { Model model = new Model(); @@ -232,7 +235,7 @@ public void setParentFile( File parentFile ) * @throws InvalidRepositoryException */ MavenProject( RepositorySystem repositorySystem, ProjectBuilder mavenProjectBuilder, - ProjectBuildingRequest projectBuilderConfiguration ) + ProjectBuildingRequest projectBuilderConfiguration, Logger logger ) { if ( repositorySystem == null ) { @@ -242,6 +245,7 @@ public void setParentFile( File parentFile ) this.mavenProjectBuilder = mavenProjectBuilder; this.projectBuilderConfiguration = projectBuilderConfiguration; this.repositorySystem = repositorySystem; + this.logger = logger; } @Deprecated @@ -345,8 +349,10 @@ public MavenProject getParent() } catch ( ProjectBuildingException e ) { - //TODO: awful - e.printStackTrace(); + if ( logger != null ) + { + logger.debug( "Failed to build parent project for " + getId(), e ); + } } } else if ( model.getParent() != null ) @@ -357,8 +363,10 @@ else if ( model.getParent() != null ) } catch ( ProjectBuildingException e ) { - // TODO: awful - e.printStackTrace(); + if ( logger != null ) + { + logger.debug( "Failed to build parent project for " + getId(), e ); + } } } } @@ -1423,8 +1431,10 @@ public void addAttachedArtifact( Artifact artifact ) if ( attachedArtifacts.contains( artifact ) ) { - //should add logger to this class: - System.out.println( "[Warning] Duplicate artifact: " + artifact.toString() ); + if ( logger != null ) + { + logger.warn( "Artifact " + artifact + " already attached to project, ignoring duplicate" ); + } return; //throw new DuplicateArtifactAttachmentException( this, artifact ); }