You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ct...@apache.org on 2008/11/24 01:13:07 UTC
svn commit: r720076 -
/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/GenerateReactorProjectsPhase.java
Author: ctan
Date: Sun Nov 23 16:13:07 2008
New Revision: 720076
URL: http://svn.apache.org/viewvc?rev=720076&view=rev
Log:
merge -r 720074:720075 from continuum-1.2.x branch
[CONTINUUM-1987] fixed release error when local repo used is different from the local repo in settings.xml
Modified:
continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/GenerateReactorProjectsPhase.java
Modified: continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/GenerateReactorProjectsPhase.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/GenerateReactorProjectsPhase.java?rev=720076&r1=720075&r2=720076&view=diff
==============================================================================
--- continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/GenerateReactorProjectsPhase.java (original)
+++ continuum/trunk/continuum-release/src/main/java/org/apache/maven/continuum/release/phase/GenerateReactorProjectsPhase.java Sun Nov 23 16:13:07 2008
@@ -101,12 +101,14 @@
MavenProject project;
try
{
+ ArtifactRepository repository = getLocalRepository( descriptor.getAdditionalArguments() );
+
project = projectBuilder.buildWithDependencies( getProjectDescriptorFile( descriptor ),
- getLocalRepository(), getProfileManager( getSettings() ) );
+ repository, getProfileManager( getSettings() ) );
reactorProjects.add( project );
- addModules( reactorProjects, project );
+ addModules( reactorProjects, project, repository );
}
catch ( ProjectBuildingException e )
{
@@ -137,7 +139,7 @@
return reactorProjects;
}
- private void addModules( List reactorProjects, MavenProject project )
+ private void addModules( List reactorProjects, MavenProject project, ArtifactRepository repository )
throws ContinuumReleaseException
{
for ( Iterator modules = project.getModules().iterator(); modules.hasNext(); )
@@ -148,13 +150,13 @@
try
{
- MavenProject reactorProject = projectBuilder.buildWithDependencies( pomFile, getLocalRepository(),
+ MavenProject reactorProject = projectBuilder.buildWithDependencies( pomFile, repository,
getProfileManager(
getSettings() ) );
reactorProjects.add( reactorProject );
- addModules( reactorProjects, reactorProject );
+ addModules( reactorProjects, reactorProject, repository );
}
catch ( ProjectBuildingException e )
{
@@ -184,10 +186,35 @@
return new File( parentPath, pomFilename );
}
- private ArtifactRepository getLocalRepository()
+ private ArtifactRepository getLocalRepository( String arguments )
throws ContinuumReleaseException
{
- return new DefaultArtifactRepository( "local-repository", "file://" + getSettings().getLocalRepository(),
+ String localRepository = null;
+
+ if ( arguments != null )
+ {
+ String[] args = arguments.split( " " );
+
+ for ( int i = 0; i < args.length; i++ )
+ {
+ if ( args[i].contains( "-Dmaven.repo.local=" ) )
+ {
+ localRepository = args[i].substring( args[i].indexOf( "=" ) + 1 );
+ break;
+ }
+ }
+ }
+
+ if ( localRepository == null )
+ {
+ localRepository = getSettings().getLocalRepository();
+ }
+ else if ( localRepository.endsWith( "\"" ) )
+ {
+ localRepository = localRepository.substring( 0, localRepository.indexOf( "\"" ) );
+ }
+
+ return new DefaultArtifactRepository( "local-repository", "file://" + localRepository,
new DefaultRepositoryLayout() );
}