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


Reply via email to