You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2012/11/19 20:29:07 UTC
svn commit: r1411360 - in /maven/release/trunk:
maven-release-manager/src/main/
maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/
maven-release-plugin/ maven-release-plugin/src/it/projects/update-versions/
maven-release-plugin/...
Author: rfscholte
Date: Mon Nov 19 19:29:05 2012
New Revision: 1411360
URL: http://svn.apache.org/viewvc?rev=1411360&view=rev
Log:
[MRELEASE-783] release:update-versions should not need SCM config
Added:
maven/release/trunk/maven-release-plugin/src/it/projects/update-versions/
maven/release/trunk/maven-release-plugin/src/it/projects/update-versions/MRELEASE-783/
maven/release/trunk/maven-release-plugin/src/it/projects/update-versions/MRELEASE-783/pom.xml
Modified:
maven/release/trunk/maven-release-manager/src/main/components-fragment.xml
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
maven/release/trunk/maven-release-plugin/pom.xml
Modified: maven/release/trunk/maven-release-manager/src/main/components-fragment.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/components-fragment.xml?rev=1411360&r1=1411359&r2=1411360&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/components-fragment.xml (original)
+++ maven/release/trunk/maven-release-manager/src/main/components-fragment.xml Mon Nov 19 19:29:05 2012
@@ -82,7 +82,7 @@
<phase>end-release</phase>
</branchPhases>
<updateVersionsPhases>
- <phase>check-poms</phase>
+ <phase>check-poms-updateversions</phase>
<phase>create-backup-poms</phase>
<phase>map-development-versions</phase>
<phase>rewrite-pom-versions</phase>
@@ -249,5 +249,31 @@
</requirement>
</requirements>
</component>
+ <component>
+ <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+ <role-hint>check-poms</role-hint>
+ <implementation>org.apache.maven.shared.release.phase.CheckPomPhase</implementation>
+ <configuration>
+ <scmRequired>true</scmRequired>
+ </configuration>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.shared.release.scm.ScmRepositoryConfigurator</role>
+ </requirement>
+ </requirements>
+ </component>
+ <component>
+ <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+ <role-hint>check-poms-updateversions</role-hint>
+ <implementation>org.apache.maven.shared.release.phase.CheckPomPhase</implementation>
+ <configuration>
+ <scmRequired>false</scmRequired>
+ </configuration>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.shared.release.scm.ScmRepositoryConfigurator</role>
+ </requirement>
+ </requirements>
+ </component>
</components>
</component-set>
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java?rev=1411360&r1=1411359&r2=1411360&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java Mon Nov 19 19:29:05 2012
@@ -211,22 +211,26 @@ public abstract class AbstractRewritePom
throw new ReleaseExecutionException( "Error reading POM: " + e.getMessage(), e );
}
- ScmRepository scmRepository;
- ScmProvider provider;
- try
- {
- scmRepository = scmRepositoryConfigurator.getConfiguredRepository( releaseDescriptor,
- releaseEnvironment.getSettings() );
+ ScmRepository scmRepository = null;
+ ScmProvider provider = null;
- provider = scmRepositoryConfigurator.getRepositoryProvider( scmRepository );
- }
- catch ( ScmRepositoryException e )
- {
- throw new ReleaseScmRepositoryException( e.getMessage(), e.getValidationMessages() );
- }
- catch ( NoSuchScmProviderException e )
+ if( isUpdateScm() )
{
- throw new ReleaseExecutionException( "Unable to configure SCM repository: " + e.getMessage(), e );
+ try
+ {
+ scmRepository = scmRepositoryConfigurator.getConfiguredRepository( releaseDescriptor,
+ releaseEnvironment.getSettings() );
+
+ provider = scmRepositoryConfigurator.getRepositoryProvider( scmRepository );
+ }
+ catch ( ScmRepositoryException e )
+ {
+ throw new ReleaseScmRepositoryException( e.getMessage(), e.getValidationMessages() );
+ }
+ catch ( NoSuchScmProviderException e )
+ {
+ throw new ReleaseExecutionException( "Unable to configure SCM repository: " + e.getMessage(), e );
+ }
}
transformDocument( project, document.getRootElement(), releaseDescriptor, reactorProjects, scmRepository,
@@ -639,7 +643,7 @@ public abstract class AbstractRewritePom
{
try
{
- if ( releaseDescriptor.isScmUseEditMode() || provider.requiresEditMode() )
+ if ( isUpdateScm() && ( releaseDescriptor.isScmUseEditMode() || provider.requiresEditMode() ) )
{
EditScmResult result = provider.edit( repository, new ScmFileSet(
new File( releaseDescriptor.getWorkingDirectory() ), pomFile ) );
@@ -769,6 +773,16 @@ public abstract class AbstractRewritePom
ScmRepository scmRepository, ReleaseResult result, String commonBasedir )
throws ReleaseExecutionException;
+ /**
+ *
+ * @return {@code true} if the SCM-section should be updated, otherwise {@code false}
+ * @since 2.4
+ */
+ protected boolean isUpdateScm()
+ {
+ return true;
+ }
+
protected String getOriginalResolvedSnapshotVersion( String artifactVersionlessKey, Map<String, Map<String, String>> resolvedSnapshots )
{
Map<String, String> versionsMap = resolvedSnapshots.get( artifactVersionlessKey );
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java?rev=1411360&r1=1411359&r2=1411360&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckPomPhase.java Mon Nov 19 19:29:05 2012
@@ -39,16 +39,16 @@ import java.util.List;
* Phase that checks the validity of the POM before release.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @plexus.component role="org.apache.maven.shared.release.phase.ReleasePhase" role-hint="check-poms"
*/
public class CheckPomPhase
extends AbstractReleasePhase
{
+
/**
- * Retrieve an SCM repository, useful for validating an URL.
- *
- * @plexus.requirement
+ * @since 2.4
*/
+ private boolean scmRequired = true;
+
private ScmRepositoryConfigurator scmRepositoryConfigurator;
public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment, List<MavenProject> reactorProjects )
@@ -57,7 +57,7 @@ public class CheckPomPhase
ReleaseResult result = new ReleaseResult();
// Currently, we don't deal with multiple SCM locations in a multiproject
- if ( StringUtils.isEmpty( releaseDescriptor.getScmSourceUrl() ) )
+ if ( scmRequired && StringUtils.isEmpty( releaseDescriptor.getScmSourceUrl() ) )
{
MavenProject rootProject = ReleaseUtil.getRootProject( reactorProjects );
if ( rootProject != null && rootProject.getScm() != null )
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java?rev=1411360&r1=1411359&r2=1411360&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java Mon Nov 19 19:29:05 2012
@@ -48,6 +48,12 @@ public class RewritePomVersionsPhase
// We are only updating versions no mods to scm needed
}
+ @Override
+ protected boolean isUpdateScm()
+ {
+ return false;
+ }
+
@SuppressWarnings( "unchecked" )
@Override
protected Map<String, String> getOriginalVersionMap( ReleaseDescriptor releaseDescriptor, List<MavenProject> reactorProjects,
Modified: maven/release/trunk/maven-release-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/pom.xml?rev=1411360&r1=1411359&r2=1411360&view=diff
==============================================================================
--- maven/release/trunk/maven-release-plugin/pom.xml (original)
+++ maven/release/trunk/maven-release-plugin/pom.xml Mon Nov 19 19:29:05 2012
@@ -273,6 +273,22 @@
<goal>run</goal>
</goals>
</execution>
+ <execution>
+ <id>integration-test-update-versions</id>
+ <configuration>
+ <pomIncludes>
+ <pomInclude>projects/update-versions/*/pom.xml</pomInclude>
+ </pomIncludes>
+ <goals>
+ <goal>clean</goal>
+ <goal>${project.groupId}:${project.artifactId}:${project.version}:clean</goal>
+ <goal>${project.groupId}:${project.artifactId}:${project.version}:update-versions</goal>
+ </goals>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
</executions>
</plugin>
</plugins>
Added: maven/release/trunk/maven-release-plugin/src/it/projects/update-versions/MRELEASE-783/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/it/projects/update-versions/MRELEASE-783/pom.xml?rev=1411360&view=auto
==============================================================================
--- maven/release/trunk/maven-release-plugin/src/it/projects/update-versions/MRELEASE-783/pom.xml (added)
+++ maven/release/trunk/maven-release-plugin/src/it/projects/update-versions/MRELEASE-783/pom.xml Mon Nov 19 19:29:05 2012
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.release</groupId>
+ <artifactId>mrelease-783</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Release Plugin IT</name>
+ <url>http://maven.apache.org/</url>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>@project.version@</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>