[MRM-138] move local repository to a permanent location

git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@428694 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Porter 2006-08-04 11:10:50 +00:00
parent b7a2a19229
commit 8a6d97d0fa
5 changed files with 35 additions and 13 deletions

View File

@ -24,6 +24,14 @@
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<name>localRepository</name>
<version>1.0.0</version>
<type>String</type>
<description>
The location of the local repository.
</description>
</field>
<field>
<name>indexPath</name>
<version>1.0.0</version>
@ -67,6 +75,11 @@
<codeSegment>
<version>1.0.0</version>
<code><![CDATA[
public Configuration()
{
localRepository = new java.io.File( System.getProperty( "user.home" ), ".m2/repository" ).getAbsolutePath();
}
public boolean isValid()
{
boolean valid = true;

View File

@ -44,4 +44,12 @@ public interface ConfiguredRepositoryFactory
* @return the artifact repositories
*/
List createRepositories( Configuration configuration );
/**
* Create a local repository from the given configuration.
*
* @param configuration the configuration
* @return the local artifact repository
*/
ArtifactRepository createLocalRepository( Configuration configuration );
}

View File

@ -65,4 +65,10 @@ public class DefaultConfiguredRepositoryFactory
return repositories;
}
public ArtifactRepository createLocalRepository( Configuration configuration )
{
ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) repositoryLayouts.get( "default" );
return repoFactory.createArtifactRepository( "local", configuration.getLocalRepository(), layout, null, null );
}
}

View File

@ -64,6 +64,12 @@
<artifactId>plexus-log4j-logging</artifactId>
<version>1.1-alpha-2</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-file</artifactId>
<version>1.0-beta-1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>

View File

@ -28,11 +28,9 @@ import org.apache.maven.repository.configuration.Configuration;
import org.apache.maven.repository.configuration.ConfigurationStore;
import org.apache.maven.repository.configuration.ConfigurationStoreException;
import org.apache.maven.repository.configuration.ConfiguredRepositoryFactory;
import org.apache.maven.repository.configuration.RepositoryConfiguration;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
import java.io.IOException;
import java.util.List;
@ -101,23 +99,14 @@ public class ShowArtifactAction
Artifact artifact = artifactFactory.createProjectArtifact( groupId, artifactId, version );
// TODO: maybe we can decouple the assembly parts of the project builder from the repository handling to get rid of the temp repo
MavenProject project = projectBuilder.buildFromRepository( artifact, repositories, getLocalRepository() );
ArtifactRepository localRepository = repositoryFactory.createLocalRepository( configuration );
MavenProject project = projectBuilder.buildFromRepository( artifact, repositories, localRepository );
model = project.getModel();
return SUCCESS;
}
private ArtifactRepository getLocalRepository()
throws IOException
{
// TODO: do we want this to be configurable?
RepositoryConfiguration configuration = new RepositoryConfiguration();
configuration.setId( "local" );
configuration.setDirectory( File.createTempFile( "repository", "local" ).getAbsolutePath() );
return repositoryFactory.createRepository( configuration );
}
public Model getModel()
{
return model;