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/10/30 23:24:20 UTC
svn commit: r709265 - in /maven/mercury/trunk: mercury-it/
mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/
mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/
mercury-md/mercury-md-sat/src/test/java/org/apache...
Author: ogusakov
Date: Thu Oct 30 15:24:18 2008
New Revision: 709265
URL: http://svn.apache.org/viewvc?rev=709265&view=rev
Log:
adjusting plexus component
Modified:
maven/mercury/trunk/mercury-it/pom.xml
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java
maven/mercury/trunk/mercury-pom/pom.xml
Modified: maven/mercury/trunk/mercury-it/pom.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/pom.xml?rev=709265&r1=709264&r2=709265&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/pom.xml (original)
+++ maven/mercury/trunk/mercury-it/pom.xml Thu Oct 30 15:24:18 2008
@@ -127,6 +127,21 @@
</build>
<dependencies>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
+ </dependency>
+
+
<dependency>
<groupId>org.apache.maven.mercury</groupId>
<artifactId>mercury-repo-api</artifactId>
Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java?rev=709265&r1=709264&r2=709265&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java Thu Oct 30 15:24:18 2008
@@ -118,7 +118,7 @@
// assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
- List<ArtifactMetadata> res = depBuilder.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = depBuilder.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( res );
Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java?rev=709265&r1=709264&r2=709265&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java Thu Oct 30 15:24:18 2008
@@ -15,7 +15,6 @@
*/
public interface DependencyBuilder
{
-
//------------------------------------------------------------------------
/**
* build the tree, using the repositories specified in the
@@ -26,14 +25,12 @@
* @return the root of the tree built
* @throws MetadataTreeException
*/
- public abstract MetadataTreeNode buildTree(
- ArtifactBasicMetadata startMD )
- throws MetadataTreeException;
+ public abstract MetadataTreeNode buildTree( ArtifactBasicMetadata startMD )
+ throws MetadataTreeException;
//-----------------------------------------------------
- public abstract List<ArtifactMetadata> resolveConflicts(
- ArtifactScopeEnum scope )
- throws MetadataTreeException;
+ public abstract List<ArtifactMetadata> resolveConflicts( MetadataTreeNode root, ArtifactScopeEnum scope )
+ throws MetadataTreeException;
//-----------------------------------------------------
//-----------------------------------------------------
Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java?rev=709265&r1=709264&r2=709265&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilderFactory.java Thu Oct 30 15:24:18 2008
@@ -31,7 +31,7 @@
, final Collection<MetadataTreeArtifactFilter> filters
, final List<Comparator<MetadataTreeNode>> comparators
, final Map<String,ArtifactListProcessor> processors
- , final List<Repository> repositories
+ , final Collection<Repository> repositories
, final DependencyProcessor processor
)
throws RepositoryException
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=709265&r1=709264&r2=709265&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 Thu Oct 30 15:24:18 2008
@@ -19,6 +19,7 @@
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.api.RepositoryException;
import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
+import org.apache.maven.mercury.util.Util;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
@@ -39,8 +40,6 @@
private VirtualRepositoryReader _reader;
- MetadataTreeNode _root;
-
Map< String, MetadataTreeNode > existingNodes;
/**
@@ -61,7 +60,7 @@
Collection<MetadataTreeArtifactFilter> filters
, List<Comparator<MetadataTreeNode>> comparators
, Map<String,ArtifactListProcessor> processors
- , List<Repository> repositories
+ , Collection<Repository> repositories
, DependencyProcessor processor
)
throws RepositoryException
@@ -102,8 +101,9 @@
existingNodes = new HashMap<String, MetadataTreeNode>(128);
- _root = createNode( startMD, null, startMD );
- return _root;
+ MetadataTreeNode root = createNode( startMD, null, startMD );
+
+ return root;
}
//-----------------------------------------------------
private MetadataTreeNode createNode( ArtifactBasicMetadata nodeMD, MetadataTreeNode parent, ArtifactBasicMetadata nodeQuery )
@@ -246,28 +246,68 @@
return true;
}
//-----------------------------------------------------
- public List<ArtifactMetadata> resolveConflicts( ArtifactScopeEnum scope )
+ public List<ArtifactMetadata> resolveConflicts( MetadataTreeNode root, ArtifactScopeEnum scope )
throws MetadataTreeException
{
- if( _root == null )
- throw new MetadataTreeException("null tree");
+ if( root == null )
+ throw new MetadataTreeException(_lang.getMessage( "empty.tree" ));
try
{
- DefaultSatSolver solver = new DefaultSatSolver( _root, scope );
+ DefaultSatSolver solver = new DefaultSatSolver( root, scope );
- if( _comparators == null )
- _comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
+ solver.applyPolicies( getComparators() );
+
+ List<ArtifactMetadata> res = solver.solve();
- if( _comparators.size() < 1 )
- {
- _comparators.add( new ClassicDepthComparator() );
- _comparators.add( new ClassicVersionComparator() );
- }
- solver.applyPolicies( _comparators );
+ return res;
+ }
+ catch (SatException e)
+ {
+ throw new MetadataTreeException(e);
+ }
+
+ }
+ //-----------------------------------------------------
+ private List<Comparator<MetadataTreeNode>> getComparators()
+ {
+ if( Util.isEmpty( _comparators ) )
+ _comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
+
+ if( _comparators.size() < 1 )
+ {
+ _comparators.add( new ClassicDepthComparator() );
+ _comparators.add( new ClassicVersionComparator() );
+ }
+
+ return _comparators;
+ }
+ //-----------------------------------------------------
+ public List<ArtifactMetadata> resolveConflicts( List<ArtifactBasicMetadata>trees, ArtifactScopeEnum scope )
+ throws MetadataTreeException
+ {
+ if( Util.isEmpty( trees ) )
+ throw new MetadataTreeException(_lang.getMessage( "empty.tree.collection" ));
+
+ String dummyGAV = "__fake:__fake:0.0.0";
+
+ ArtifactBasicMetadata query = new ArtifactBasicMetadata( dummyGAV );
+
+ ArtifactMetadata dummyMd = new ArtifactMetadata( query );
+ dummyMd.setDependencies( trees );
+
+ MetadataTreeNode root = new MetadataTreeNode( dummyMd, null, query );
+
+ try
+ {
+ DefaultSatSolver solver = new DefaultSatSolver( root, scope );
+
+ solver.applyPolicies( getComparators() );
List<ArtifactMetadata> res = solver.solve();
+ res.remove( dummyMd );
+
return res;
}
catch (SatException e)
Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties?rev=709265&r1=709264&r2=709265&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/Messages.properties Thu Oct 30 15:24:18 2008
@@ -1,2 +1,5 @@
artifact.md.not.found=cannot find artifact metadata for query {0}
dependency.model.not.implemented=the requested dependency model {0} is not yet implemented
+empty.tree=Dependency tree is not populated yet
+empty.tree.collection=Empty tree collection supplied
+
Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java?rev=709265&r1=709264&r2=709265&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java Thu Oct 30 15:24:18 2008
@@ -92,7 +92,7 @@
assertNotNull( "null tree built", root );
assertEquals( "wrong tree size", 4, root.countNodes() );
- List<ArtifactMetadata> res = mt.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = mt.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( "null resolution", res );
assertEquals( "wrong tree size", 3, res.size() );
@@ -112,7 +112,7 @@
assertNotNull( "null tree built", root );
assertEquals( "wrong tree size", 4, root.countNodes() );
- List<ArtifactMetadata> res = mt.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = mt.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( "null resolution", res );
assertEquals( "wrong tree size", 2, res.size() );
@@ -137,7 +137,7 @@
assertNotNull( "null tree built", root );
assertEquals( "wrong tree size", 3, root.countNodes() );
- List<ArtifactMetadata> res = mt.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = mt.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( "null resolution", res );
assertEquals( "wrong tree size", 2, res.size() );
@@ -162,7 +162,7 @@
assertNotNull( "null tree built", root );
assertEquals( "wrong tree size", 3, root.countNodes() );
- List<ArtifactMetadata> res = mt.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = mt.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( "null resolution", res );
assertEquals( "wrong tree size", 2, res.size() );
@@ -189,7 +189,7 @@
assertNotNull( "null tree built", root );
assertEquals( "wrong tree size", 2, root.countNodes() );
- List<ArtifactMetadata> res = mt.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = mt.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( "null resolution", res );
assertEquals( "wrong tree size", 2, res.size() );
@@ -218,7 +218,7 @@
assertNotNull( "null tree built", root );
assertEquals( "wrong tree size", 1, root.countNodes() );
- List<ArtifactMetadata> res = mt.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = mt.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( "null resolution", res );
assertEquals( "wrong tree size", 1, res.size() );
@@ -240,7 +240,7 @@
assertNotNull( "null tree built", root );
assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
- List<ArtifactMetadata> res = mt.resolveConflicts( ArtifactScopeEnum.compile );
+ List<ArtifactMetadata> res = mt.resolveConflicts( root, ArtifactScopeEnum.compile );
assertNotNull( "null resolution", res );
System.out.println("BigRes: "+res);
Modified: maven/mercury/trunk/mercury-pom/pom.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-pom/pom.xml?rev=709265&r1=709264&r2=709265&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-pom/pom.xml (original)
+++ maven/mercury/trunk/mercury-pom/pom.xml Thu Oct 30 15:24:18 2008
@@ -259,7 +259,6 @@
</build>
-
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
@@ -278,6 +277,7 @@
<version>3.8.1</version>
<scope>test</scope>
</dependency>
+
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-lang</artifactId>
@@ -285,17 +285,18 @@
</dependency>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <version>1.5.2</version>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.3</version>
</dependency>
-<!--
+
<dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <version>1.5.2</version>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>1.5.3</version>
+ <scope>test</scope>
</dependency>
- -->
+
</dependencies>
</project>
\ No newline at end of file