o simple start to the repo app

- will integrate configuration next and a plexus app server front-end


git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@414486 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2006-06-15 06:16:10 +00:00
parent 2e0b0bd17a
commit 26c39b527a
5 changed files with 143 additions and 0 deletions

View File

@ -10,6 +10,19 @@
<artifactId>maven-repository-core</artifactId> <artifactId>maven-repository-core</artifactId>
<name>Maven Repository Manager Core</name> <name>Maven Repository Manager Core</name>
<dependencies> <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> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>

View File

@ -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 );
}
}

View File

@ -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;
}

View File

@ -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 );
}
}

View File

@ -223,6 +223,11 @@
<artifactId>maven-repository-configuration</artifactId> <artifactId>maven-repository-configuration</artifactId>
<version>${pom.version}</version> <version>${pom.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.maven.repository</groupId>
<artifactId>maven-repository-converter</artifactId>
<version>${pom.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<reporting> <reporting>