Author: ogusakov Date: Fri Aug 22 18:10:07 2008 New Revision: 688238 URL: http://svn.apache.org/viewvc?rev=688238&view=rev Log: joint local/remote tests for repository reader and writer in it project, metadata is now fully included into signature generation. Added standalone utility for signing file hierarchies
Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar (with props) maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.jar (with props) maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar (with props) maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1 maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1 maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar (with props) maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar (with props) maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java Fri Aug 22 18:10:07 2008 @@ -0,0 +1,273 @@ +package org.apache.maven.mercury.repository.remote.m2; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.net.URL; +import java.util.Collection; +import java.util.HashSet; +import java.util.Hashtable; +import java.util.List; +import java.util.Set; + +import org.apache.maven.mercury.artifact.Artifact; +import org.apache.maven.mercury.artifact.ArtifactBasicMetadata; +import org.apache.maven.mercury.artifact.Quality; +import org.apache.maven.mercury.artifact.version.DefaultArtifactVersion; +import org.apache.maven.mercury.builder.api.MetadataProcessingException; +import org.apache.maven.mercury.builder.api.MetadataProcessor; +import org.apache.maven.mercury.builder.api.MetadataReader; +import org.apache.maven.mercury.crypto.api.StreamVerifierFactory; +import org.apache.maven.mercury.repository.api.AbstractRepository; +import org.apache.maven.mercury.repository.api.RemoteRepository; +import org.apache.maven.mercury.repository.api.Repository; +import org.apache.maven.mercury.repository.api.RepositoryException; +import org.apache.maven.mercury.repository.api.RepositoryReader; +import org.apache.maven.mercury.repository.api.RepositoryWriter; +import org.apache.maven.mercury.repository.metadata.AddVersionOperation; +import org.apache.maven.mercury.repository.metadata.Metadata; +import org.apache.maven.mercury.repository.metadata.MetadataBuilder; +import org.apache.maven.mercury.repository.metadata.MetadataOperation; +import org.apache.maven.mercury.repository.metadata.SetSnapshotOperation; +import org.apache.maven.mercury.repository.metadata.Snapshot; +import org.apache.maven.mercury.repository.metadata.SnapshotOperand; +import org.apache.maven.mercury.repository.metadata.StringOperand; +import org.apache.maven.mercury.spi.http.client.HttpClientException; +import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployRequest; +import org.apache.maven.mercury.spi.http.client.deploy.DefaultDeployer; +import org.apache.maven.mercury.spi.http.client.deploy.DeployResponse; +import org.apache.maven.mercury.transport.api.Binding; +import org.apache.maven.mercury.transport.api.Server; +import org.apache.maven.mercury.util.FileUtil; +import org.codehaus.plexus.i18n.DefaultLanguage; +import org.codehaus.plexus.i18n.Language; + +public class RemoteRepositoryWriterM2 +implements RepositoryWriter +{ + private static final org.slf4j.Logger _log = org.slf4j.LoggerFactory.getLogger( RemoteRepositoryWriterM2.class ); + private static final Language _lang = new DefaultLanguage( RemoteRepositoryWriterM2.class ); + //--------------------------------------------------------------------------------------------------------------- + private static final String [] _protocols = new String [] { "http", "dav", "webdav" }; + + RemoteRepository _repo; + Server _server; + DefaultDeployer _transport; + RepositoryReader _reader; + //--------------------------------------------------------------------------------------------------------------- + public RemoteRepositoryWriterM2( RemoteRepository repo ) + throws RepositoryException + { + if( repo == null ) + throw new IllegalArgumentException("localRepo cannot be null"); + + _server = repo.getServer(); + if( _server == null ) + throw new IllegalArgumentException( _lang.getMessage( "bad.repository.server.null" ) ); + + if( _server.getURL() == null ) + throw new IllegalArgumentException(_lang.getMessage( "bad.repository.server.url.null" )); + + _repo = repo; + + _reader = _repo.getReader( + new MetadataProcessor() { + + public List<ArtifactBasicMetadata> getDependencies( ArtifactBasicMetadata bmd, MetadataReader mdReader, Hashtable env ) + throws MetadataProcessingException + { + return null; + } + } + ); + + try + { + _transport = new DefaultDeployer(); + HashSet<Server> servers = new HashSet<Server>(1); + servers.add( _server ); + _transport.setServers( servers ); + } + catch( HttpClientException e ) + { + throw new RepositoryException(e); + } + } + //--------------------------------------------------------------------------------------------------------------- + public Repository getRepository() + { + return _repo; + } + //--------------------------------------------------------------------------------------------------------------- + public boolean canHandle( String protocol ) + { + return AbstractRepository.DEFAULT_LOCAL_READ_PROTOCOL.equals( protocol ); + } + //--------------------------------------------------------------------------------------------------------------- + public String[] getProtocols() + { + return _protocols; + } + //--------------------------------------------------------------------------------------------------------------- + public void close() + { + } + //--------------------------------------------------------------------------------------------------------------- + public void writeArtifact( Collection<Artifact> artifacts ) + throws RepositoryException + { + if( artifacts == null || artifacts.size() < 1 ) + return; + + Set<StreamVerifierFactory> vFacs = null; + Server server = _repo.getServer(); + if( server != null && server.hasWriterStreamVerifierFactories() ) + vFacs = server.getWriterStreamVerifierFactories(); + + if( vFacs == null ) // let it be empty, but not null + vFacs = new HashSet<StreamVerifierFactory>(1); + + for( Artifact artifact : artifacts ) + { + writeArtifact( artifact, vFacs ); + } + } + //--------------------------------------------------------------------------------------------------------------- + public void writeArtifact( Artifact artifact, Set<StreamVerifierFactory> vFacs ) + throws RepositoryException + { + if( artifact == null ) + return; + + boolean isPom = "pom".equals( artifact.getType() ); + + byte [] pomBlob = artifact.getPomBlob(); + boolean hasPomBlob = pomBlob != null && pomBlob.length > 0; + + if( !artifact.hasClassifier() && !hasPomBlob ) + throw new RepositoryException( _lang.getMessage( "no.pom.in.primary.artifact", artifact.toString() ) ); + + InputStream in = artifact.getStream(); + if( in == null ) + { + File aFile = artifact.getFile(); + if( aFile == null && !isPom ) + { + throw new RepositoryException( _lang.getMessage( "artifact.no.stream", artifact.toString() ) ); + } + + try + { + in = new FileInputStream( aFile ); + } + catch( FileNotFoundException e ) + { + if( !isPom ) + throw new RepositoryException( _lang.getMessage( "artifact.no.file", artifact.toString(), aFile.getAbsolutePath(), e.getMessage() ) ); + } + } + DefaultArtifactVersion dav = new DefaultArtifactVersion( artifact.getVersion() ); + Quality aq = dav.getQuality(); + boolean isSnapshot = aq.equals( Quality.SNAPSHOT_QUALITY ) || aq.equals( Quality.SNAPSHOT_TS_QUALITY ); + + String relGroupPath = artifact.getGroupId().replace( '.', '/' )+"/"+artifact.getArtifactId(); + String relVersionPath = relGroupPath + '/' + (isSnapshot ? (dav.getBase()+'-'+Artifact.SNAPSHOT_VERSION) : artifact.getVersion() ); + + try + { + if( isPom ) + { + if( in == null && !hasPomBlob ) + throw new RepositoryException( _lang.getMessage( "pom.artifact.no.stream", artifact.toString() ) ); + + if( in != null ) + { + byte [] pomBlobBytes = FileUtil.readRawData( in ); + hasPomBlob = pomBlobBytes != null && pomBlobBytes.length > 0; + if( hasPomBlob ) + pomBlob = pomBlobBytes; + } + + } + + String url = _server.getURL().toString(); + + // read metadata + String gaMdUrl = url+'/'+relGroupPath+'/'+_repo.getMetadataName(); + byte [] gaMdBytes = _reader.readRawData( gaMdUrl ); + + String gavMdUrl = url+'/'+relVersionPath+'/'+_repo.getMetadataName(); + byte [] gavMdBytes = _reader.readRawData( gavMdUrl ); + + HashSet<Binding> bindings = new HashSet<Binding>(4); + + // first - take care of the binary + String binUrl = url+'/'+relVersionPath+'/'+artifact.getBaseName()+'.'+artifact.getType(); + bindings.add( new Binding( new URL(binUrl), artifact.getFile() ) ); + + // GA metadata + Metadata md = null; + + md = MetadataBuilder.getMetadata( gaMdBytes ); + + if( md == null ) + { + md = new Metadata(); + md.setGroupId( artifact.getGroupId() ); + md.setArtifactId( artifact.getArtifactId() ); + } + + MetadataOperation mdOp = null; + + if( isSnapshot ) + { + Snapshot sn = MetadataBuilder.createSnapshot( artifact.getVersion() ); + sn.setLocalCopy( true ); + mdOp = new SetSnapshotOperation( new SnapshotOperand(sn) ); + } + else + mdOp = new AddVersionOperation( new StringOperand(artifact.getVersion()) ); + + byte [] gaResBytes = MetadataBuilder.changeMetadata( md, mdOp ); + bindings.add( new Binding(new URL(gaMdUrl), new ByteArrayInputStream(gaResBytes)) ); + + // now - GAV metadata + md = MetadataBuilder.getMetadata( gavMdBytes ); + + if( md == null ) + { + md = new Metadata(); + md.setGroupId( artifact.getGroupId() ); + md.setArtifactId( artifact.getArtifactId() ); + md.setVersion( artifact.getVersion() ); + } + + byte [] gavResBytes = MetadataBuilder.changeMetadata( md, mdOp ); + bindings.add( new Binding(new URL(gaMdUrl), new ByteArrayInputStream(gaResBytes)) ); + + if( !isPom && hasPomBlob ) + { + String pomUrl = url+'/'+relVersionPath+'/'+artifact.getArtifactId()+'-'+artifact.getVersion()+".pom"; + bindings.add( new Binding( new URL(pomUrl), new ByteArrayInputStream(pomBlob) ) ); + } + + DefaultDeployRequest request = new DefaultDeployRequest(); + request.setBindings( bindings ); + + DeployResponse response = _transport.deploy( request ); + + if( response.hasExceptions() ) + throw new RepositoryException( response.getExceptions().toString() ); + + } + catch( Exception e ) + { + throw new RepositoryException( e ); + } + + } + //--------------------------------------------------------------------------------------------------------------- + //--------------------------------------------------------------------------------------------------------------- +} Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2Factory.java Fri Aug 22 18:10:07 2008 @@ -0,0 +1,33 @@ +package org.apache.maven.mercury.repository.remote.m2; + +import org.apache.maven.mercury.repository.api.AbstractRepository; +import org.apache.maven.mercury.repository.api.LocalRepository; +import org.apache.maven.mercury.repository.api.RemoteRepository; +import org.apache.maven.mercury.repository.api.Repository; +import org.apache.maven.mercury.repository.api.RepositoryException; +import org.apache.maven.mercury.repository.api.RepositoryWriter; +import org.apache.maven.mercury.repository.api.RepositoryWriterFactory; +import org.codehaus.plexus.i18n.DefaultLanguage; +import org.codehaus.plexus.i18n.Language; + +public class RemoteRepositoryWriterM2Factory +implements RepositoryWriterFactory +{ + private static final Language lang = new DefaultLanguage( RemoteRepositoryWriterM2Factory.class ); + private static final RemoteRepositoryWriterM2Factory factory = new RemoteRepositoryWriterM2Factory(); + + static + { + AbstractRepository.register( AbstractRepository.DEFAULT_REPOSITORY_TYPE, factory ); + } + + public RepositoryWriter getWriter( Repository repo ) + throws RepositoryException + { + if( repo == null || !(repo instanceof LocalRepository) ) + throw new RepositoryException( lang.getMessage( "bad.repository.type", repo == null ? "null" : repo.getClass().getName() ) ); + + return new RemoteRepositoryWriterM2( (RemoteRepository)repo ); + } + +} Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/1/a-1.pom Fri Aug 22 18:10:07 2008 @@ -0,0 +1,19 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>1</version> + + <dependencies> + <dependency> + <groupId>b</groupId> + <artifactId>b</artifactId> + <version>1</version> + </dependency> + <dependency> + <groupId>c</groupId> + <artifactId>c</artifactId> + <version>1</version> + </dependency> + </dependencies> +</project> \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar?rev=688238&view=auto ============================================================================== Binary file - no diff available. Propchange: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.jar.asc Fri Aug 22 18:10:07 2008 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.40 + +iEYEABECAAYFAkitxHsACgkQDttdkRQbxPI7ywCdHDfUKblJaNRHID0S4yuhXCGO +oi8An2QRvn7A3KnrUq1v92t6bM4IKkMl +=khMy +-----END PGP SIGNATURE----- Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/2/a-2.pom Fri Aug 22 18:10:07 2008 @@ -0,0 +1,23 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>2</version> + + <dependencies> + + <dependency> + <groupId>b</groupId> + <artifactId>b</artifactId> + <version>[1,2]</version> + </dependency> + + <dependency> + <groupId>c</groupId> + <artifactId>c</artifactId> + <version>[2,3)</version> + </dependency> + </dependencies> + + +</project> \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.jar URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.jar?rev=688238&view=auto ============================================================================== Binary file - no diff available. Propchange: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/3/a-3.pom Fri Aug 22 18:10:07 2008 @@ -0,0 +1,19 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>3</version> + + <dependencies> + <dependency> + <groupId>b</groupId> + <artifactId>b</artifactId> + <version>2</version> + </dependency> + <dependency> + <groupId>c</groupId> + <artifactId>c</artifactId> + <version>(1,)</version> + </dependency> + </dependencies> +</project> \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar?rev=688238&view=auto ============================================================================== Binary file - no diff available. Propchange: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.asc Fri Aug 22 18:10:07 2008 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.40 + +iEYEABECAAYFAkitxHsACgkQDttdkRQbxPI7ywCdHDfUKblJaNRHID0S4yuhXCGO +oi8An2QRvn7A3KnrUq1v92t6bM4IKkMl +=khMy +-----END PGP SIGNATURE----- Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1 URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1 (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.jar.sha1 Fri Aug 22 18:10:07 2008 @@ -0,0 +1 @@ +c35fe6fb7d71197acbf7c47c194c45082e4b65f2 \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom Fri Aug 22 18:10:07 2008 @@ -0,0 +1,21 @@ +<project> + <modelVersion>3</modelVersion> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>4</version> + + <dependencies> + <dependency> + <groupId>b</groupId> + <artifactId>b</artifactId> + <version>2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>c</groupId> + <artifactId>c</artifactId> + <version>[2,3]</version> + <scope>provided</scope> + </dependency> + </dependencies> +</project> \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.asc Fri Aug 22 18:10:07 2008 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.40 + +iEYEABECAAYFAkitxHsACgkQDttdkRQbxPLETACfaU+Tv6TEnMuoc8zHEpXsCqFA +kQsAoIbUVY/qAn6WVUwr3HH1l23wyql3 +=yXa4 +-----END PGP SIGNATURE----- Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1 URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1 (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/a-4.pom.sha1 Fri Aug 22 18:10:07 2008 @@ -0,0 +1 @@ +5e06980bdcbc3985bd872a32b7776fa5063aa6b3 \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/4/maven-metadata-local.xml Fri Aug 22 18:10:07 2008 @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?><metadata> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>4</version> + <versioning> + <versions> + <version>4</version> + </versions> + <lastUpdated>20080821193939</lastUpdated> + </versioning> +</metadata> \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar?rev=688238&view=auto ============================================================================== Binary file - no diff available. Propchange: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-20080807.234713-11.pom Fri Aug 22 18:10:07 2008 @@ -0,0 +1,21 @@ +<project> + <modelVersion>3</modelVersion> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>4</version> + + <dependencies> + <dependency> + <groupId>b</groupId> + <artifactId>b</artifactId> + <version>2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>c</groupId> + <artifactId>c</artifactId> + <version>[2,3]</version> + <scope>provided</scope> + </dependency> + </dependencies> +</project> \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar?rev=688238&view=auto ============================================================================== Binary file - no diff available. Propchange: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/5-SNAPSHOT/a-5-SNAPSHOT.pom Fri Aug 22 18:10:07 2008 @@ -0,0 +1,21 @@ +<project> + <modelVersion>3</modelVersion> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>4</version> + + <dependencies> + <dependency> + <groupId>b</groupId> + <artifactId>b</artifactId> + <version>2</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>c</groupId> + <artifactId>c</artifactId> + <version>[2,3]</version> + <scope>provided</scope> + </dependency> + </dependencies> +</project> \ No newline at end of file Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml?rev=688238&view=auto ============================================================================== --- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml (added) +++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-remote-m2/src/test/resources/repo/a/a/maven-metadata.xml Fri Aug 22 18:10:07 2008 @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?><metadata> + <groupId>a</groupId> + <artifactId>a</artifactId> + <version>4</version> + <versioning> + <release>4</release> + <versions> + <version>1</version> + <version>2</version> + <version>3</version> + <version>4</version> + <version>5-SNAPSHOT</version> + </versions> + <lastUpdated>20080424212921</lastUpdated> + </versioning> +</metadata> \ No newline at end of file