You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ba...@apache.org on 2015/02/21 06:05:16 UTC
svn commit: r1661283 - in /continuum/trunk:
continuum-api/src/main/java/org/apache/continuum/utils/release/
continuum-api/src/main/resources/META-INF/
continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/configura...
Author: batkinson
Date: Sat Feb 21 05:05:15 2015
New Revision: 1661283
URL: http://svn.apache.org/r1661283
Log:
[CONTINUUM-2094] Expanded release metadata support using MavenProject rather than Model.
Added:
continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/
continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/DefaultReleaseHelper.java
- copied, changed from r1661282, continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/DefaultReleaseHelper.java
continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/ReleaseHelper.java
- copied, changed from r1661282, continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/ReleaseHelper.java
continuum/trunk/continuum-release/src/main/resources/META-INF/spring-context.xml
- copied, changed from r1661282, continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml
Removed:
continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/DefaultReleaseHelper.java
continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/ReleaseHelper.java
Modified:
continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml
continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/configuration/BuildAgentConfigurationService.java
continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java
continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfigurationService.java
continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentReleaseManager.java
continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutor.java
continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/manager/BuildAgentReleaseManagerTest.java
continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutorTest.java
continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java
continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenBuilderHelper.java
continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java
continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java
Modified: continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml (original)
+++ continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml Sat Feb 21 05:05:15 2015
@@ -31,5 +31,5 @@
<context:component-scan
base-package="org.apache.continuum.installation,org.apache.continuum.profile,
org.apache.maven.continuum.configuration,org.apache.maven.continuum.utils,
- org.apache.continuum.utils.shell,org.apache.continuum.utils.release"/>
+ org.apache.continuum.utils.m2,org.apache.continuum.utils.shell"/>
</beans>
\ No newline at end of file
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/configuration/BuildAgentConfigurationService.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/configuration/BuildAgentConfigurationService.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/configuration/BuildAgentConfigurationService.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/configuration/BuildAgentConfigurationService.java Sat Feb 21 05:05:15 2015
@@ -47,7 +47,8 @@ public interface BuildAgentConfiguration
List<Installation> getAvailableInstallations();
- List<LocalRepository> getLocalRepositories();
+ LocalRepository getLocalRepositoryByName( String name )
+ throws BuildAgentConfigurationException;
String getSharedSecretPassword();
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java Sat Feb 21 05:05:15 2015
@@ -24,11 +24,13 @@ import org.apache.commons.lang.ArrayUtil
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.continuum.buildagent.buildcontext.BuildContext;
import org.apache.continuum.buildagent.buildcontext.manager.BuildContextManager;
+import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationException;
import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationService;
import org.apache.continuum.buildagent.manager.BuildAgentManager;
import org.apache.continuum.buildagent.manager.BuildAgentPurgeManager;
import org.apache.continuum.buildagent.manager.BuildAgentReleaseManager;
import org.apache.continuum.buildagent.model.Installation;
+import org.apache.continuum.buildagent.model.LocalRepository;
import org.apache.continuum.buildagent.taskqueue.PrepareBuildProjectsTask;
import org.apache.continuum.buildagent.taskqueue.manager.BuildAgentTaskQueueManager;
import org.apache.continuum.buildagent.utils.ContinuumBuildAgentUtil;
@@ -36,8 +38,11 @@ import org.apache.continuum.buildagent.u
import org.apache.continuum.taskqueue.BuildProjectTask;
import org.apache.continuum.taskqueue.manager.TaskQueueManagerException;
import org.apache.continuum.utils.build.BuildTrigger;
-import org.apache.continuum.utils.release.ReleaseHelper;
+import org.apache.continuum.release.utils.ReleaseHelper;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.execution.SettingsConfigurationException;
import org.apache.maven.continuum.model.project.BuildResult;
import org.apache.maven.continuum.model.scm.ChangeFile;
import org.apache.maven.continuum.model.scm.ChangeSet;
@@ -96,6 +101,9 @@ public class ContinuumBuildAgentServiceI
@Requirement
private ReleaseHelper releaseHelper;
+ @Requirement
+ LocalRepositoryHelper localRepositoryHelper;
+
public void buildProjects( List<Map<String, Object>> projectsBuildContext )
throws ContinuumBuildAgentException
{
@@ -358,6 +366,26 @@ public class ContinuumBuildAgentServiceI
return projectFile;
}
+ private ArtifactRepository getArtifactRepository( int projectId )
+ throws SettingsConfigurationException
+ {
+ BuildContext buildContext = buildContextManager.getBuildContext( projectId );
+
+ org.apache.continuum.model.repository.LocalRepository localRepo = null;
+ try
+ {
+ LocalRepository agentRepo = null;
+ buildAgentConfigurationService.getLocalRepositoryByName( buildContext.getLocalRepository() );
+ localRepo = localRepositoryHelper.convertAgentRepo( agentRepo );
+ }
+ catch ( BuildAgentConfigurationException e )
+ {
+ log.warn( "failed to find local repo for project {}: {}", projectId, e.getMessage() );
+ }
+
+ return localRepositoryHelper.getLocalRepository( localRepo );
+ }
+
public Map<String, Object> getReleasePluginParameters( int projectId, String pomFilename )
throws ContinuumBuildAgentException
{
@@ -366,7 +394,8 @@ public class ContinuumBuildAgentServiceI
try
{
log.debug( "Getting release plugin parameters of project {}", projectId );
- return releaseHelper.extractPluginParameters( workingDirectory, pomFilename );
+ ArtifactRepository repo = getArtifactRepository( projectId );
+ return releaseHelper.extractPluginParameters( repo, workingDirectory, pomFilename );
}
catch ( Exception e )
{
@@ -383,7 +412,8 @@ public class ContinuumBuildAgentServiceI
try
{
- releaseHelper.buildVersionParams( workingDirectory, pomFilename, autoVersionSubmodules, projects );
+ ArtifactRepository repo = getArtifactRepository( projectId );
+ releaseHelper.buildVersionParams( repo, workingDirectory, pomFilename, autoVersionSubmodules, projects );
}
catch ( Exception e )
{
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfigurationService.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfigurationService.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfigurationService.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfigurationService.java Sat Feb 21 05:05:15 2015
@@ -149,6 +149,19 @@ public class DefaultBuildAgentConfigurat
return generalBuildAgentConfiguration.getLocalRepositories();
}
+ public LocalRepository getLocalRepositoryByName( String name )
+ throws BuildAgentConfigurationException
+ {
+ for ( LocalRepository repo : generalBuildAgentConfiguration.getLocalRepositories() )
+ {
+ if ( name.equalsIgnoreCase( repo.getName() ) )
+ {
+ return repo;
+ }
+ }
+ throw new BuildAgentConfigurationException( String.format( "local repository matching '%s' not found", name ) );
+ }
+
public String getSharedSecretPassword()
{
return generalBuildAgentConfiguration.getSharedSecretPassword();
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentReleaseManager.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentReleaseManager.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentReleaseManager.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentReleaseManager.java Sat Feb 21 05:05:15 2015
@@ -19,12 +19,14 @@ package org.apache.continuum.buildagent.
* under the License.
*/
+import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationException;
import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationService;
import org.apache.continuum.buildagent.installation.BuildAgentInstallationService;
import org.apache.continuum.buildagent.model.Installation;
import org.apache.continuum.buildagent.utils.ContinuumBuildAgentUtil;
import org.apache.continuum.model.repository.LocalRepository;
import org.apache.continuum.release.config.ContinuumReleaseDescriptor;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.release.ContinuumReleaseException;
@@ -60,6 +62,9 @@ public class DefaultBuildAgentReleaseMan
@Requirement
BuildAgentInstallationService buildAgentInstallationService;
+ @Requirement
+ LocalRepositoryHelper localRepositoryHelper;
+
public String releasePrepare( Map<String, Object> projectMap, Properties releaseProperties,
Map<String, String> releaseVersion, Map<String, String> developmentVersion,
Map<String, String> environments, String username )
@@ -185,20 +190,16 @@ public class DefaultBuildAgentReleaseMan
if ( !repository.isEmpty() )
{
- List<org.apache.continuum.buildagent.model.LocalRepository> localRepos =
- buildAgentConfigurationService.getLocalRepositories();
- for ( org.apache.continuum.buildagent.model.LocalRepository localRepo : localRepos )
- {
- if ( localRepo.getName().equalsIgnoreCase( ContinuumBuildAgentUtil.getLocalRepositoryName(
- repository ) ) )
- {
- repo = new LocalRepository();
- repo.setLayout( localRepo.getLayout() );
- repo.setName( localRepo.getName() );
- repo.setLocation( localRepo.getLocation() );
-
- break;
- }
+ String repoName = ContinuumBuildAgentUtil.getLocalRepositoryName( repository );
+ try
+ {
+ org.apache.continuum.buildagent.model.LocalRepository agentRepo =
+ buildAgentConfigurationService.getLocalRepositoryByName( repoName );
+ repo = localRepositoryHelper.convertAgentRepo( agentRepo );
+ }
+ catch ( BuildAgentConfigurationException e )
+ {
+ log.warn( "failed to configure local repo during perform", e.getMessage() );
}
}
@@ -294,25 +295,24 @@ public class DefaultBuildAgentReleaseMan
ProjectGroup group = new ProjectGroup();
- String localRepo = ContinuumBuildAgentUtil.getLocalRepositoryName( context );
+ String localRepoName = ContinuumBuildAgentUtil.getLocalRepositoryName( context );
- if ( StringUtils.isBlank( localRepo ) )
+ if ( StringUtils.isBlank( localRepoName ) )
{
group.setLocalRepository( null );
}
else
{
- LocalRepository localRepository = new LocalRepository();
- List<org.apache.continuum.buildagent.model.LocalRepository> localRepos =
- buildAgentConfigurationService.getLocalRepositories();
- for ( org.apache.continuum.buildagent.model.LocalRepository localRepoBA : localRepos )
- {
- if ( localRepoBA.getName().equalsIgnoreCase( localRepo ) )
- {
- localRepository.setLocation( localRepoBA.getLocation() );
- group.setLocalRepository( localRepository );
- break;
- }
+ try
+ {
+ org.apache.continuum.buildagent.model.LocalRepository agentRepo =
+ buildAgentConfigurationService.getLocalRepositoryByName( localRepoName );
+ LocalRepository convertedRepo = localRepositoryHelper.convertAgentRepo( agentRepo );
+ group.setLocalRepository( convertedRepo );
+ }
+ catch ( BuildAgentConfigurationException e )
+ {
+ log.warn( "failed to configure local repo", e );
}
}
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutor.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutor.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutor.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutor.java Sat Feb 21 05:05:15 2015
@@ -25,6 +25,7 @@ import org.apache.continuum.buildagent.b
import org.apache.continuum.buildagent.build.execution.manager.BuildAgentBuildExecutorManager;
import org.apache.continuum.buildagent.buildcontext.BuildContext;
import org.apache.continuum.buildagent.buildcontext.manager.BuildContextManager;
+import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationException;
import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationService;
import org.apache.continuum.buildagent.installation.BuildAgentInstallationService;
import org.apache.continuum.buildagent.manager.BuildAgentManager;
@@ -168,16 +169,17 @@ public class BuildProjectTaskExecutor
buildContext.getBuildDefinitionId(), getInstallationType( buildContext ) ) );
// CONTINUUM-2391
- if ( buildContext.getLocalRepository() != null )
+ String localRepoName = buildContext.getLocalRepository();
+ if ( localRepoName != null )
{
- List<LocalRepository> localRepos = buildAgentConfigurationService.getLocalRepositories();
- for ( LocalRepository local : localRepos )
+ try
{
- if ( local.getName().equalsIgnoreCase( buildContext.getLocalRepository() ) )
- {
- actionContext.put( ContinuumBuildAgentUtil.KEY_LOCAL_REPOSITORY, local.getLocation() );
- break;
- }
+ LocalRepository localRepo = buildAgentConfigurationService.getLocalRepositoryByName( localRepoName );
+ actionContext.put( ContinuumBuildAgentUtil.KEY_LOCAL_REPOSITORY, localRepo.getLocation() );
+ }
+ catch ( BuildAgentConfigurationException e )
+ {
+ log.warn( "failed to initialize local repo", e );
}
}
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/manager/BuildAgentReleaseManagerTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/manager/BuildAgentReleaseManagerTest.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/manager/BuildAgentReleaseManagerTest.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/manager/BuildAgentReleaseManagerTest.java Sat Feb 21 05:05:15 2015
@@ -19,6 +19,7 @@ package org.apache.continuum.buildagent.
* under the License.
*/
+import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationException;
import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationService;
import org.apache.continuum.buildagent.model.LocalRepository;
import org.apache.continuum.buildagent.utils.ContinuumBuildAgentUtil;
@@ -41,6 +42,11 @@ import static org.mockito.Mockito.*;
public class BuildAgentReleaseManagerTest
extends PlexusInSpringTestCase
{
+
+ public static final String DEFAULT_NAME = "DEFAULT";
+
+ public static final String UNKNOWN_NAME = "NON-EXISTENT";
+
private BuildAgentConfigurationService buildAgentConfigurationService;
private DefaultBuildAgentReleaseManager releaseManager;
@@ -59,7 +65,16 @@ public class BuildAgentReleaseManagerTes
final List<LocalRepository> localRepos = createLocalRepositories();
final File workingDir = new File( getBasedir(), "target/test-classes/working-dir" );
- when( buildAgentConfigurationService.getLocalRepositories() ).thenReturn( localRepos );
+ for ( LocalRepository localRepo : localRepos )
+ {
+ String repoName = localRepo.getName();
+ when( buildAgentConfigurationService.getLocalRepositoryByName( repoName ) ).thenReturn( localRepo );
+ when( buildAgentConfigurationService.getLocalRepositoryByName( repoName.toUpperCase() ) ).thenReturn(
+ localRepo );
+ }
+ when( buildAgentConfigurationService.getLocalRepositoryByName( UNKNOWN_NAME ) ).thenThrow(
+ new BuildAgentConfigurationException( "could not locate the repo" ) );
+
when( buildAgentConfigurationService.getWorkingDirectory( 1 ) ).thenReturn( workingDir );
}
@@ -93,6 +108,24 @@ public class BuildAgentReleaseManagerTes
{
when( buildAgentConfigurationService.getAvailableInstallations() ).thenReturn( null );
Map<String, Object> map = createProjectMap();
+ map.put( ContinuumBuildAgentUtil.KEY_LOCAL_REPOSITORY_NAME, DEFAULT_NAME );
+ try
+ {
+ releaseManager.releasePrepare( map, createProperties(), createReleaseVersionMap(), createDevVersionMap(),
+ createEnvironmentsMap(), "user" );
+ }
+ catch ( ContinuumReleaseException e )
+ {
+ fail( "An exception should not have been thrown!" );
+ }
+ }
+
+ public void testUnknownRepositoryNameInReleasePrepare()
+ throws Exception
+ {
+ when( buildAgentConfigurationService.getAvailableInstallations() ).thenReturn( null );
+ Map<String, Object> map = createProjectMap();
+ map.put( ContinuumBuildAgentUtil.KEY_LOCAL_REPOSITORY_NAME, DEFAULT_NAME );
try
{
releaseManager.releasePrepare( map, createProperties(), createReleaseVersionMap(), createDevVersionMap(),
@@ -109,11 +142,9 @@ public class BuildAgentReleaseManagerTes
public void testLocalRepositoryInReleasePerform()
throws Exception
{
- Map repository = createRepositoryMap();
- repository.put( ContinuumBuildAgentUtil.KEY_LOCAL_REPOSITORY_NAME, "DEFAULT" );
try
{
- releaseManager.releasePerform( "1", "clean deploy", "", true, repository, "user" );
+ releaseManager.releasePerform( "1", "clean deploy", "", true, createRepositoryMap(), "user" );
}
catch ( ContinuumReleaseException e )
{
@@ -125,9 +156,26 @@ public class BuildAgentReleaseManagerTes
public void testLocalRepositoryNameMismatchedCaseInReleasePerform()
throws Exception
{
+ Map repoMap = createRepositoryMap();
+ repoMap.put( ContinuumBuildAgentUtil.KEY_LOCAL_REPOSITORY_NAME, DEFAULT_NAME );
try
{
- releaseManager.releasePerform( "1", "clean deploy", "", true, createRepositoryMap(), "user" );
+ releaseManager.releasePerform( "1", "clean deploy", "", true, repoMap, "user" );
+ }
+ catch ( ContinuumReleaseException e )
+ {
+ fail( "An exception should not have been thrown!" );
+ }
+ }
+
+ public void testUnknownRepositoryNameInReleasePerform()
+ throws Exception
+ {
+ Map repoMap = createRepositoryMap();
+ repoMap.put( ContinuumBuildAgentUtil.KEY_LOCAL_REPOSITORY_NAME, DEFAULT_NAME );
+ try
+ {
+ releaseManager.releasePerform( "1", "clean deploy", "", true, repoMap, "user" );
}
catch ( ContinuumReleaseException e )
{
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutorTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutorTest.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutorTest.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/test/java/org/apache/continuum/buildagent/taskqueue/execution/BuildProjectTaskExecutorTest.java Sat Feb 21 05:05:15 2015
@@ -96,10 +96,13 @@ public class BuildProjectTaskExecutorTes
buildContext = createBuildContext();
localRepos = new ArrayList<LocalRepository>();
- LocalRepository localRepo = createLocalRepository( "temp", "/tmp/.m2/repository", "default" );
- localRepos.add( localRepo );
- localRepo = createLocalRepository( "default", "/home/user/.m2/repository", "default" );
- localRepos.add( localRepo );
+ localRepos.add( createLocalRepository( "temp", "/tmp/.m2/repository", "default" ) );
+ localRepos.add( createLocalRepository( "default", "/home/user/.m2/repository", "default" ) );
+ for ( LocalRepository localRepo : localRepos )
+ {
+ when( buildAgentConfigurationService.getLocalRepositoryByName( localRepo.getName() ) ).thenReturn(
+ localRepo );
+ }
masterBuildEnvironments = new HashMap<String, String>();
masterBuildEnvironments.put( "M2_HOME", "/tmp/apache-maven-2.2.1" );
@@ -113,7 +116,7 @@ public class BuildProjectTaskExecutorTes
when( buildContextManager.getBuildContext( 1 ) ).thenReturn( buildContext );
when( buildAgentManager.getEnvironments( 1, "maven2" ) ).thenReturn( masterBuildEnvironments );
when( buildAgentConfigurationService.getAvailableInstallations() ).thenReturn( slaveBuildEnvironments );
- when( buildAgentConfigurationService.getLocalRepositories() ).thenReturn( localRepos );
+
when( buildAgentManager.shouldBuild( anyMap() ) ).thenReturn( true );
when( buildAgentBuildExecutorManager.getBuildExecutor(
ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR ) ).thenReturn( executor );
Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java (original)
+++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/core/action/DeployArtifactContinuumAction.java Sat Feb 21 05:05:15 2015
@@ -20,6 +20,7 @@ package org.apache.maven.continuum.core.
*/
import org.apache.continuum.model.repository.LocalRepository;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.deployer.ArtifactDeployer;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -29,7 +30,6 @@ import org.apache.maven.artifact.reposit
import org.apache.maven.continuum.configuration.ConfigurationService;
import org.apache.maven.continuum.execution.ContinuumBuildExecutor;
import org.apache.maven.continuum.execution.manager.BuildExecutorManager;
-import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.project.ContinuumProjectState;
@@ -62,7 +62,7 @@ public class DeployArtifactContinuumActi
private ArtifactDeployer artifactDeployer;
@Requirement
- private MavenBuilderHelper builderHelper;
+ private LocalRepositoryHelper localRepositoryHelper;
@Requirement
private ArtifactRepositoryFactory artifactRepositoryFactory;
@@ -102,7 +102,7 @@ public class DeployArtifactContinuumActi
buildDefinition );
LocalRepository repository = project.getProjectGroup().getLocalRepository();
- ArtifactRepository localRepository = builderHelper.getLocalRepository( repository );
+ ArtifactRepository localRepository = localRepositoryHelper.getLocalRepository( repository );
for ( Artifact artifact : artifacts )
{
Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java (original)
+++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/DefaultMavenBuilderHelper.java Sat Feb 21 05:05:15 2015
@@ -19,11 +19,9 @@ package org.apache.maven.continuum.execu
* under the License.
*/
-import org.apache.continuum.model.repository.LocalRepository;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
+import org.apache.continuum.utils.m2.SettingsHelper;
import org.apache.maven.artifact.manager.WagonManager;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.continuum.execution.SettingsConfigurationException;
import org.apache.maven.continuum.model.project.Project;
@@ -48,7 +46,6 @@ import org.apache.maven.project.MavenPro
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.validation.ModelValidationResult;
-import org.apache.maven.settings.MavenSettingsBuilder;
import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.Proxy;
import org.apache.maven.settings.Server;
@@ -57,7 +54,6 @@ import org.apache.maven.settings.io.xpp3
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Configuration;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -68,7 +64,6 @@ import org.codehaus.plexus.personality.p
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -92,16 +87,10 @@ public class DefaultMavenBuilderHelper
private MavenProjectBuilder projectBuilder;
@Requirement
- private ArtifactRepositoryFactory artifactRepositoryFactory;
+ private SettingsHelper settingsHelper;
@Requirement
- private ArtifactRepositoryLayout repositoryLayout;
-
- @Requirement
- private MavenSettingsBuilder mavenSettingsBuilder;
-
- @Configuration( "${plexus.home}/local-repository" )
- private String localRepository;
+ private LocalRepositoryHelper localRepoHelper;
private PlexusContainer container;
@@ -373,7 +362,7 @@ public class DefaultMavenBuilderHelper
// TODO: This seems like code that is shared with DefaultMaven, so it should be moved to the project
// builder perhaps
- Settings settings = getSettings();
+ Settings settings = settingsHelper.getSettings();
if ( log.isDebugEnabled() )
{
@@ -382,7 +371,7 @@ public class DefaultMavenBuilderHelper
ProfileManager profileManager = new DefaultProfileManager( container, settings );
- project = projectBuilder.build( file, getLocalRepository(), profileManager, true );
+ project = projectBuilder.build( file, localRepoHelper.getLocalRepository(), profileManager, true );
if ( log.isDebugEnabled() )
{
@@ -479,18 +468,6 @@ public class DefaultMavenBuilderHelper
return project;
}
- public ArtifactRepository getLocalRepository()
- throws SettingsConfigurationException
- {
- return getRepository( null, getSettings() );
- }
-
- public ArtifactRepository getLocalRepository( LocalRepository localRepo )
- throws SettingsConfigurationException
- {
- return getRepository( localRepo, getSettings() );
- }
-
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
@@ -566,48 +543,6 @@ public class DefaultMavenBuilderHelper
//
// ----------------------------------------------------------------------
- private Settings getSettings()
- throws SettingsConfigurationException
- {
- try
- {
- return mavenSettingsBuilder.buildSettings( false );
- }
- catch ( IOException e )
- {
- throw new SettingsConfigurationException( "Error reading settings file", e );
- }
- catch ( XmlPullParserException e )
- {
- throw new SettingsConfigurationException( e.getMessage(), e.getDetail(), e.getLineNumber(),
- e.getColumnNumber() );
- }
- }
-
- private ArtifactRepository getRepository( LocalRepository repository, Settings settings )
- {
- // ----------------------------------------------------------------------
- // Set our configured location as the default but try to use the defaults
- // as returned by the MavenSettings component.
- // ----------------------------------------------------------------------
-
- String localRepo = localRepository;
-
- if ( repository != null )
- {
- return artifactRepositoryFactory.createArtifactRepository( repository.getName(),
- "file://" + repository.getLocation(),
- repositoryLayout, null, null );
- }
- else if ( !( StringUtils.isEmpty( settings.getLocalRepository() ) ) )
- {
- localRepo = settings.getLocalRepository();
- }
-
- return artifactRepositoryFactory.createArtifactRepository( "local", "file://" + localRepo, repositoryLayout,
- null, null );
- }
-
private void writeSettings( Settings settings )
{
StringWriter sWriter = new StringWriter();
@@ -767,7 +702,7 @@ public class DefaultMavenBuilderHelper
{
try
{
- Settings settings = getSettings();
+ Settings settings = settingsHelper.getSettings();
resolveParameters( settings );
}
Modified: continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenBuilderHelper.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenBuilderHelper.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenBuilderHelper.java (original)
+++ continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/execution/maven/m2/MavenBuilderHelper.java Sat Feb 21 05:05:15 2015
@@ -19,8 +19,6 @@ package org.apache.maven.continuum.execu
* under the License.
*/
-import org.apache.continuum.model.repository.LocalRepository;
-import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
import org.apache.maven.project.MavenProject;
@@ -47,10 +45,4 @@ public interface MavenBuilderHelper
*/
void mapMavenProjectToContinuumProject( ContinuumProjectBuildingResult result, MavenProject mavenProject,
Project continuumProject, boolean updateDefinition );
-
- ArtifactRepository getLocalRepository()
- throws SettingsConfigurationException;
-
- ArtifactRepository getLocalRepository( LocalRepository localRepo )
- throws SettingsConfigurationException;
}
Modified: continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java (original)
+++ continuum/trunk/continuum-core/src/test/java/org/apache/continuum/AbstractAddProjectTest.java Sat Feb 21 05:05:15 2015
@@ -19,9 +19,9 @@ package org.apache.continuum;
* under the License.
*/
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.continuum.AbstractContinuumTest;
-import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
import org.apache.maven.continuum.execution.SettingsConfigurationException;
import org.codehaus.plexus.util.FileUtils;
@@ -43,7 +43,7 @@ public abstract class AbstractAddProject
protected void createLocalRepository()
throws IOException, SettingsConfigurationException
{
- MavenBuilderHelper helper = (MavenBuilderHelper) lookup( MavenBuilderHelper.class );
+ LocalRepositoryHelper helper = (LocalRepositoryHelper) lookup( LocalRepositoryHelper.class );
ArtifactRepository repo = helper.getLocalRepository();
File localRepo = new File( repo.getBasedir() );
Copied: continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/DefaultReleaseHelper.java (from r1661282, continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/DefaultReleaseHelper.java)
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/DefaultReleaseHelper.java?p2=continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/DefaultReleaseHelper.java&p1=continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/DefaultReleaseHelper.java&r1=1661282&r2=1661283&rev=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/DefaultReleaseHelper.java (original)
+++ continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/DefaultReleaseHelper.java Sat Feb 21 05:05:15 2015
@@ -1,4 +1,4 @@
-package org.apache.continuum.utils.release;
+package org.apache.continuum.release.utils;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,16 +19,18 @@ package org.apache.continuum.utils.relea
* under the License.
*/
-import org.apache.maven.model.Model;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Plugin;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.shared.release.versions.DefaultVersionInfo;
import org.apache.maven.shared.release.versions.VersionInfo;
-import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
@@ -39,21 +41,17 @@ import java.util.Map;
public class DefaultReleaseHelper
implements ReleaseHelper
{
- /**
- * Extracts parameters specified for the maven-release-plugin from the given project's metadata.
- *
- * @param workingDirectory working directory of project containing pom file
- * @param pomFilename the name of the pom file in working directory
- * @return a map consisting of the release plugin parameters from project metadata
- * @throws Exception
- */
- public Map<String, Object> extractPluginParameters( String workingDirectory, String pomFilename )
+ @Resource
+ MavenProjectBuilder mavenProjectBuilder;
+
+ public Map<String, Object> extractPluginParameters( ArtifactRepository localRepo, String workingDirectory,
+ String pomFilename )
throws Exception
{
Map<String, Object> params = new HashMap<String, Object>();
// TODO: Use the model reader so we'll can get the plugin configuration from parent too
- Model model = getMavenModel( workingDirectory, pomFilename );
+ MavenProject model = getMavenProject( localRepo, workingDirectory, pomFilename );
if ( model.getBuild() != null && model.getBuild().getPlugins() != null )
{
@@ -140,27 +138,11 @@ public class DefaultReleaseHelper
return params;
}
- /**
- * Constructs a list of release preparation parameters for the given project and its modules. The parameter map for
- * each project consists of:
- * <ul>
- * <li>key - groupId:artifactId</li>
- * <li>name - name or artifactId if none</li>
- * <li>dev - the version the project will assume after preparation</li>
- * <li>release - the version the project will ultimately released as when performing</li>
- * </ul>
- *
- * @param workingDirectory working directory of project
- * @param pomFilename the filename of the pom inside the working directory
- * @param autoVersionSubmodules true sets all modules to the root project's version, false uses module versions
- * @param projects the resulting list of parameter maps for the project and its modules
- * @throws Exception
- */
- public void buildVersionParams( String workingDirectory, String pomFilename, boolean autoVersionSubmodules,
- List<Map<String, String>> projects )
+ public void buildVersionParams( ArtifactRepository localRepo, String workingDirectory, String pomFilename,
+ boolean autoVersionSubmodules, List<Map<String, String>> projects )
throws Exception
{
- Model model = getMavenModel( workingDirectory, pomFilename );
+ MavenProject model = getMavenProject( localRepo, workingDirectory, pomFilename );
if ( model.getGroupId() == null )
{
@@ -178,11 +160,13 @@ public class DefaultReleaseHelper
{
String module = StringUtils.replace( modules.next().toString(), '\\', '/' );
- buildVersionParams( workingDirectory + "/" + module, "pom.xml", autoVersionSubmodules, projects );
+ buildVersionParams( localRepo, workingDirectory + "/" + module, "pom.xml", autoVersionSubmodules,
+ projects );
}
}
- private static void setProperties( Model model, boolean autoVersionSubmodules, List<Map<String, String>> projects )
+ private void setProperties( MavenProject model, boolean autoVersionSubmodules,
+ List<Map<String, String>> projects )
throws Exception
{
Map<String, String> params = new HashMap<String, String>();
@@ -211,10 +195,10 @@ public class DefaultReleaseHelper
projects.add( params );
}
- private static Model getMavenModel( String workingDirectory, String pomFilename )
- throws Exception
+ private MavenProject getMavenProject( ArtifactRepository localRepo, String workingDirectory,
+ String pomFilename )
+ throws ProjectBuildingException
{
- MavenXpp3Reader pomReader = new MavenXpp3Reader();
- return pomReader.read( ReaderFactory.newXmlReader( new File( workingDirectory, pomFilename ) ) );
+ return mavenProjectBuilder.build( new File( workingDirectory, pomFilename ), localRepo, null );
}
}
Copied: continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/ReleaseHelper.java (from r1661282, continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/ReleaseHelper.java)
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/ReleaseHelper.java?p2=continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/ReleaseHelper.java&p1=continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/ReleaseHelper.java&r1=1661282&r2=1661283&rev=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-api/src/main/java/org/apache/continuum/utils/release/ReleaseHelper.java (original)
+++ continuum/trunk/continuum-release/src/main/java/org/apache/continuum/release/utils/ReleaseHelper.java Sat Feb 21 05:05:15 2015
@@ -1,4 +1,4 @@
-package org.apache.continuum.utils.release;
+package org.apache.continuum.release.utils;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,6 +19,8 @@ package org.apache.continuum.utils.relea
* under the License.
*/
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
import java.util.List;
import java.util.Map;
@@ -28,12 +30,14 @@ public interface ReleaseHelper
/**
* Extracts parameters specified for the maven-release-plugin from the given project's metadata.
*
+ * @param localRepo the local artifact repo to use for resolving project metadata
* @param workingDirectory working directory of project containing pom file
* @param pomFilename the name of the pom file in working directory
* @return a map consisting of the release plugin parameters from project metadata
* @throws Exception
*/
- Map<String, Object> extractPluginParameters( String workingDirectory, String pomFilename )
+ Map<String, Object> extractPluginParameters( ArtifactRepository localRepo, String workingDirectory,
+ String pomFilename )
throws Exception;
/**
@@ -46,13 +50,15 @@ public interface ReleaseHelper
* <li>release - the version the project will ultimately released as when performing</li>
* </ul>
*
+ * @param localRepo the local artifact repo to use for resolving project metadata
* @param workingDirectory working directory of project
* @param pomFilename the filename of the pom inside the working directory
* @param autoVersionSubmodules true sets all modules to the root project's version, false uses module versions
* @param projects the resulting list of parameter maps for the project and its modules
* @throws Exception
*/
- public void buildVersionParams( String workingDirectory, String pomFilename, boolean autoVersionSubmodules,
- List<Map<String, String>> projects )
+ public void buildVersionParams( ArtifactRepository localRepo, String workingDirectory, String pomFilename,
+ boolean autoVersionSubmodules, List<Map<String, String>> projects )
throws Exception;
+
}
Copied: continuum/trunk/continuum-release/src/main/resources/META-INF/spring-context.xml (from r1661282, continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml)
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-release/src/main/resources/META-INF/spring-context.xml?p2=continuum/trunk/continuum-release/src/main/resources/META-INF/spring-context.xml&p1=continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml&r1=1661282&r2=1661283&rev=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-api/src/main/resources/META-INF/spring-context.xml (original)
+++ continuum/trunk/continuum-release/src/main/resources/META-INF/spring-context.xml Sat Feb 21 05:05:15 2015
@@ -24,12 +24,10 @@
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
- <context:component-scan
- base-package="org.apache.continuum.installation,org.apache.continuum.profile,
- org.apache.maven.continuum.configuration,org.apache.maven.continuum.utils,
- org.apache.continuum.utils.shell,org.apache.continuum.utils.release"/>
+ <context:component-scan base-package="org.apache.continuum.release.utils"/>
+
</beans>
\ No newline at end of file
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java Sat Feb 21 05:05:15 2015
@@ -24,10 +24,12 @@ import org.apache.continuum.model.reposi
import org.apache.continuum.release.config.ContinuumReleaseDescriptor;
import org.apache.continuum.release.distributed.DistributedReleaseUtil;
import org.apache.continuum.release.distributed.manager.DistributedReleaseManager;
-import org.apache.continuum.utils.release.ReleaseHelper;
+import org.apache.continuum.release.utils.ReleaseHelper;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.continuum.web.action.AbstractReleaseAction;
import org.apache.continuum.web.util.AuditLog;
import org.apache.continuum.web.util.AuditLogConstants;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.model.system.Profile;
@@ -86,6 +88,9 @@ public class ReleasePerformAction
@Requirement
private ReleaseHelper releaseHelper;
+ @Requirement
+ private LocalRepositoryHelper localRepositoryHelper;
+
private void init()
throws Exception
{
@@ -101,7 +106,9 @@ public class ReleasePerformAction
String workingDirectory = getContinuum().getWorkingDirectory( project.getId() ).getPath();
- getReleasePluginParameters( workingDirectory, "pom.xml" );
+ ArtifactRepository localRepo =
+ localRepositoryHelper.getLocalRepository( project.getProjectGroup().getLocalRepository() );
+ getReleasePluginParameters( localRepo, workingDirectory, "pom.xml" );
}
}
@@ -171,10 +178,10 @@ public class ReleasePerformAction
* FIXME olamy is it really the good place to do that ? should be moved to continuum-release
* TODO handle remoteTagging
*/
- private void getReleasePluginParameters( String workingDirectory, String pomFilename )
+ private void getReleasePluginParameters( ArtifactRepository localRepo, String workingDirectory, String pomFilename )
throws Exception
{
- Map<String, Object> params = releaseHelper.extractPluginParameters( workingDirectory, pomFilename );
+ Map<String, Object> params = releaseHelper.extractPluginParameters( localRepo, workingDirectory, pomFilename );
if ( params.get( "use-release-profile" ) != null )
{
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java Sat Feb 21 05:05:15 2015
@@ -23,10 +23,12 @@ import org.apache.continuum.configuratio
import org.apache.continuum.model.release.ReleaseListenerSummary;
import org.apache.continuum.release.distributed.DistributedReleaseUtil;
import org.apache.continuum.release.distributed.manager.DistributedReleaseManager;
-import org.apache.continuum.utils.release.ReleaseHelper;
+import org.apache.continuum.release.utils.ReleaseHelper;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.continuum.web.action.AbstractReleaseAction;
import org.apache.continuum.web.util.AuditLog;
import org.apache.continuum.web.util.AuditLogConstants;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.installation.InstallationService;
import org.apache.maven.continuum.model.project.Project;
@@ -108,6 +110,9 @@ public class ReleasePrepareAction
@Requirement
private ReleaseHelper releaseHelper;
+ @Requirement
+ private LocalRepositoryHelper localRepositoryHelper;
+
public String input()
throws Exception
{
@@ -160,6 +165,8 @@ public class ReleasePrepareAction
prepareGoals = "clean integration-test";
+ String defaultPomName = "pom.xml";
+
if ( getContinuum().getConfiguration().isDistributedBuildEnabled() )
{
DistributedReleaseManager distributedReleaseManager = getContinuum().getDistributedReleaseManager();
@@ -167,9 +174,9 @@ public class ReleasePrepareAction
try
{
getReleasePluginParameters( distributedReleaseManager.getReleasePluginParameters( projectId,
- "pom.xml" ) );
+ defaultPomName ) );
- projects = distributedReleaseManager.processProject( projectId, "pom.xml", autoVersionSubmodules );
+ projects = distributedReleaseManager.processProject( projectId, defaultPomName, autoVersionSubmodules );
}
catch ( BuildAgentConfigurationException e )
{
@@ -186,9 +193,13 @@ public class ReleasePrepareAction
{
String workingDirectory = getContinuum().getWorkingDirectory( project.getId() ).getPath();
- getReleasePluginParameters( workingDirectory, "pom.xml" );
+ ArtifactRepository localRepo =
+ localRepositoryHelper.getLocalRepository( project.getProjectGroup().getLocalRepository() );
+
+ getReleasePluginParameters( localRepo, workingDirectory, defaultPomName );
- releaseHelper.buildVersionParams( workingDirectory, "pom.xml", autoVersionSubmodules, projects );
+ releaseHelper.buildVersionParams( localRepo, workingDirectory, defaultPomName, autoVersionSubmodules,
+ projects );
}
catch ( Exception e )
{
@@ -205,10 +216,10 @@ public class ReleasePrepareAction
return SUCCESS;
}
- private void getReleasePluginParameters( String workingDirectory, String pomFilename )
+ private void getReleasePluginParameters( ArtifactRepository localRepo, String workingDirectory, String pomFilename )
throws Exception
{
- Map<String, Object> params = releaseHelper.extractPluginParameters( workingDirectory, pomFilename );
+ Map<String, Object> params = releaseHelper.extractPluginParameters( localRepo, workingDirectory, pomFilename );
// TODO: use constants for this
if ( params.get( "scm-tag" ) != null )
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java Sat Feb 21 05:05:15 2015
@@ -20,11 +20,11 @@ package org.apache.maven.continuum.web.a
*/
import com.opensymphony.xwork2.ModelDriven;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
import org.apache.maven.continuum.execution.SettingsConfigurationException;
import org.apache.maven.continuum.security.ContinuumRoleConstants;
import org.apache.maven.continuum.web.action.component.AbstractFooterAction;
@@ -75,7 +75,7 @@ public class ConfigureAppearanceAction
private CompanyPomHandler companyPomHandler;
@Requirement
- private MavenBuilderHelper helper;
+ private LocalRepositoryHelper helper;
@Requirement
private MavenSettingsBuilder mavenSettingsBuilder;
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java Sat Feb 21 05:05:15 2015
@@ -20,9 +20,9 @@ package org.apache.maven.continuum.web.a
*/
import com.opensymphony.xwork2.ModelDriven;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.maven.artifact.installer.ArtifactInstallationException;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
import org.apache.maven.continuum.execution.SettingsConfigurationException;
import org.apache.maven.continuum.security.ContinuumRoleConstants;
import org.apache.maven.continuum.web.action.ContinuumActionSupport;
@@ -61,7 +61,7 @@ public class EditPomAction
private String organizationLogo;
@Requirement
- private MavenBuilderHelper helper;
+ private LocalRepositoryHelper helper;
public String execute()
throws IOException, ArtifactInstallationException, SettingsConfigurationException
Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java Sat Feb 21 05:05:15 2015
@@ -20,7 +20,7 @@ package org.apache.maven.continuum.web.a
*/
import com.opensymphony.xwork2.ActionSupport;
-import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.maven.model.Model;
import org.apache.maven.shared.app.company.CompanyPomHandler;
import org.apache.maven.shared.app.configuration.MavenAppConfiguration;
@@ -47,7 +47,7 @@ public class CompanyInfoAction
private MavenAppConfiguration appConfiguration;
@Requirement
- private MavenBuilderHelper helper;
+ private LocalRepositoryHelper helper;
public String execute()
throws Exception
Modified: continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java?rev=1661283&r1=1661282&r2=1661283&view=diff
==============================================================================
--- continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java (original)
+++ continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java Sat Feb 21 05:05:15 2015
@@ -34,12 +34,14 @@ import org.apache.continuum.dao.SystemCo
import org.apache.continuum.purge.ContinuumPurgeManagerException;
import org.apache.continuum.purge.PurgeConfigurationServiceException;
import org.apache.continuum.repository.RepositoryServiceException;
-import org.apache.continuum.utils.release.ReleaseHelper;
+import org.apache.continuum.release.utils.ReleaseHelper;
+import org.apache.continuum.utils.m2.LocalRepositoryHelper;
import org.apache.continuum.xmlrpc.release.ContinuumReleaseResult;
import org.apache.continuum.xmlrpc.repository.DirectoryPurgeConfiguration;
import org.apache.continuum.xmlrpc.repository.LocalRepository;
import org.apache.continuum.xmlrpc.repository.RepositoryPurgeConfiguration;
import org.apache.continuum.xmlrpc.utils.BuildTrigger;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.continuum.Continuum;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.builddefinition.BuildDefinitionServiceException;
@@ -161,6 +163,9 @@ public class ContinuumServiceImpl
@Requirement
private ReleaseHelper releaseHelper;
+ @Requirement
+ private LocalRepositoryHelper localRepositoryHelper;
+
public boolean ping()
throws ContinuumException
{
@@ -4004,7 +4009,10 @@ public class ContinuumServiceImpl
}
else
{
- params = releaseHelper.extractPluginParameters( continuum.getWorkingDirectory( projectId ).getPath(),
+ ArtifactRepository localRepo = localRepositoryHelper.getLocalRepository(
+ project.getProjectGroup().getLocalRepository() );
+ params = releaseHelper.extractPluginParameters( localRepo,
+ continuum.getWorkingDirectory( projectId ).getPath(),
"pom.xml" );
}
@@ -4079,9 +4087,10 @@ public class ContinuumServiceImpl
}
else
{
- releaseHelper.buildVersionParams( continuum.getWorkingDirectory( projectId ).getPath(),
- pomFilename,
- autoVersionSubmodules, projects );
+ ArtifactRepository localRepo =
+ localRepositoryHelper.getLocalRepository( project.getProjectGroup().getLocalRepository() );
+ releaseHelper.buildVersionParams( localRepo, continuum.getWorkingDirectory( projectId ).getPath(),
+ pomFilename, autoVersionSubmodules, projects );
}
return projects;