package org.codehaus.mojo.graphing.model.factory;
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.resolver.ResolutionListener;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.plugin.logging.Log;
/**
* Debug Resolution Listener, suitable for use from plugin.
*/
public class DebugResolutionListener
implements ResolutionListener
{
private Log log;
private String indent = "";
public DebugResolutionListener( Log logger )
{
this.log = logger;
}
public void testArtifact( Artifact node )
{
}
public void startProcessChildren( Artifact artifact )
{
indent += " ";
}
public void endProcessChildren( Artifact artifact )
{
indent = indent.substring( 2 );
}
public void includeArtifact( Artifact artifact )
{
log.debug( indent + artifact + " (selected for " + artifact.getScope() + ")" );
}
public void omitForNearer( Artifact omitted, Artifact kept )
{
log.debug( indent + omitted + " (removed - nearer found: " + kept.getVersion() + ")" );
}
public void omitForCycle( Artifact omitted )
{
log.debug( indent + omitted + " (removed - causes a cycle in the graph)" );
}
public void updateScopeCurrentPom( Artifact artifact, String scope )
{
log.debug( indent + artifact + " (not setting scope to: " + scope + "; local scope " + artifact.getScope() +
" wins)" );
}
public void updateScope( Artifact artifact, String scope )
{
log.debug( indent + artifact + " (setting scope to: " + scope + ")" );
}
public void selectVersionFromRange( Artifact artifact )
{
log.debug( indent + artifact + " (setting version to: " + artifact.getVersion() + " from range: " +
artifact.getVersionRange() + ")" );
}
public void restrictRange( Artifact artifact, Artifact replacement, VersionRange newRange )
{
log.debug( indent + artifact + " (range restricted from: " + artifact.getVersionRange() + " and: " +
replacement.getVersionRange() + " to: " + newRange + " )" );
}
public void manageArtifact( Artifact artifact, Artifact replacement )
{
String msg = indent + artifact;
msg += " (";
if ( replacement.getVersion() != null )
{
msg += "applying version: " + replacement.getVersion() + ";";
}
if ( replacement.getScope() != null )
{
msg += "applying scope: " + replacement.getScope();
}
msg += ")";
log.debug( msg );
}
}