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>