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/08/02 00:55:48 UTC

svn commit: r681887 [1/10] - in /maven/sandbox/trunk/mercury: mercury-artifact/ mercury-artifact/src/ mercury-artifact/src/main/ mercury-artifact/src/main/java/ mercury-artifact/src/main/java/org/ mercury-artifact/src/main/java/org/apache/ mercury-arti...

Author: ogusakov
Date: Fri Aug  1 15:55:40 2008
New Revision: 681887

URL: http://svn.apache.org/viewvc?rev=681887&view=rev
Log:
adding new Mercury

Added:
    maven/sandbox/trunk/mercury/mercury-artifact/
    maven/sandbox/trunk/mercury/mercury-artifact/header.txt
    maven/sandbox/trunk/mercury/mercury-artifact/notes.txt
    maven/sandbox/trunk/mercury/mercury-artifact/pom.xml
    maven/sandbox/trunk/mercury/mercury-artifact/src/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ComparableVersion.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersion.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionException.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionQuery.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionRange.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/java/org/apache/maven/mercury/artifact/version/VersionRangeTest.java
    maven/sandbox/trunk/mercury/mercury-artifact/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-external/
    maven/sandbox/trunk/mercury/mercury-external/pom.xml
    maven/sandbox/trunk/mercury/mercury-external/src/
    maven/sandbox/trunk/mercury/mercury-external/src/main/
    maven/sandbox/trunk/mercury/mercury-external/src/main/java/
    maven/sandbox/trunk/mercury/mercury-external/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-external/src/test/
    maven/sandbox/trunk/mercury/mercury-external/src/test/java/
    maven/sandbox/trunk/mercury/mercury-external/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-md/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/pom.xml
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicDepthComparator.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClassicVersionComparator.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ClasspathContainer.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataRetrievalException.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTree.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeArtifactFilter.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeCircularDependencyException.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeException.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNode.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAComparator.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/MetadataTreeNodeGAVComparator.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatContext.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatException.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatHelper.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatOptimizer.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatVar.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/MetadataTreeTest.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/repository/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/repository/MetadataProcessorMock.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/repository/metadata/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/java/org/apache/maven/mercury/repository/metadata/MetadataReaderTest.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/1/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/1/a-1.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/2/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/2/a-2.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/3/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/3/a-3.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/4/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/4/a-4.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/a/a/maven-metadata.xml
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/1/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/1/b-1.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/2/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/b/b/2/b-2.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/1/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/1/c-1.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/2/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/2/c-2.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/3/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-sat/src/test/resources/controlledRepo/c/c/3/c-3.pom
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/.classpath
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/.project
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/.settings/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/.settings/org.eclipse.jdt.core.prefs
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/.settings/org.maven.ide.eclipse.prefs
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/pom.xml
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/src/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/src/main/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/src/main/mdo/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/src/main/mdo/metadata.mdo
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/src/test/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/Metadata.class   (with props)
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/Plugin.class   (with props)
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/Snapshot.class   (with props)
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/Versioning.class   (with props)
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/io/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/io/xpp3/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/io/xpp3/MetadataXpp3Reader.class   (with props)
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/classes/org/apache/maven/mercury/repository/metadata/io/xpp3/MetadataXpp3Writer.class   (with props)
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/Metadata.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/Plugin.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/Snapshot.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/Versioning.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/io/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/io/xpp3/
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/io/xpp3/MetadataXpp3Reader.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/generated-sources/modello/org/apache/maven/mercury/repository/metadata/io/xpp3/MetadataXpp3Writer.java
    maven/sandbox/trunk/mercury/mercury-md/mercury-md-shared/target/test-classes/
    maven/sandbox/trunk/mercury/mercury-md/pom.xml
    maven/sandbox/trunk/mercury/mercury-md/src/
    maven/sandbox/trunk/mercury/mercury-pom/
    maven/sandbox/trunk/mercury/mercury-pom/pom.xml
    maven/sandbox/trunk/mercury/mercury-repo/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/pom.xml
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstractRepository.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/LocalRepository.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataProcessingException.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataProcessor.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/MetadataReader.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/NonExistentProtocolException.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RemoteRepository.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Repository.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryCallback.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryException.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryOperationResult.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryOperator.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReaderFactory.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriter.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryWriterFactory.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/VirtualRepositoryReader.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/pom.xml
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryM2.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2Factory.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Factory.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/Messages.properties
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/java/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/pom.xml
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/Messages.properties
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryM2OperationException.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2Factory.java
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/java/
    maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-repo/pom.xml
    maven/sandbox/trunk/mercury/mercury-transport/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/pom.xml
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/repository/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/AbstractTransport.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Binding.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Credentials.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ReaderTransport.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Server.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/ServerContainer.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/StreamObserver.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/StreamObserverFactory.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportException.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/TransportTransaction.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/Verifier.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/java/org/apache/maven/mercury/transport/api/WriterTransport.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/test/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/test/java/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-api/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/pom.xml
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HandshakeExchange.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/HttpClientException.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableInputStream.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/ObservableOutputStream.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/BatchIdGenerator.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployResponse.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployCallback.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployRequest.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeployResponse.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/Deployer.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/RandomBatchIdGenerator.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalRequest.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetrievalResponse.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/DefaultRetriever.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalCallback.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalRequest.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalResponse.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/Retriever.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/BatchFilter.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/server/StagingBatchFilter.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/PomValidator.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/spi/http/validate/Validator.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/ChecksumCalculator.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/SHA1Verifier.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/SHA1VerifierFactory.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/HttpReaderTransport.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/java/org/apache/maven/mercury/transport/http/Messages.properties
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/main/resources/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/SecureJettyDeployerTest.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/BatchFilterTest.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/HttpTestServer.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SecurePutServer.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimplePutServer.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/SimpleTestServer.java
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/a-1.0.txt.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/b-1.0.txt.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/c-1.0.txt.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/repo/d-1.0.txt.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/secureServer/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/secureServer/keystore   (with props)
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/secureServer/realm.properties
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/README.TXT
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file0.txt.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file1.txt
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file2.txt.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar   (with props)
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file3.jar.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file4.so.sha1
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg   (with props)
    maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-http/src/test/resources/testRepo/file5.jpg.sha1
    maven/sandbox/trunk/mercury/mercury-transport/pom.xml

Added: maven/sandbox/trunk/mercury/mercury-artifact/header.txt
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/header.txt?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/header.txt (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/header.txt Fri Aug  1 15:55:40 2008
@@ -0,0 +1,16 @@
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file                                                                                            
+to you 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.

Added: maven/sandbox/trunk/mercury/mercury-artifact/notes.txt
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/notes.txt?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/notes.txt (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/notes.txt Fri Aug  1 15:55:40 2008
@@ -0,0 +1,116 @@
+Maven Artifact is supposed to be a general artifact mechanism for retrieving, installing, and deploying artifacts
+to repositories. Maven Artifact was originally decoupled from Maven proper and as such carries a lot of baggage
+which prevents it from being used generally and carries many notions that are very specific to Maven itself. Artifacts
+currently have a notion of scope, classifiers, and behavioral attributes such as whether scopes should be inherited.
+For any mechanism to work generally these baked in notions need to be removed, vetted, and then made compatible with
+notions currently in Maven. A list of things that should not be in the Artifact:
+
+ * scope
+ * classifier
+ * dependency filter
+ * dependency trail
+ * resolved
+ * released
+ * optional
+ * available versions
+
+These are all attributes of the target system
+
+*Removal of the ArtifactFactory
+        
+ 3 February 2008 (Sunday)
+
+ I have removed the factory and left only a small set of constructors (which I would like to reduce to one) so that you
+ have a valid artifact after construction. I have also started to hide the VersionRange creation. You just pass in
+ a string and the constructor for the DefaultArtifact will do the right thing. This will ultimately need to be more
+ pluggable as different versioning strategies happen. But variations of the theme like Maven, OSGi, will have their
+ own subclasses and tools to operate on the graphs of dependencies.
+
+ 4 February 2008 (Monday)
+
+ John:
+ Some notes about classifiers taken from the mailing list in a discussion with John about classifiers:
+ I'd tend to disagree about classifier not being a 'core' part of the artifact system...it distinguishes a main
+ artifact from one of its derivatives, and serves as a pretty foundational part of how we retrieve artifacts from existing
+ remote repositories. Without it, I doubt that you can reconstruct the path to some existing artifacts (like sources or javadocs)
+ reliably without bastardizing the version string.
+
+ We can see that the artifact system has certain inescapable identity attributes. Scope is obviously more related
+ to how an artifact is used, since you can't see any trace of scope in the artifact as it's been deployed on a remote
+ repository. Classifier, however, doesn't fit this criteria...it's not a usage marker, but an identity marker.
+
+ The rest I agree with.
+
+ Jason:
+ This is where I think you've already baked in what you think about Maven. Look at how we deploy our derivative
+ artifacts right now. We don't track any of it in the metadata when we deploy. We toss it up there and things hope
+ they are there. Like javadocs, or sources. I think what's more important is that the coordinate be unique and we
+ have a way to associate what ever artifacts together in a scalable way. So you say "I want to associate this artifact
+ with that one, this is how I would like to record that relationship in the metadata.". Subsequently you can query
+ the metadata and know these relationships. We currently don't do this. It generally boils down to a bunch of
+ coordinates in the repository. How we choose to relate them via the metadata. We have all sort of problems with
+ classifiers currently because it was an adhoc method of association. A general model of association would be a
+ superset of what we currently do for classifiers. I agree we need an mechanism for association, I don't think
+ classifiers have worked all that well.
+
+ 5 February 2008 (Tuesday)
+
+ The rework of the artifact resolution mechanism is an attempt to entirely separate 1) the process of metadata retrieval into
+ a tree, 2) converting the tree to a graph by a process of conflict resolution, and 3) retrieving the complete set
+ of artifacts, and ultimately 4) Doing something in a particular fashion withe the retrieved set like make a classpath.
+ Currently we have an incremental processing model that doesn't let a complete graph be formed for analysis
+ which greatly complicates the process whereas having a graph and using standard graph analysis techniques and graph
+ optimization is the only reasonable way forward. There should be no doubt about what needs to be retrieved once the
+ analysis is complete. We could actually create an aggregrate request where instructions are sent to retrieve everything
+ required. The server could send a stream all the artifacts back in one shot.
+
+ What Oleg is attempting to do is create a working solution for 1) and 2) above. Along with the implementation we also
+ have a visualization tool that will help us determine what exactly the correct analysis is. The beauty of this is that
+ regardless of the analysis we arrive at a representation of the complete set can be modeled and we can start working on
+ the optimized retrieval mechanism. We still need to do some work to separate out 4) as we're doing some classpath
+ calculations already which we will need to further decouple but that should be relatively straight forward.
+
+ 7 February 2008 (Friday)
+
+ The number of methods in the artifact factory is simply insane, for each type that we ended up with in Maven just started
+ being effectively hard-coded in the factory which is totally unscalable, any new types with handlers become a nightmare
+ to maintain. I have reduced everything to two constructors in the DefaultArtifact and I would like to reduce it to being
+ one. Right now I have to account for needing to use a version string, or creating a range which is completely confusing
+ to anyone using the API. You should just need one constructor with a version string and everything else should be taken
+ care of for you. Right now there are bits of code all over the place that do the if/else versionRange detection. 
+
+ inheritedScope goes away entirely from the model when a graph is used because the scope selected will be a function of
+ how the graph is processed.
+ 
+ 24 May 2008
+ 
+ 1. Retrieval & Storage 
+    
+    There is the task of retrieving a set of resources from a data source atomically. Simple, and safe retrieval. Period. This has nothing to do with 
+    dependency management per se, but is the basis of any safe and reliable dependency management system. We need to deal with repository corruption
+    and recovery as well. The method employed by GIT with hierarchical checksums provides an efficient means to detect where in a repository corruption
+    has occured to make sure the problem can be correct, shunted around, or simply bring it to the users attention.
+ 
+ 2. Representation Processing 
+ 
+    There is the task of processing the representation of an artifact. In the case of Maven an artifact's representation is encapsulated in
+    a POM. If the representation refers to other representations i.e. dependencies then these have to be taken into account as well. The system
+    may allow transitive processing and this is where the real power of a dependency management system comes into play. The representations are
+    gathered into a tree structure where the flavour of the system imparts special processing on this tree to yield a graph. 
+    
+ Once the representation has been processed and we have a graph, we fall back to the retrieval mechanism to place the desired artifacts in
+ the storage system. Ultimately from this graph, according to the desired purpose we have set of artifacts that we can do something with.
+ 
+Processing
+
+I have come to the conclusion that providing the necessary support for version ranges cannot be done without a SAT solver, as we are 
+approaching an NP complete problem and we're going to end up with an approximation and all the heavy lifting is being done already by SAT4J.
+
+The Quality of providers
+
+The new processing model will allow the complete manipulation of the resultant set either in memory, or in a location that does not pollute the
+local repository. So any provider must guarantee the safe retrieval of the set the artifacts from remote sources, but must also guarantee the safe 
+placement of that set into the local repository and if the user aborts, or the machine crashes that the provider supplies a means to the 
+process to clean up anything half-baked. We need to provide a single place where a journal can be written which can be easily 
+detected and any action taken if partially complete operations have been detected. We know what can go wrong and every possible measure 
+needs to make sure the repository  cannot be corrupted. 
\ No newline at end of file

Added: maven/sandbox/trunk/mercury/mercury-artifact/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/pom.xml?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/pom.xml (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/pom.xml Fri Aug  1 15:55:40 2008
@@ -0,0 +1,14 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>mercury-artifact</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <name>Mercury Artifact</name>
+  <description/>
+
+  <parent>
+  	<groupId>org.apache.maven.mercury</groupId>
+  	<artifactId>mercury-pom</artifactId>
+  	<version>1-SNAPSHOT</version>
+  </parent>
+
+</project>
\ No newline at end of file

Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/Artifact.java Fri Aug  1 15:55:40 2008
@@ -0,0 +1,92 @@
+package org.apache.maven.mercury.artifact;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to you 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 java.io.File;
+import java.util.regex.Pattern;
+
+
+/*
+ * Description of an artifact.
+ * 
+ * @todo do we really need an interface here?
+ * 
+ * @todo get rid of the multiple states we can have (project, parent, etc artifacts, file == null,
+ * snapshot, etc) - construct subclasses and use accordingly?
+ */
+public interface Artifact
+extends Comparable<Artifact>
+{
+    String LATEST_VERSION = "LATEST";
+
+    String SNAPSHOT_VERSION = "SNAPSHOT";
+
+    Pattern VERSION_FILE_PATTERN = Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$" );
+
+    // TODO: into artifactScope handler
+
+    String SCOPE_COMPILE = ArtifactScopeEnum.compile.toString();
+
+    String SCOPE_TEST = ArtifactScopeEnum.test.toString();
+
+    String SCOPE_RUNTIME = ArtifactScopeEnum.runtime.toString();
+
+    String SCOPE_PROVIDED = ArtifactScopeEnum.provided.toString();
+
+    String SCOPE_SYSTEM = ArtifactScopeEnum.system.toString();
+
+    String RELEASE_VERSION = "RELEASE";
+
+    String getGroupId();
+
+    String getArtifactId();
+
+    String getVersion();
+
+    void setVersion( String version );
+
+    /**
+     * Get the artifactScope of the artifact. If the artifact is a standalone rather than a dependency, it's artifactScope will be
+     * <code>null</code>. The artifactScope may not be the same as it was declared on the original dependency, as this is the
+     * result of combining it with the main project artifactScope.
+     *
+     * @return the artifactScope
+     */
+    String getScope();
+
+    String getType();
+
+    String getClassifier();
+
+    // only providing this since classifier is *very* optional...
+    boolean hasClassifier();
+
+    File getFile();
+
+    void setFile( File destination );
+
+    // ----------------------------------------------------------------------
+
+    String getId();
+
+    void setGroupId( String groupId );
+
+    void setArtifactId( String artifactId );
+    
+    boolean isResolved();
+    
+    void setResolved( boolean resolved );
+}
\ No newline at end of file

Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java Fri Aug  1 15:55:40 2008
@@ -0,0 +1,281 @@
+package org.apache.maven.mercury.artifact;
+
+
+/**
+ * this is the most primitive metadata there is, usually used to query repository for "real" metadata.
+ * It holds everything a project.dependencies.dependency element can have
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class ArtifactBasicMetadata
+{
+  public static final String DEFAULT_ARTIFACT_TYPE = "jar";
+  
+  /** 
+   * standard glorified artifact coordinates
+   */
+  protected String groupId;
+
+  protected String artifactId;
+
+  protected String version;
+
+  // This is Maven specific. jvz/
+  protected String classifier;
+
+  protected String type = DEFAULT_ARTIFACT_TYPE;
+  
+  protected ArtifactScopeEnum artifactScope;
+
+  protected String scope;
+
+  protected boolean optional;
+
+  /** transient helper object, used by DependencyBuilder */
+  transient Object tracker;
+    
+  //------------------------------------------------------------------
+  public ArtifactBasicMetadata()
+  {
+  }
+  //------------------------------------------------------------------
+  /**
+   * create basic out of <b>group:artifact:version:classifier:type</b> string, use 
+   * empty string to specify missing component - for instance query for common-1.3.zip
+   * can be specified as ":common:1.3::zip" - note missing groupId and classifier. 
+   */
+  public ArtifactBasicMetadata( String query )
+  {
+    if( query == null )
+      return;
+    
+    String [] tokens = query.split(":");
+    
+    if( tokens == null || tokens.length < 1 )
+      return;
+
+    int count = tokens.length;
+    
+    this.groupId = nullify( tokens[0] );
+  
+    if( count > 1 )
+      this.artifactId = nullify( tokens[1] );
+    
+    if( count > 2 )
+      this.version = nullify( tokens[2] );
+    
+    if( count > 3 )
+      this.classifier = nullify( tokens[3] );
+    
+    if( count > 4 )
+      this.type = nullify( tokens[4] );
+  }
+  //------------------------------------------------------------------
+  /**
+   * create basic out of <b>group:artifact:version:classifier:type</b> string, use 
+   * empty string to specify missing component - for instance query for common-1.3.zip
+   * can be specified as ":common:1.3::zip" - note missing groupId and classifier. 
+   */
+  public static ArtifactBasicMetadata create( String query )
+  {
+    ArtifactBasicMetadata mdq = new ArtifactBasicMetadata( query );
+    
+    return mdq;
+  }
+  //---------------------------------------------------------------------------
+  private static final String nullify( String s )
+  {
+    if( s == null || s.length() < 1 )
+      return null;
+    return s;
+  }
+  //---------------------------------------------------------------------
+  public boolean sameGAV( ArtifactMetadata md )
+  {
+    if( md == null )
+      return false;
+    
+    return 
+        sameGA( md )
+        && version != null
+        && version.equals( md.getVersion() )
+    ;
+  }
+  //---------------------------------------------------------------------
+  public boolean sameGA( ArtifactMetadata md )
+  {
+    if( md == null )
+      return false;
+    
+    return
+        groupId != null
+        && artifactId != null
+        && groupId.equals( md.getGroupId() )
+        && artifactId.equals( md.getArtifactId() )
+    ;
+  }
+
+  public String getGA()
+  {
+    return toDomainString();
+  }
+
+  public String getGAV()
+  {
+    return toString();
+  }
+  
+  private static final String nvl( String val, String dflt )
+  {
+    return val == null ? dflt : val;
+  }
+  private static final String nvl( String val )
+  {
+    return nvl(val,"");
+  }
+  
+  @Override
+  public String toString()
+  {
+      return nvl(groupId) + ":" + nvl(artifactId) + ":" + nvl(version) + ":" + nvl(classifier) + ":" + nvl(type);
+  }
+
+  public String toDomainString()
+  {
+      return groupId + ":" + artifactId;
+  }
+  
+  public String getBaseName()
+  {
+    return artifactId + "-" + version + (classifier == null ? "" :"-"+classifier);
+  }
+  
+  public String getBaseName( String classifier )
+  {
+    return artifactId + "-" + version + ((classifier == null||classifier.length()<1) ? "" :"-"+classifier);
+  }
+
+  public String getCheckedType()
+  {
+      return type == null ? "jar" : type;
+  }
+  //---------------------------------------------------------------------------
+  public String getGroupId()
+  {
+    return groupId;
+  }
+  public void setGroupId(
+      String groupId )
+  {
+    this.groupId = groupId;
+  }
+  public String getArtifactId()
+  {
+    return artifactId;
+  }
+  public void setArtifactId(
+      String artifactId )
+  {
+    this.artifactId = artifactId;
+  }
+  public String getVersion()
+  {
+    return version;
+  }
+  public void setVersion(
+      String version )
+  {
+    this.version = version;
+  }
+  public String getClassifier()
+  {
+    return classifier;
+  }
+  public void setClassifier(
+      String classifier )
+  {
+    this.classifier = classifier;
+  }
+  public String getType()
+  {
+    return type;
+  }
+  public void setType(
+      String type )
+  {
+    this.type = type;
+  }
+
+  public String getScope()
+  {
+      return getArtifactScope().getScope();
+  }
+
+  public ArtifactScopeEnum getScopeAsEnum()
+  {
+      return artifactScope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : artifactScope;
+  }
+  
+  public ArtifactScopeEnum getArtifactScope()
+  {
+      return artifactScope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : artifactScope;
+  }
+
+  public void setArtifactScope( ArtifactScopeEnum artifactScope )
+  {
+      this.artifactScope = artifactScope;
+  }
+
+  public void setScope( String scope )
+  {
+      this.artifactScope = scope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf( scope );
+  }
+  public boolean isOptional()
+  {
+    return optional;
+  }
+  public void setOptional(boolean optional)
+  {
+    this.optional = optional;
+  }
+  public void setOptional(String optional)
+  {
+    this.optional = "true".equals(optional) ? true : false;
+  }
+
+  public Object getTracker()
+  {
+      return tracker;
+  }
+
+  public void setTracker( Object tracker )
+  {
+      this.tracker = tracker;
+  }
+  
+  public boolean hasClassifier()
+  {
+    return classifier == null;
+  }
+    
+  @Override
+  public boolean equals( Object obj )
+  {
+    if( obj == null || !( obj instanceof ArtifactBasicMetadata ) )
+      return false;
+    
+    return toString().equals( obj.toString() );
+  }
+  @Override
+  public int hashCode()
+  {
+    return toString().hashCode();
+  }
+  
+  
+  //---------------------------------------------------------------------------
+  //---------------------------------------------------------------------------
+}

Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactMetadata.java Fri Aug  1 15:55:40 2008
@@ -0,0 +1,214 @@
+package org.apache.maven.mercury.artifact;
+
+import java.util.List;
+
+
+
+/**
+ * Artifact Metadata that is resolved independent of Artifact itself. It's
+ * built on top of ArtifactBasicMetadata
+ * 
+ * @author Oleg Gusakov
+ * @version $Id: ArtifactMetadata.java 680879 2008-07-29 23:27:00Z ogusakov $
+ */
+public class ArtifactMetadata
+extends ArtifactBasicMetadata
+{
+    // in addition to basic coordinates
+
+    private boolean release;
+
+    /** 
+     * explanation: why this MD was chosen over it's siblings
+     * in the resulting structure (classpath for now) 
+     */
+    protected String why;
+
+    /** dependencies of the artifact behind this metadata */
+    protected List<ArtifactBasicMetadata> dependencies;
+
+    /** is metadata found anywhere */
+    protected boolean resolved = false;
+
+    /** does the actual artifact for this metadata exists */
+    protected boolean artifactExists = false;
+
+    /** artifact URI */
+    protected String artifactUri;
+
+    /** error message  */
+    private String error;
+
+    /**
+     * for testing - required for mock MetadataSource
+     */
+    public ArtifactMetadata()
+    {
+    }
+    //------------------------------------------------------------------
+    /**
+     * group:artifact:version:classifier:packaging
+     */
+    public ArtifactMetadata( String name )
+    {
+      if( name == null )
+        return;
+      
+      String [] tokens = name.split(":");
+      
+      if( tokens == null || tokens.length < 1 )
+        return;
+ 
+      int count = tokens.length;
+      
+    this.groupId = nullify( tokens[0] );
+
+    if( count > 1 )
+      this.artifactId = nullify( tokens[1] );
+    
+    if( count > 2 )
+      this.version = nullify( tokens[2] );
+    
+    if( count > 3 )
+      this.classifier = nullify( tokens[3] );
+    
+    if( count > 4 )
+      this.type = nullify( tokens[4] );
+    }
+    private static final String nullify( String s )
+    {
+      if( s == null || s.length() < 1 )
+        return null;
+      return s;
+    }
+    public ArtifactMetadata( String groupId, String name, String version )
+    {
+        this( groupId, name, version, null );
+    }
+
+    public ArtifactMetadata( String groupId, String name, String version, String type )
+    {
+        this( groupId, name, version, type, null );
+    }
+
+    public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope )
+    {
+        this( groupId, name, version, type, artifactScope, null );
+    }
+
+    public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope, String classifier )
+    {
+        this( groupId, name, version, type, artifactScope, classifier, null );
+    }
+
+    public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope, String classifier, String artifactUri )
+    {
+        this( groupId, name, version, type, artifactScope, classifier, artifactUri, null, true, null );
+    }
+
+    public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope, String classifier, String artifactUri, String why, boolean resolved,
+                             String error )
+    {
+        this.groupId = groupId;
+        this.artifactId = name;
+        this.version = version;
+        this.type = type;
+        this.artifactScope = artifactScope;
+        this.classifier = classifier;
+        this.artifactUri = artifactUri;
+        this.why = why;
+        this.resolved = resolved;
+        this.error = error;
+    }
+
+    public ArtifactMetadata( ArtifactBasicMetadata bmd )
+    {
+      this( bmd.getGroupId(), bmd.getArtifactId(), bmd.getVersion(), bmd.getType(), null, bmd.getClassifier() );
+    }
+
+    public ArtifactMetadata( String groupId, String name, String version, String type, String scopeString, String classifier, String artifactUri, String why, boolean resolved, String error )
+    {
+        this( groupId, name, version, type, scopeString == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf( scopeString ), classifier, artifactUri, why, resolved, error );
+    }
+
+    public ArtifactMetadata( Artifact af )
+    {
+    }
+
+    public boolean isResolved()
+    {
+        return resolved;
+    }
+
+    public void setResolved( boolean resolved )
+    {
+        this.resolved = resolved;
+    }
+
+    public boolean isArtifactExists()
+    {
+        return artifactExists;
+    }
+
+    public void setArtifactExists( boolean artifactExists )
+    {
+        this.artifactExists = artifactExists;
+    }
+
+    public List<ArtifactBasicMetadata> getDependencies()
+    {
+        return dependencies;
+    }
+
+    public void setDependencies( List<ArtifactBasicMetadata> dependencies )
+    {
+        this.dependencies = dependencies;
+    }
+
+    public String getArtifactUri()
+    {
+        return artifactUri;
+    }
+
+    public void setArtifactUri( String artifactUri )
+    {
+        this.artifactUri = artifactUri;
+    }
+
+    public String getWhy()
+    {
+        return why;
+    }
+
+    public void setWhy( String why )
+    {
+        this.why = why;
+    }
+
+    public String getError()
+    {
+        return error;
+    }
+
+    public void setError( String error )
+    {
+        this.error = error;
+    }
+
+    public boolean isError()
+    {
+        return error == null;
+    }
+
+    public void setRelease( boolean release )
+    {
+        this.release = release;
+    }
+
+    public boolean isRelease()
+    {
+        return release;
+    }
+    
+    
+}

Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactScopeEnum.java Fri Aug  1 15:55:40 2008
@@ -0,0 +1,105 @@
+package org.apache.maven.mercury.artifact;
+
+/**
+ * Type safe reincarnation of Artifact scope. Also supplies the <code>DEFAULT_SCOPE<code> as well
+ * as convenience method to deal with scope relationships.
+ * 
+ * @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
+ *
+ */
+public enum ArtifactScopeEnum
+{
+    compile( 1 ), test( 2 ), runtime( 3 ), provided( 4 ), system( 5 );
+
+    public static final ArtifactScopeEnum DEFAULT_SCOPE = compile;
+
+    private int id;
+
+    // Constructor
+    ArtifactScopeEnum( int id )
+    {
+        this.id = id;
+    }
+
+    int getId()
+    {
+        return id;
+    }
+
+
+    /**
+     * Helper method to simplify null processing
+     * 
+     * @return 
+     */
+    public static final ArtifactScopeEnum checkScope( ArtifactScopeEnum scope )
+    {
+    	return scope == null ? DEFAULT_SCOPE : scope;
+    }
+    
+    /**
+     * 
+     * @return unsafe String representation of this scope.
+     */
+    public String getScope()
+    {
+        if ( id == 1 )
+        {
+            return Artifact.SCOPE_COMPILE;
+        }
+        else if ( id == 2 )
+        {
+            return Artifact.SCOPE_TEST;
+
+        }
+        else if ( id == 3 )
+        {
+            return Artifact.SCOPE_RUNTIME;
+
+        }
+        else if ( id == 4 )
+        {
+            return Artifact.SCOPE_PROVIDED;
+        }
+        else
+        {
+            return Artifact.SCOPE_SYSTEM;
+        }
+    }
+    
+    private static final ArtifactScopeEnum [][][] _compliancySets = {
+    	  { { compile  }, { compile,                provided, system } }
+    	, { { test     }, { compile, test,          provided, system } }
+    	, { { runtime  }, { compile,       runtime,           system } }
+    	, { { provided }, { compile, test,          provided         } }
+    };
+    
+    /**
+     * scope relationship function. Used by the graph conflict resolution policies
+     * 
+     * @param scope
+     * @return true is supplied scope is an inclusive sub-scope of current one.
+     */
+    public boolean encloses( ArtifactScopeEnum scope )
+    {
+    	final ArtifactScopeEnum s = checkScope(scope);
+    	
+    	// system scope is historic only - and simple
+    	if( id == system.id )
+    		return scope.id == system.id;
+
+    	for( ArtifactScopeEnum[][] set : _compliancySets  )
+    	{
+    		if( id == set[0][0].id )
+    		{
+    			for( ArtifactScopeEnum ase : set[1] )
+    			{
+    				if( s.id == ase.id )
+    					return true;
+    			}
+    			break;
+    		}
+    	}
+    	return false;
+    }
+}

Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/DefaultArtifact.java Fri Aug  1 15:55:40 2008
@@ -0,0 +1,314 @@
+package org.apache.maven.mercury.artifact;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to you 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 java.io.File;
+
+/**
+ * @author Jason van Zyl
+ * 
+ * @version $Id: DefaultArtifact.java 680880 2008-07-29 23:31:21Z ogusakov $
+ */
+public class DefaultArtifact
+extends ArtifactMetadata
+implements Artifact
+{
+    private File file;
+
+    private String classifier;
+
+    private String downloadUrl;
+
+    private String inheritedScope;
+    
+    public DefaultArtifact( String groupId, String artifactId, String version, String type, String classifier, boolean optional, String scope, String inheritedScope )
+    {
+        if ( version == null )
+        {
+            throw new IllegalArgumentException( "Version cannot be null." );
+        }
+
+        initialize( groupId, artifactId, version, type, classifier, optional, scope, inheritedScope );
+    }
+
+    public String getInheritedScope()
+    {
+        return inheritedScope;
+    }
+    
+    private void initialize( String groupId, String artifactId, String version, String type, String classifier, boolean optional, String scope, String inheritedScope )
+    {
+        this.inheritedScope = inheritedScope;
+        this.groupId = groupId;
+        this.artifactId = artifactId;
+        this.version = version;
+        //this.scope = scope;
+        this.type = type;
+        this.classifier = classifier;
+        this.optional = optional;
+
+        String desiredScope = Artifact.SCOPE_RUNTIME;
+
+        boolean calc = true;
+
+        if ( inheritedScope == null )
+        {
+            desiredScope = scope;
+        }
+        else if ( Artifact.SCOPE_TEST.equals( scope ) || Artifact.SCOPE_PROVIDED.equals( scope ) )
+        {
+            desiredScope = scope;
+            //calc = false;
+        }
+        else if ( Artifact.SCOPE_COMPILE.equals( scope ) && Artifact.SCOPE_COMPILE.equals( inheritedScope ) )
+        {
+            // added to retain compile artifactScope. Remove if you want compile inherited as runtime
+            desiredScope = Artifact.SCOPE_COMPILE;
+        }
+
+        if ( calc )
+        {
+            if ( Artifact.SCOPE_TEST.equals( inheritedScope ) )
+            {
+                desiredScope = Artifact.SCOPE_TEST;
+            }
+
+            if ( Artifact.SCOPE_PROVIDED.equals( inheritedScope ) )
+            {
+                desiredScope = Artifact.SCOPE_PROVIDED;
+            }
+
+            if ( Artifact.SCOPE_SYSTEM.equals( scope ) )
+            {
+                // system scopes come through unchanged...
+                desiredScope = Artifact.SCOPE_SYSTEM;
+            }
+        }
+        
+        this.scope = desiredScope;
+
+        validateIdentity();
+    }
+
+    private void validateIdentity()
+    {
+        if ( empty( groupId ) )
+        {
+            throw new IllegalArgumentException( "The groupId cannot be empty." );
+        }
+
+        if ( artifactId == null )
+        {
+            throw new IllegalArgumentException( "The artifactId cannot be empty." );
+        }
+
+        if ( type == null )
+        {
+            throw new IllegalArgumentException( "The type cannot be empty." );
+        }
+
+        if ( ( version == null ) )
+        {
+            throw new IllegalArgumentException( "The version cannot be empty." );
+        }
+    }
+
+    private boolean empty( String value )
+    {
+        return ( value == null ) || ( value.trim().length() < 1 );
+    }
+
+    public void setFile( File file )
+    {
+        this.file = file;
+    }
+
+    public File getFile()
+    {
+        return file;
+    }
+    // ----------------------------------------------------------------------
+    //
+    // ----------------------------------------------------------------------
+
+    public String getId()
+    {
+        return getDependencyConflictId() + ":" + getVersion();
+    }
+
+    public String getDependencyConflictId()
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.append( getGroupId() );
+        sb.append( ":" );
+        appendArtifactTypeClassifierString( sb );
+        return sb.toString();
+    }
+
+    private void appendArtifactTypeClassifierString( StringBuilder sb )
+    {
+        sb.append( getArtifactId() );
+        sb.append( ":" );
+        sb.append( getType() );
+        if ( hasClassifier() )
+        {
+            sb.append( ":" );
+            sb.append( getClassifier() );
+        }
+    }
+
+    // ----------------------------------------------------------------------
+    // Object overrides
+    // ----------------------------------------------------------------------
+    @Override
+    public String toString()
+    {
+        StringBuilder sb = new StringBuilder();
+        if ( getGroupId() != null )
+        {
+            sb.append( getGroupId() );
+            sb.append( ":" );
+        }
+        appendArtifactTypeClassifierString( sb );
+        sb.append( ":" );
+        
+        if ( getVersion() != null )
+        {
+            sb.append( getVersion() );
+        }
+        
+        if ( scope != null )
+        {
+            sb.append( ":" );
+            sb.append( scope );
+        }
+        return sb.toString();
+    }
+
+    @Override
+    public int hashCode()
+    {
+        int result = 17;
+        result = 37 * result + groupId.hashCode();
+        result = 37 * result + artifactId.hashCode();
+        result = 37 * result + type.hashCode();
+        if ( version != null )
+        {
+            result = 37 * result + version.hashCode();
+        }
+        result = 37 * result + ( classifier != null ? classifier.hashCode() : 0 );
+        return result;
+    }
+
+    @Override
+    public boolean equals( Object o )
+    {
+        if ( o == this )
+        {
+            return true;
+        }
+
+        if ( !( o instanceof Artifact ) )
+        {
+            return false;
+        }
+
+        Artifact a = (Artifact) o;
+
+        if ( !a.getGroupId().equals( groupId ) )
+        {
+            return false;
+        }
+        else if ( !a.getArtifactId().equals( artifactId ) )
+        {
+            return false;
+        }
+        else if ( !a.getVersion().equals( version ) )
+        {
+            return false;
+        }
+        else if ( !a.getType().equals( type ) )
+        {
+            return false;
+        }
+        else if ( a.getClassifier() == null ? classifier != null : !a.getClassifier().equals( classifier ) )
+        {
+            return false;
+        }
+
+        // We don't consider the version range in the comparison, just the resolved version
+
+        return true;
+    }
+
+    public int compareTo( Artifact o )
+    {
+        Artifact a = (Artifact) o;
+
+        int result = groupId.compareTo( a.getGroupId() );
+        if ( result == 0 )
+        {
+            result = artifactId.compareTo( a.getArtifactId() );
+            if ( result == 0 )
+            {
+                result = type.compareTo( a.getType() );
+                if ( result == 0 )
+                {
+                    if ( classifier == null )
+                    {
+                        if ( a.getClassifier() != null )
+                        {
+                            result = 1;
+                        }
+                    }
+                    else
+                    {
+                        if ( a.getClassifier() != null )
+                        {
+                            result = classifier.compareTo( a.getClassifier() );
+                        }
+                        else
+                        {
+                            result = -1;
+                        }
+                    }
+                    if ( result == 0 )
+                    {
+                        // We don't consider the version range in the comparison, just the resolved version
+                        result = version.compareTo( a.getVersion() );
+                    }
+                }
+            }
+        }
+        return result;
+    }
+
+    public String getDownloadUrl()
+    {
+        return downloadUrl;
+    }
+
+    public void setDownloadUrl( String downloadUrl )
+    {
+        this.downloadUrl = downloadUrl;
+    }
+
+    public void setResolvedVersion( String version )
+    {
+        this.version = version;
+        // retain baseVersion
+    }
+}

Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java?rev=681887&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/ArtifactVersion.java Fri Aug  1 15:55:40 2008
@@ -0,0 +1,34 @@
+package org.apache.maven.mercury.artifact.version;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+public interface ArtifactVersion
+    extends Comparable
+{
+    int getMajorVersion();
+
+    int getMinorVersion();
+
+    int getIncrementalVersion();
+
+    int getBuildNumber();
+
+    String getQualifier();
+}