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>