Author: ogusakov
Date: Tue Aug 19 21:49:59 2008
New Revision: 687242

URL: http://svn.apache.org/viewvc?rev=687242&view=rev
Log:
local repo - reader and writer work, group md is fine, version md - still 
investigating

Added:
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Test.java
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar
   (with props)
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar.sha1
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom.sha1
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/pubring.gpg
   (with props)
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/secring.gpg
   (with props)
    
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.jar
   (with props)
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/
    
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Test.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Test.java?rev=687242&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Test.java
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryWriterM2Test.java
 Tue Aug 19 21:49:59 2008
@@ -0,0 +1,109 @@
+package org.apache.maven.mercury.repository.local.m2;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.mercury.artifact.Artifact;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.artifact.DefaultArtifact;
+import org.apache.maven.mercury.builder.api.MetadataProcessor;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
+import org.apache.maven.mercury.repository.api.RepositoryReader;
+import org.apache.maven.mercury.repository.api.RepositoryWriter;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.FileUtil;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class LocalRepositoryWriterM2Test
+    extends TestCase
+{
+  LocalRepositoryM2 repo;
+  
+  MetadataProcessor mdProcessor;
+  
+  RepositoryReader reader;
+  RepositoryWriter writer;
+
+  List<ArtifactBasicMetadata> query;
+  
+  ArtifactBasicMetadata bmd;
+  
+  String pomBlob;
+  
+  private static final String keyId   = "0EDB5D91141BC4F2";
+
+  private static final String secretKeyFile = "/pgp/secring.gpg";
+  private static final String secretKeyPass = "testKey82";
+  
+  Server server;
+  HashSet<StreamVerifierFactory> factories;
+  
//------------------------------------------------------------------------------
+  @Override
+  protected void setUp()
+      throws Exception
+  {
+    File repoFile = new File("./target/test-classes/tempRepo");
+    FileUtil.copy( new File("./target/test-classes/repo"), repoFile, true );
+    
+    mdProcessor = new MetadataProcessorMock();
+    
+    query = new ArrayList<ArtifactBasicMetadata>();
+    
+    server = new Server( "test", repoFile.toURL() );
+    factories = new HashSet<StreamVerifierFactory>();       
+    factories.add( 
+        new PgpStreamVerifierFactory(
+                new StreamVerifierAttributes( 
PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+                , getClass().getResourceAsStream( secretKeyFile )
+                , keyId
+                , secretKeyPass
+                                    )
+                  );
+    factories.add( new SHA1VerifierFactory(false,false) );
+    server.setStreamVerifierFactories(factories);
+      
+    repo = new LocalRepositoryM2( server );
+    reader = repo.getReader( mdProcessor );
+    writer = repo.getWriter();
+    
+      
+  }
+    
+  public void testWriteArtifact()
+  throws Exception
+  {
+    Set<Artifact> set = new HashSet<Artifact>(3);
+    DefaultArtifact da = new DefaultArtifact( new 
ArtifactBasicMetadata("org.apache.maven:maven-core:2.0.9") );
+    da.setPomBlob( FileUtil.readRawData( getClass().getResourceAsStream( 
"/maven-core-2.0.9.pom" ) ) );
+    da.setStream( getClass().getResourceAsStream( "/maven-core-2.0.9.jar" ) );
+    set.add( da );
+    
+    writer.writeArtifact( set );
+    
+    File af = new File( repo.getDirectory(), 
"/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar");
+    assertTrue( af.exists() );
+    assertEquals( 159630, af.length() );
+    
+    File ap = new File( repo.getDirectory(), 
"/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom");
+    assertTrue( ap.exists() );
+    assertEquals( 7785, ap.length() );
+    
+    
+  }
+
+  
+}

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar?rev=687242&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar.sha1
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar.sha1?rev=687242&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar.sha1
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.jar.sha1
 Tue Aug 19 21:49:59 2008
@@ -0,0 +1 @@
+e1003a0a66dae77515259c5e591ea1cfd73c2859
\ No newline at end of file

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom?rev=687242&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom
 Tue Aug 19 21:49:59 2008
@@ -0,0 +1,234 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+  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.
+-->
+
+<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>
+  <parent>
+    <artifactId>maven</artifactId>
+    <groupId>org.apache.maven</groupId>
+    <version>2.0.9</version>
+  </parent>
+
+  <artifactId>maven-core</artifactId>
+  <name>Maven Core</name>
+
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache.snapshots</id>
+      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+    </pluginRepository>
+  </pluginRepositories>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-settings</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-file</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-parameter-documenter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-webdav</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-http-lightweight</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-profile</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-provider-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-container-default</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-repository-metadata</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-error-diagnostics</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>1.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-lang</artifactId>
+          <groupId>commons-lang</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-ssh-external</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-descriptor</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-interactivity-api</artifactId>
+      <version>1.0-alpha-4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>plexus-utils</artifactId>
+          <groupId>plexus</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>plexus-container-default</artifactId>
+          <groupId>org.codehaus.plexus</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact-manager</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-monitor</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-ssh</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>classworlds</groupId>
+      <artifactId>classworlds</artifactId>
+    </dependency>
+  </dependencies>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>l10n-maven-plugin</artifactId>
+        <version>1.0-alpha-1</version>
+        <configuration>
+          <locales>
+            <locale>el</locale>
+            <locale>de</locale>
+            <locale>es</locale>
+            <locale>fr</locale>
+            <locale>ja</locale>
+            <locale>nl</locale>
+            <locale>no</locale>
+            <locale>pl</locale>
+            <locale>zh_CN</locale>
+          </locales>
+        </configuration>
+      </plugin>
+    </plugins>
+  </reporting>
+
+  <profiles>
+    <profile>
+      <id>include-site</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-scm-plugin</artifactId>
+            <configuration>
+              
<connectionUrl>scm:svn:http://svn.apache.org/repos/asf/maven/site/trunk</connectionUrl>
+              
<checkoutDirectory>${project.build.directory}/maven-site</checkoutDirectory>
+            </configuration>
+            <executions>
+              <execution>
+                <phase>initialize</phase>
+                <goals>
+                  <goal>checkout</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-invoker-plugin</artifactId>
+            <configuration>
+              
<projectsDirectory>${project.build.directory}/maven-site</projectsDirectory>
+              <pom>${project.build.directory}/maven-site/pom.xml</pom>
+              <goals>
+                <goal>clean</goal>
+                <goal>site</goal>
+              </goals>
+            </configuration>
+            <executions>
+              <execution>
+                <id>initialize</id>
+                <phase>initialize</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom.sha1
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom.sha1?rev=687242&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom.sha1
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/maven-core-2.0.9.pom.sha1
 Tue Aug 19 21:49:59 2008
@@ -0,0 +1 @@
+25da75e747afa1c361f003aed72de2e48dd190a7
\ No newline at end of file

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/pubring.gpg
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/pubring.gpg?rev=687242&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/pubring.gpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/secring.gpg
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/secring.gpg?rev=687242&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/pgp/secring.gpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-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-local-m2/src/test/resources/repo/a/a/3/a-3.jar?rev=687242&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-local-m2/src/test/resources/repo/a/a/3/a-3.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java?rev=687242&view=auto
==============================================================================
--- 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java
 (added)
+++ 
maven/sandbox/trunk/mercury/mercury-transport/mercury-transport-file/src/main/java/org/apache/maven/mercury/transport/file/FileWriterTransport.java
 Tue Aug 19 21:49:59 2008
@@ -0,0 +1,46 @@
+package org.apache.maven.mercury.transport.file;
+
+import java.util.List;
+
+import org.apache.maven.mercury.crypto.api.StreamObserver;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.transport.api.TransportException;
+import org.apache.maven.mercury.transport.api.TransportTransaction;
+import org.apache.maven.mercury.transport.api.WriterTransport;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class FileWriterTransport
+    implements WriterTransport
+{
+  protected Server server;
+  
+
+  public FileWriterTransport( Server server )
+  {
+    this.server = server;
+  }
+
+  public TransportTransaction write( TransportTransaction trx )
+  throws TransportException
+  {
+    return null;
+  }
+
+}
+//==============================================================
+class FileWriter
+implements Runnable
+{
+
+  public void run()
+  {
+  }
+  
+}
+//==============================================================


Reply via email to