You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2006/06/15 08:16:11 UTC

svn commit: r414486 - in /maven/repository-manager/trunk: ./ maven-repository-core/ maven-repository-core/src/main/java/org/apache/maven/repository/ maven-repository-core/src/test/java/org/apache/maven/repository/

Author: jvanzyl
Date: Wed Jun 14 23:16:10 2006
New Revision: 414486

URL: http://svn.apache.org/viewvc?rev=414486&view=rev
Log:
o simple start to the repo app
  - will integrate configuration next and a plexus app server front-end

Added:
    maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/DefaultRepositoryManager.java   (with props)
    maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/RepositoryManager.java   (with props)
    maven/repository-manager/trunk/maven-repository-core/src/test/java/org/apache/maven/repository/RepositoryManagerTest.java   (with props)
Modified:
    maven/repository-manager/trunk/maven-repository-core/pom.xml
    maven/repository-manager/trunk/pom.xml

Modified: maven/repository-manager/trunk/maven-repository-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-core/pom.xml?rev=414486&r1=414485&r2=414486&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-core/pom.xml (original)
+++ maven/repository-manager/trunk/maven-repository-core/pom.xml Wed Jun 14 23:16:10 2006
@@ -11,6 +11,19 @@
   <name>Maven Repository Manager Core</name>
   <dependencies>
     <dependency>
+      <groupId>org.apache.maven.repository</groupId>
+      <artifactId>maven-repository-converter</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.repository</groupId>
+      <artifactId>maven-repository-discovery</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.repository</groupId>
+      <artifactId>maven-repository-reports-standard</artifactId>
+    </dependency>    
+    <!-- Testing -->
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>

Added: maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/DefaultRepositoryManager.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/DefaultRepositoryManager.java?rev=414486&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/DefaultRepositoryManager.java (added)
+++ maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/DefaultRepositoryManager.java Wed Jun 14 23:16:10 2006
@@ -0,0 +1,80 @@
+package org.apache.maven.repository;
+
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.repository.converter.RepositoryConversionException;
+import org.apache.maven.repository.converter.RepositoryConverter;
+import org.apache.maven.repository.discovery.ArtifactDiscoverer;
+import org.apache.maven.repository.reporting.ArtifactReporter;
+
+import java.io.File;
+import java.util.List;
+import java.net.MalformedURLException;
+
+/**
+ * @author Jason van Zyl
+ * @plexus.component
+ */
+public class DefaultRepositoryManager
+    implements RepositoryManager
+{
+    /**
+     * @plexus.requirement role="org.apache.maven.artifact.repository.discovery.ArtifactDiscoverer" role-hint="legacy"
+     */
+    private ArtifactDiscoverer artifactDiscoverer;
+
+    /**
+     * @plexus.requirement role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" role-hint="legacy"
+     */
+    private ArtifactRepositoryLayout legacyLayout;
+
+    /**
+     * @plexus.requirement role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" role-hint="default"
+     */
+    private ArtifactRepositoryLayout defaultLayout;
+
+    /**
+     * @plexus.requirement role="org.apache.maven.artifact.repository.ArtifactRepositoryFactory"
+     */
+    private ArtifactRepositoryFactory artifactRepositoryFactory;
+
+    /**
+     * @plexus.requirement role="org.apache.maven.repository.converter.ArtifactRepositoryFactory"
+     */
+    private RepositoryConverter repositoryConverter;
+
+    /**
+     * @plexus.requirement role="org.apache.maven.artifact.repository.reporter.ArtifactReporter" role-hint="default"
+     */
+    private ArtifactReporter reporter;
+
+    public void convertLegacyRepository( File legacyRepositoryDirectory,
+                                         File repositoryDirectory,
+                                         boolean includeSnapshots )
+        throws RepositoryConversionException
+    {
+        ArtifactRepository legacyRepository;
+
+        ArtifactRepository repository;
+
+        try
+        {
+            legacyRepository = artifactRepositoryFactory.createArtifactRepository( "legacy",
+                                                                                   legacyRepositoryDirectory.toURL().toString(),
+                                                                                   legacyLayout, null, null );
+
+            repository = artifactRepositoryFactory.createArtifactRepository( "default",
+                                                                             legacyRepositoryDirectory.toURL().toString(),
+                                                                             defaultLayout, null, null );
+        }
+        catch ( MalformedURLException e )
+        {
+            throw new RepositoryConversionException( "Error convering legacy repository.", e );
+        }
+
+        List legacyArtifacts = artifactDiscoverer.discoverArtifacts( legacyRepository, null, includeSnapshots );
+
+        repositoryConverter.convert( legacyArtifacts, repository, reporter );
+    }
+}

Propchange: maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/DefaultRepositoryManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/DefaultRepositoryManager.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/RepositoryManager.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/RepositoryManager.java?rev=414486&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/RepositoryManager.java (added)
+++ maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/RepositoryManager.java Wed Jun 14 23:16:10 2006
@@ -0,0 +1,29 @@
+package org.apache.maven.repository;
+
+import org.apache.maven.repository.converter.RepositoryConversionException;
+
+import java.io.File;
+
+/**
+ * @author Jason van Zyl
+ */
+public interface RepositoryManager
+{
+    /**
+     * Role of the Repository Manager
+     */
+    String ROLE = RepositoryManager.class.getName();
+
+    /**
+     * Convert a legacy repository to a modern repository. This means a Maven 1.x repository
+     * using v3 POMs to a Maven 2.x repository using v4.0.0 POMs.
+     *
+     * @param legacyRepositoryDirectory
+     * @param repositoryDirectory
+     * @throws RepositoryConversionException
+     */
+    void convertLegacyRepository( File legacyRepositoryDirectory,
+                                  File repositoryDirectory,
+                                  boolean includeSnapshots )
+        throws RepositoryConversionException;
+}

Propchange: maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/RepositoryManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/repository-manager/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/RepositoryManager.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/repository-manager/trunk/maven-repository-core/src/test/java/org/apache/maven/repository/RepositoryManagerTest.java
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/maven-repository-core/src/test/java/org/apache/maven/repository/RepositoryManagerTest.java?rev=414486&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-core/src/test/java/org/apache/maven/repository/RepositoryManagerTest.java (added)
+++ maven/repository-manager/trunk/maven-repository-core/src/test/java/org/apache/maven/repository/RepositoryManagerTest.java Wed Jun 14 23:16:10 2006
@@ -0,0 +1,16 @@
+package org.apache.maven.repository;
+
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ * @author Jason van Zyl
+ */
+public class RepositoryManagerTest
+    extends PlexusTestCase
+{
+    public void testLegacyRepositoryConversion()
+        throws Exception
+    {
+        RepositoryManager rm = (RepositoryManager) lookup( RepositoryManager.ROLE );
+    }
+}

Propchange: maven/repository-manager/trunk/maven-repository-core/src/test/java/org/apache/maven/repository/RepositoryManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/repository-manager/trunk/maven-repository-core/src/test/java/org/apache/maven/repository/RepositoryManagerTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/repository-manager/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/repository-manager/trunk/pom.xml?rev=414486&r1=414485&r2=414486&view=diff
==============================================================================
--- maven/repository-manager/trunk/pom.xml (original)
+++ maven/repository-manager/trunk/pom.xml Wed Jun 14 23:16:10 2006
@@ -223,6 +223,11 @@
         <artifactId>maven-repository-configuration</artifactId>
         <version>${pom.version}</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.maven.repository</groupId>
+        <artifactId>maven-repository-converter</artifactId>
+        <version>${pom.version}</version>
+      </dependency>      
     </dependencies>
   </dependencyManagement>
   <reporting>