mirror of https://github.com/apache/maven.git
[MNG-6183] Dependency management debug message corrections.
This commit is contained in:
parent
51cc76c326
commit
da03d6b031
|
@ -29,8 +29,6 @@
|
||||||
import org.apache.maven.model.Dependency;
|
import org.apache.maven.model.Dependency;
|
||||||
import org.apache.maven.model.DependencyManagement;
|
import org.apache.maven.model.DependencyManagement;
|
||||||
import org.apache.maven.model.Exclusion;
|
import org.apache.maven.model.Exclusion;
|
||||||
import org.apache.maven.model.InputLocation;
|
|
||||||
import org.apache.maven.model.InputSource;
|
|
||||||
import org.codehaus.plexus.component.annotations.Component;
|
import org.codehaus.plexus.component.annotations.Component;
|
||||||
import org.codehaus.plexus.component.annotations.Requirement;
|
import org.codehaus.plexus.component.annotations.Requirement;
|
||||||
import org.codehaus.plexus.logging.Logger;
|
import org.codehaus.plexus.logging.Logger;
|
||||||
|
@ -39,7 +37,6 @@
|
||||||
import org.eclipse.aether.RepositorySystem;
|
import org.eclipse.aether.RepositorySystem;
|
||||||
import org.eclipse.aether.RepositorySystemSession;
|
import org.eclipse.aether.RepositorySystemSession;
|
||||||
import org.eclipse.aether.RequestTrace;
|
import org.eclipse.aether.RequestTrace;
|
||||||
import org.eclipse.aether.artifact.ArtifactProperties;
|
|
||||||
import org.eclipse.aether.artifact.ArtifactType;
|
import org.eclipse.aether.artifact.ArtifactType;
|
||||||
import org.eclipse.aether.artifact.ArtifactTypeRegistry;
|
import org.eclipse.aether.artifact.ArtifactTypeRegistry;
|
||||||
import org.eclipse.aether.collection.CollectRequest;
|
import org.eclipse.aether.collection.CollectRequest;
|
||||||
|
@ -239,8 +236,6 @@ class GraphLogger
|
||||||
|
|
||||||
private String indent = "";
|
private String indent = "";
|
||||||
|
|
||||||
private Map<String, Dependency> managed;
|
|
||||||
|
|
||||||
public GraphLogger( MavenProject project )
|
public GraphLogger( MavenProject project )
|
||||||
{
|
{
|
||||||
this.project = project;
|
this.project = project;
|
||||||
|
@ -258,29 +253,48 @@ public boolean visitEnter( DependencyNode node )
|
||||||
buffer.append( art );
|
buffer.append( art );
|
||||||
buffer.append( ':' ).append( dep.getScope() );
|
buffer.append( ':' ).append( dep.getScope() );
|
||||||
|
|
||||||
String premanagedScope = DependencyManagerUtils.getPremanagedScope( node );
|
// TODO We currently cannot tell which <dependencyManagement> section contained the management
|
||||||
if ( premanagedScope != null && !premanagedScope.equals( dep.getScope() ) )
|
// information. When resolver 1.1 provides this information, these log messages should be updated
|
||||||
|
// to contain it.
|
||||||
|
if ( ( node.getManagedBits() & DependencyNode.MANAGED_SCOPE ) == DependencyNode.MANAGED_SCOPE )
|
||||||
{
|
{
|
||||||
buffer.append( " (scope managed from " ).append( premanagedScope );
|
final String premanagedScope = DependencyManagerUtils.getPremanagedScope( node );
|
||||||
appendManagementSource( buffer, art, "scope" );
|
buffer.append( " (scope managed from " );
|
||||||
|
buffer.append( StringUtils.defaultString( premanagedScope, "default" ) );
|
||||||
buffer.append( ')' );
|
buffer.append( ')' );
|
||||||
}
|
}
|
||||||
|
|
||||||
String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node );
|
if ( ( node.getManagedBits() & DependencyNode.MANAGED_VERSION ) == DependencyNode.MANAGED_VERSION )
|
||||||
if ( premanagedVersion != null && !premanagedVersion.equals( art.getVersion() ) )
|
|
||||||
{
|
{
|
||||||
buffer.append( " (version managed from " ).append( premanagedVersion );
|
final String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node );
|
||||||
appendManagementSource( buffer, art, "version" );
|
buffer.append( " (version managed from " );
|
||||||
|
buffer.append( StringUtils.defaultString( premanagedVersion, "default" ) );
|
||||||
buffer.append( ')' );
|
buffer.append( ')' );
|
||||||
}
|
}
|
||||||
|
|
||||||
Boolean premanagedOptional = DependencyManagerUtils.getPremanagedOptional( node );
|
if ( ( node.getManagedBits() & DependencyNode.MANAGED_OPTIONAL ) == DependencyNode.MANAGED_OPTIONAL )
|
||||||
if ( premanagedOptional != null && !premanagedOptional.equals( dep.getOptional() ) )
|
|
||||||
{
|
{
|
||||||
buffer.append( " (optionality managed from " ).append( premanagedOptional );
|
final Boolean premanagedOptional = DependencyManagerUtils.getPremanagedOptional( node );
|
||||||
appendManagementSource( buffer, art, "optional" );
|
buffer.append( " (optionality managed from " );
|
||||||
|
buffer.append( StringUtils.defaultString( premanagedOptional, "default" ) );
|
||||||
buffer.append( ')' );
|
buffer.append( ')' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( ( node.getManagedBits() & DependencyNode.MANAGED_EXCLUSIONS )
|
||||||
|
== DependencyNode.MANAGED_EXCLUSIONS )
|
||||||
|
{
|
||||||
|
// TODO As of resolver 1.1, use DependencyManagerUtils.getPremanagedExclusions( node ).
|
||||||
|
// The resolver 1.0.x releases do not record premanaged state of exclusions.
|
||||||
|
buffer.append( " (exclusions managed)" );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ( node.getManagedBits() & DependencyNode.MANAGED_PROPERTIES )
|
||||||
|
== DependencyNode.MANAGED_PROPERTIES )
|
||||||
|
{
|
||||||
|
// TODO As of resolver 1.1, use DependencyManagerUtils.getPremanagedProperties( node ).
|
||||||
|
// The resolver 1.0.x releases do not record premanaged state of properties.
|
||||||
|
buffer.append( " (properties managed)" );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -301,41 +315,6 @@ public boolean visitLeave( DependencyNode node )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void appendManagementSource( StringBuilder buffer, org.eclipse.aether.artifact.Artifact artifact,
|
|
||||||
String field )
|
|
||||||
{
|
|
||||||
if ( managed == null )
|
|
||||||
{
|
|
||||||
managed = new HashMap<>();
|
|
||||||
if ( project.getDependencyManagement() != null )
|
|
||||||
{
|
|
||||||
for ( Dependency dep : project.getDependencyManagement().getDependencies() )
|
|
||||||
{
|
|
||||||
managed.put( dep.getManagementKey(), dep );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String key =
|
|
||||||
ArtifactIdUtils.toVersionlessId( artifact.getGroupId(), artifact.getArtifactId(),
|
|
||||||
artifact.getProperty( ArtifactProperties.TYPE, "jar" ),
|
|
||||||
artifact.getClassifier() );
|
|
||||||
|
|
||||||
Dependency dependency = managed.get( key );
|
|
||||||
if ( dependency != null )
|
|
||||||
{
|
|
||||||
InputLocation location = dependency.getLocation( field );
|
|
||||||
if ( location != null )
|
|
||||||
{
|
|
||||||
InputSource source = location.getSource();
|
|
||||||
if ( source != null )
|
|
||||||
{
|
|
||||||
buffer.append( " by " ).append( source.getModelId() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue