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();
+}