Author: ogusakov
Date: Thu Mar 26 18:48:51 2009
New Revision: 758797
URL: http://svn.apache.org/viewvc?rev=758797&view=rev
Log:
[MERCURY-106] - added resolveAsTree to plexus component
Added:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java
(contents, props changed)
- copied, changed from r757659,
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
Removed:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
Modified:
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.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/DependencyTreeDumper.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/HelpingSatSolver.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
Copied:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java
(from r757659,
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java)
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java?p2=maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java&p1=maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java&r1=757659&r2=758797&rev=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
(original)
+++
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java
Thu Mar 26 18:48:51 2009
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.maven.mercury.metadata;
+package org.apache.maven.mercury.artifact;
import java.io.IOException;
import java.io.StringWriter;
@@ -25,10 +25,6 @@
import java.util.List;
import java.util.TreeSet;
-import org.apache.maven.mercury.artifact.ArtifactMetadata;
-import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
-import org.apache.maven.mercury.logging.IMercuryLogger;
-import org.apache.maven.mercury.logging.MercuryLoggerManager;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
@@ -39,9 +35,11 @@
*/
public class MetadataTreeNode
{
- private static final int DEFAULT_CHILDREN_COUNT = 8;
+ /** prevailing # of queries (dependencies) in the dirty tree node */
+ private static final int DEFAULT_QUERY_COUNT = 8;
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger(
MetadataTreeNode.class );
+ /** prevailing # of children in the dirty tree node. If all queries are
ranges - 2 hits per range */
+ private static final int DEFAULT_CHILDREN_COUNT = 16;
private static final Language LANG = new DefaultLanguage(
MetadataTreeNode.class );
@@ -56,6 +54,11 @@
boolean optional = false;
/**
+ * is there a real artifact behind this node, or it's just a helper ?
+ */
+ boolean real = true;
+
+ /**
* parent node
*/
MetadataTreeNode parent;
@@ -112,12 +115,6 @@
getDistinctNodes( this, nodes );
- if ( LOG.isDebugEnabled() )
- {
- LOG.debug( "tree distinct nodes count" );
- LOG.debug( nodes.toString() );
- }
-
return nodes.size();
}
@@ -190,7 +187,7 @@
if ( queries == null )
{
- queries = new ArrayList<ArtifactMetadata>( DEFAULT_CHILDREN_COUNT
);
+ queries = new ArrayList<ArtifactMetadata>( DEFAULT_QUERY_COUNT );
}
queries.add( query );
@@ -265,6 +262,16 @@
return optional;
}
+ public boolean isReal()
+ {
+ return real;
+ }
+
+ public void setReal( boolean real)
+ {
+ this.real = real;
+ }
+
public ArtifactMetadata getQuery()
{
return query;
Propchange:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/MetadataTreeNode.java
------------------------------------------------------------------------------
svn:mergeinfo =
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=758797&r1=758796&r2=758797&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 Mar 26 18:48:51 2009
@@ -33,13 +33,13 @@
import org.apache.maven.mercury.artifact.Artifact;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.event.DumbListener;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
import org.apache.maven.mercury.metadata.DependencyBuilder;
import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
import org.apache.maven.mercury.metadata.MetadataTreeException;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
import org.apache.maven.mercury.repository.api.ArtifactResults;
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.api.RepositoryReader;
Modified:
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
(original)
+++
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/plexus/DefaultPlexusMercuryTest.java
Thu Mar 26 18:48:51 2009
@@ -33,6 +33,7 @@
import org.apache.maven.mercury.artifact.ArtifactQueryList;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
@@ -340,6 +341,44 @@
}
//
-------------------------------------------------------------------------------------
+ public void testResolveAsTree()
+ throws Exception
+ {
+ Server central = new Server( "central", new URL(
"http://repo1.maven.org/maven2" ) );
+ // Server central = new Server( "central", new
URL("http://repository.sonatype.org/content/groups/public") );
+
+ repos.add( new RemoteRepositoryM2( central,
pm.findDependencyProcessor() ) );
+
+ String artifactId = "asm:asm-xml:3.0";
+
+ MetadataTreeNode res =
+ pm.resolveAsTree( repos, ArtifactScopeEnum.compile, new
ArtifactQueryList( artifactId ), null, null );
+
+ System.out.println( "Resolved as tree:" );
+ MetadataTreeNode.showNode( res, 0 );
+
+ assertNotNull( res );
+
+ assertTrue( res.hasChildren() );
+
+ int nodes = res.countNodes();
+
+ /* tree structure:
+ 0 asm:asm-xml:3.0::jar
+ 1 asm:asm-util:3.0::jar
+ 2 asm:asm-tree:3.0::jar
+ 3 asm:asm:3.0::jar
+ */
+
+ assertEquals( 4, nodes );
+
+ assertTrue( res.getMd().equals( new ArtifactMetadata(
"asm:asm-xml:3.0" ) ) );
+ assertTrue( res.getChildren().get( 0 ).getMd().equals( new
ArtifactMetadata( "asm:asm-util:3.0" ) ) );
+ assertTrue( res.getChildren().get( 0 ).getChildren().get( 0
).getMd().equals( new ArtifactMetadata( "asm:asm-tree:3.0" ) ) );
+ assertTrue( res.getChildren().get( 0 ).getChildren().get( 0
).getChildren().get( 0 ).getMd().equals( new ArtifactMetadata( "asm:asm:3.0" )
) );
+ }
+
+ //
-------------------------------------------------------------------------------------
@SuppressWarnings( "unchecked" )
public void testResolveWithExclusion()
throws Exception
Modified:
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java
(original)
+++
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ComprehensiveRepositoryTest.java
Thu Mar 26 18:48:51 2009
@@ -299,6 +299,41 @@
assertFalse( localRepo2Jar.exists() );
}
+ public void testWriteReadArtifactPom()
+ throws Exception
+ {
+ String name = "org.apache.maven:maven-core:2.0.9::pom";
+
+ File af = new File( _resourceBase, "maven-core-2.0.9.pom" );
+ File ap = new File( _resourceBase, "maven-core-2.0.9.pom" );
+
+ File aJar1 = new File( _base1,
"org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom");
+ File aJar2 = new File( _base2,
"org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom");
+
+ assertFalse( aJar1.exists() );
+ assertFalse( aJar2.exists() );
+
+ writeArtifact( name, af, ap, _rr2, aJar2 );
+
+ assertFalse( aJar1.exists() );
+ assertTrue( aJar2.exists() );
+
+ List<Artifact> al = readArtifact( name, _rrs );
+
+ System.out.println(al);
+
+ File localRepo1Jar = new File( _lbase1,
"org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom" );
+ File localRepo2Jar = new File( _lbase2,
"org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom" );
+
+ assertFalse( localRepo1Jar.exists() );
+ assertFalse( localRepo2Jar.exists() );
+
+ al = readArtifact( name, _repos );
+
+ assertTrue( localRepo1Jar.exists() );
+ assertFalse( localRepo2Jar.exists() );
+ }
+
public void testWriteReadTimeStamp()
throws Exception
{
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java
Thu Mar 26 18:48:51 2009
@@ -20,6 +20,8 @@
import java.util.Comparator;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
+
/**
* classical depth comparator: shallower is better by default, but that could
* be changed by appropriate constructor
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
Thu Mar 26 18:48:51 2009
@@ -21,6 +21,7 @@
import java.util.Comparator;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion;
/**
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
Thu Mar 26 18:48:51 2009
@@ -24,6 +24,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
/*
* classpath container that is aware of the classpath scope
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=758797&r1=758796&r2=758797&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 Mar 26 18:48:51 2009
@@ -25,6 +25,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactQueryList;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.event.MercuryEventListener;
/**
@@ -79,6 +80,23 @@
throws MetadataTreeException;
/**
+ * consolidated entry point: give it a collection of GAVs, it
+ * will create a tree out of it
+ *
+ * @param root the tree to resolve conflicts on
+ * @return resolved metadata tree
+ * @throws MetadataTreeException
+ */
+ public abstract MetadataTreeNode resolveConflictsAsTree(
+ ArtifactScopeEnum scope
+ , ArtifactQueryList artifacts
+ , ArtifactInclusionList inclusions
+ , ArtifactExclusionList exclusions
+ )
+
+ throws MetadataTreeException;
+
+ /**
* this one resolves the conflicts, removing all duplicate GAVs from the
tree and
* returning a copy of the resulting subtree - original tree should be
intact
*
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=758797&r1=758796&r2=758797&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 Mar 26 18:48:51 2009
@@ -23,6 +23,7 @@
import java.util.List;
import java.util.Map;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.artifact.api.ArtifactListProcessor;
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.api.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=758797&r1=758796&r2=758797&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 Mar 26 18:48:51 2009
@@ -30,6 +30,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactQueryList;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.artifact.api.ArtifactListProcessor;
import org.apache.maven.mercury.artifact.version.VersionException;
import org.apache.maven.mercury.event.EventGenerator;
@@ -85,6 +86,26 @@
private EventManager _eventManager;
private boolean _buildIndividualTrees = true;
+
+ class TruckLoad
+ {
+ List<ArtifactMetadata> cp;
+ MetadataTreeNode root;
+
+ public TruckLoad()
+ {
+ }
+
+ public TruckLoad( List<ArtifactMetadata> cp )
+ {
+ this.cp = cp;
+ }
+
+ public TruckLoad( MetadataTreeNode root )
+ {
+ this.root = root;
+ }
+ }
/**
* creates an instance of MetadataTree. Use this instance to
@@ -163,11 +184,38 @@
// ------------------------------------------------------------------------
public List<ArtifactMetadata> resolveConflicts(
- ArtifactScopeEnum scope
- , ArtifactQueryList artifacts
+ ArtifactScopeEnum scope
+ , ArtifactQueryList artifacts
, ArtifactInclusionList inclusions
, ArtifactExclusionList exclusions
)
+ throws MetadataTreeException
+ {
+ TruckLoad tl = resolveConflictsInternally( scope, artifacts,
inclusions, exclusions, false );
+
+ return tl == null ? null : tl.cp;
+ }
+ // ------------------------------------------------------------------------
+ public MetadataTreeNode resolveConflictsAsTree(
+ ArtifactScopeEnum scope
+ , ArtifactQueryList artifacts
+ , ArtifactInclusionList inclusions
+ , ArtifactExclusionList exclusions
+ )
+ throws MetadataTreeException
+ {
+ TruckLoad tl = resolveConflictsInternally( scope, artifacts,
inclusions, exclusions, true );
+
+ return tl == null ? null : tl.root;
+ }
+ // ------------------------------------------------------------------------
+ public TruckLoad resolveConflictsInternally(
+ ArtifactScopeEnum scope
+ , ArtifactQueryList artifacts
+ , ArtifactInclusionList inclusions
+ , ArtifactExclusionList exclusions
+ , boolean asTree
+ )
throws MetadataTreeException
{
@@ -186,13 +234,25 @@
ArtifactMetadata bmd = startMDs.get( 0 );
MetadataTreeNode rooty = buildTree( bmd, scope );
+ TruckLoad tl = null;
+
+ if( asTree )
+ {
+ MetadataTreeNode tr = resolveConflictsAsTree( rooty );
+
+ tl = new TruckLoad( tr );
+ }
+ else
+ {
+ List<ArtifactMetadata> res = resolveConflicts( rooty );
+
+ tl = new TruckLoad( res );
+
+ if(_dumpDepTree )
+ _dumper.dump( scope, artifacts, inclusions, exclusions,
rooty, res );
+ }
- List<ArtifactMetadata> res = resolveConflicts( rooty );
-
-if(_dumpDepTree )
- _dumper.dump( scope, artifacts, inclusions, exclusions, rooty, res );
-
- return res;
+ return tl;
}
DUMMY_ROOT.setDependencies( startMDs );
@@ -260,16 +320,30 @@
DUMMY_ROOT.setDependencies( startMDs );
root = buildTree( DUMMY_ROOT, scope );
}
+
+
+ TruckLoad tl = null;
+
+ if( asTree )
+ {
+ MetadataTreeNode tr = resolveConflictsAsTree( root );
+
+ tl = new TruckLoad( tr );
+ }
+ else
+ {
+ List<ArtifactMetadata> cp = resolveConflicts( root );
- List<ArtifactMetadata> res = resolveConflicts( root );
-
- if( res != null )
- res.remove( DUMMY_ROOT );
-
-if(_dumpDepTree )
- _dumper.dump( scope, artifacts, inclusions, exclusions, root, res );
+ if( cp != null )
+ cp.remove( DUMMY_ROOT );
+
+ if(_dumpDepTree )
+ _dumper.dump( scope, artifacts, inclusions, exclusions,
root, cp );
+
+ tl = new TruckLoad( cp );
+ }
- return res;
+ return tl;
}
// -----------------------------------------------------
private MetadataTreeNode createNode( ArtifactMetadata nodeMD,
MetadataTreeNode parent
@@ -424,24 +498,24 @@
{
count++;
// System.out.println("circ "+md+" vs "+p.md);
- if ( md.sameGA( p.md ) )
+ if ( md.sameGA( p.getMd() ) )
{
p = parent;
StringBuilder sb = new StringBuilder( 128 );
sb.append( md.toString() );
while ( p != null )
{
- sb.append( " <- " + p.md.toString() );
+ sb.append( " <- " + p.getMd().toString() );
- if ( md.sameGA( p.md ) )
+ if ( md.sameGA( p.getMd() ) )
{
throw new MetadataTreeCircularDependencyException(
"circular dependency " + count
- + " levels up. " + sb.toString() + " <= " + (
p.parent == null ? "no parent" : p.parent.md ) );
+ + " levels up. " + sb.toString() + " <= " + (
p.getParent() == null ? "no parent" : p.getParent().getMd() ) );
}
- p = p.parent;
+ p = p.getParent();
}
}
- p = p.parent;
+ p = p.getParent();
}
}
@@ -550,7 +624,7 @@
comma = " <== ";
- p = p.parent;
+ p = p.getParent();
}
return sb.toString();
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeDumper.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeDumper.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeDumper.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeDumper.java
Thu Mar 26 18:48:51 2009
@@ -35,6 +35,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactQueryList;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.metadata.forest.Forest;
import org.apache.maven.mercury.metadata.forest.Node;
import org.apache.maven.mercury.metadata.forest.Tree;
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java
Thu Mar 26 18:48:51 2009
@@ -20,6 +20,8 @@
import java.util.Comparator;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
+
/**
* utility class for DefaultSatSolver. Assumes good data - no null's
*
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java
Thu Mar 26 18:48:51 2009
@@ -20,6 +20,8 @@
import java.util.Comparator;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
+
/**
* utility class for DefaultSatSolver. Assumes good data - no null's
*
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
Thu Mar 26 18:48:51 2009
@@ -28,13 +28,13 @@
import java.util.Map;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.event.EventManager;
import org.apache.maven.mercury.event.EventTypeEnum;
import org.apache.maven.mercury.event.GenericEvent;
import org.apache.maven.mercury.event.MercuryEventListener;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
import org.apache.maven.mercury.metadata.MetadataTreeNodeGAComparator;
import org.apache.maven.mercury.metadata.MetadataTreeNodeGAVComparator;
import org.codehaus.plexus.lang.DefaultLanguage;
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/HelpingSatSolver.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/HelpingSatSolver.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/HelpingSatSolver.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/HelpingSatSolver.java
Thu Mar 26 18:48:51 2009
@@ -29,13 +29,13 @@
import java.util.Map;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.event.EventManager;
import org.apache.maven.mercury.event.EventTypeEnum;
import org.apache.maven.mercury.event.GenericEvent;
import org.apache.maven.mercury.event.MercuryEventListener;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
import org.apache.maven.mercury.metadata.MetadataTreeNodeGAComparator;
import org.apache.maven.mercury.metadata.MetadataTreeNodeGAVComparator;
import org.codehaus.plexus.lang.DefaultLanguage;
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
Thu Mar 26 18:48:51 2009
@@ -24,9 +24,9 @@
import java.util.Map;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java
Thu Mar 26 18:48:51 2009
@@ -18,7 +18,7 @@
*/
package org.apache.maven.mercury.metadata.sat;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.sat4j.pb.ObjectiveFunction;
/**
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
Thu Mar 26 18:48:51 2009
@@ -22,8 +22,8 @@
import java.util.List;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.event.EventGenerator;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
/**
* @author <a href="[email protected]">Oleg Gusakov</a>
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
Thu Mar 26 18:48:51 2009
@@ -19,7 +19,7 @@
package org.apache.maven.mercury.metadata.sat;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
/**
* @author <a href="[email protected]">Oleg Gusakov</a>
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
Thu Mar 26 18:48:51 2009
@@ -21,6 +21,7 @@
import junit.framework.TestCase;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
public abstract class AbstractSimpleTreeTest
extends TestCase
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
Thu Mar 26 18:48:51 2009
@@ -20,6 +20,8 @@
import java.util.Comparator;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
+
public class ClassicDepthComparatorTest
extends AbstractSimpleTreeTest
{
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
Thu Mar 26 18:48:51 2009
@@ -20,6 +20,8 @@
import java.util.Comparator;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
+
public class ClassicVersionComparatorTest
extends AbstractSimpleTreeTest
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=758797&r1=758796&r2=758797&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 Mar 26 18:48:51 2009
@@ -26,6 +26,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
Thu Mar 26 18:48:51 2009
@@ -28,9 +28,9 @@
import junit.framework.TestCase;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.metadata.ClassicDepthComparator;
import org.apache.maven.mercury.metadata.ClassicVersionComparator;
-import org.apache.maven.mercury.metadata.MetadataTreeNode;
/**
* @author <a href="[email protected]">Oleg Gusakov</a>
Modified:
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
(original)
+++
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
Thu Mar 26 18:48:51 2009
@@ -35,6 +35,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactQueryList;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
@@ -286,6 +287,33 @@
}
// ---------------------------------------------------------------
+ public MetadataTreeNode resolveAsTree( List<Repository> repos
+ , ArtifactScopeEnum scope
+ , ArtifactQueryList artifacts
+ , ArtifactInclusionList inclusions
+ , ArtifactExclusionList exclusions
+ )
+ throws RepositoryException
+ {
+ if ( Util.isEmpty( artifacts ) || artifacts.isEmpty() )
+ throw new IllegalArgumentException( LANG.getMessage(
"no.artifacts" ) );
+
+ try
+ {
+ DependencyBuilder depBuilder =
+ DependencyBuilderFactory.create(
DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, repos, null, null, null );
+
+ MetadataTreeNode res = depBuilder.resolveConflictsAsTree( scope,
artifacts, inclusions, exclusions );
+
+ return res;
+ }
+ catch ( MetadataTreeException e )
+ {
+ throw new RepositoryException( e );
+ }
+ }
+
+ // ---------------------------------------------------------------
/**
* get all available versions of for the artifact query.
*
Modified:
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
(original)
+++
maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
Thu Mar 26 18:48:51 2009
@@ -31,6 +31,7 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactQueryList;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.artifact.MetadataTreeNode;
import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.crypto.api.StreamObserverFactory;
import org.apache.maven.mercury.crypto.api.StreamVerifierException;
@@ -193,6 +194,11 @@
ArtifactExclusionList exclusions )
throws RepositoryException;
+ public MetadataTreeNode resolveAsTree( List<Repository> repos,
ArtifactScopeEnum scope,
+ ArtifactQueryList artifacts,
ArtifactInclusionList inclusions,
+ ArtifactExclusionList exclusions )
+ throws RepositoryException;
+
public List<ArtifactMetadata> resolve( List<Repository> repos,
ArtifactScopeEnum scope, ArtifactMetadata metadata )
throws RepositoryException;
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java?rev=758797&r1=758796&r2=758797&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
Thu Mar 26 18:48:51 2009
@@ -41,6 +41,9 @@
public static final String UPDATE_POLICY_NAME_ALWAYS = "always";
+ /** same as always - do it NOW */
+ public static final String UPDATE_POLICY_NAME_NOW = "now";
+
public static final String UPDATE_POLICY_NAME_DAILY = "daily";
public static final String UPDATE_POLICY_NAME_INTERVAL = "interval";
@@ -55,6 +58,10 @@
public static final RepositoryUpdateIntervalPolicy UPDATE_POLICY_ALWAYS =
new RepositoryUpdateIntervalPolicy( UPDATE_POLICY_NAME_ALWAYS );
+ public static final RepositoryUpdateIntervalPolicy UPDATE_POLICY_DAILY =
+ new RepositoryUpdateIntervalPolicy( UPDATE_POLICY_NAME_DAILY );
+
+ /** this is the default policy - don't update unless asked */
public static final RepositoryUpdateIntervalPolicy DEFAULT_UPDATE_POLICY =
UPDATE_POLICY_NEVER;
private static final long NEVER = -1L;
@@ -97,6 +104,8 @@
if ( policy.startsWith( UPDATE_POLICY_NAME_ALWAYS ) )
return ALWAYS;
+ else if ( policy.startsWith( UPDATE_POLICY_NAME_NOW ) )
+ return ALWAYS;
else if ( policy.startsWith( UPDATE_POLICY_NAME_DAILY ) )
return DAYLY;
else if ( policy.startsWith( UPDATE_POLICY_NAME_NEVER ) )