You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/11/12 21:18:05 UTC
svn commit: r713492 - in /maven/mercury/trunk:
mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
mercury-plexus/pom.xml
Author: ogusakov
Date: Wed Nov 12 12:18:04 2008
New Revision: 713492
URL: http://svn.apache.org/viewvc?rev=713492&view=rev
Log:
debugging
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
maven/mercury/trunk/mercury-plexus/pom.xml
Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java?rev=713492&r1=713491&r2=713492&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java Wed Nov 12 12:18:04 2008
@@ -12,6 +12,8 @@
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
import org.apache.maven.mercury.artifact.api.ArtifactListProcessor;
import org.apache.maven.mercury.artifact.version.VersionException;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
import org.apache.maven.mercury.metadata.sat.DefaultSatSolver;
import org.apache.maven.mercury.metadata.sat.SatException;
import org.apache.maven.mercury.repository.api.ArtifactBasicResults;
@@ -32,6 +34,7 @@
implements DependencyBuilder
{
Language _lang = new DefaultLanguage(DependencyTreeBuilder.class);
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DependencyTreeBuilder.class );
private Collection<MetadataTreeArtifactFilter> _filters;
private List<Comparator<MetadataTreeNode>> _comparators;
@@ -104,6 +107,24 @@
return root;
}
//-----------------------------------------------------
+ private MetadataTreeNode deepCopy( MetadataTreeNode node, ArtifactScopeEnum scope )
+ {
+ MetadataTreeNode res = new MetadataTreeNode( node.getMd()
+ , node.getParent()
+ , node.getQuery()
+ , true
+ , scope
+ );
+ if( node.hasChildren() )
+ for( MetadataTreeNode kid : node.children )
+ {
+ MetadataTreeNode deepKid = deepCopy( kid, scope );
+ res.addChild( deepKid );
+ }
+
+ return res;
+ }
+ //-----------------------------------------------------
private MetadataTreeNode createNode( ArtifactBasicMetadata nodeMD, MetadataTreeNode parent, ArtifactBasicMetadata nodeQuery, ArtifactScopeEnum globalScope )
throws MetadataTreeException
{
@@ -112,10 +133,10 @@
ArtifactMetadata mr;
// TODO: og - removed this optimization as it may break something
-// MetadataTreeNode existingNode = existingNodes.get( nodeQuery.toString() );
-//
-// if( existingNode != null )
-// return existingNode;
+ MetadataTreeNode existingNode = existingNodes.get( nodeQuery.toString() );
+
+ if( existingNode != null )
+ return deepCopy( existingNode, globalScope );
try
{
@@ -151,6 +172,10 @@
for( ArtifactBasicMetadata md : dependencies )
{
+
+if( _log.isDebugEnabled() )
+ _log.debug("node "+nodeQuery+", dep "+md );
+
List<ArtifactBasicMetadata> versions = expandedDeps.get( md );
if( versions == null || versions.size() < 1 )
{
Modified: maven/mercury/trunk/mercury-plexus/pom.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-plexus/pom.xml?rev=713492&r1=713491&r2=713492&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-plexus/pom.xml (original)
+++ maven/mercury/trunk/mercury-plexus/pom.xml Wed Nov 12 12:18:04 2008
@@ -42,16 +42,19 @@
<artifactId>plexus-utils</artifactId>
<version>1.5.1</version>
</dependency>
+
<dependency>
<groupId>org.apache.maven.mercury</groupId>
<artifactId>mercury-repo-remote-m2</artifactId>
<version>${project.version}</version>
</dependency>
+
<dependency>
<groupId>org.apache.maven.mercury</groupId>
<artifactId>mercury-repo-virtual</artifactId>
<version>${project.version}</version>
</dependency>
+
<dependency>
<groupId>org.apache.maven.mercury</groupId>
<artifactId>mercury-md-sat</artifactId>