You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2010/09/15 17:20:49 UTC
svn commit: r997364 - in /maven/release/trunk/maven-release-manager/src:
main/java/org/apache/maven/shared/release/phase/
test/java/org/apache/maven/shared/release/phase/
test/remote-repository/external/parent-artifactId/
test/remote-repository/externa...
Author: brett
Date: Wed Sep 15 15:20:49 2010
New Revision: 997364
URL: http://svn.apache.org/viewvc?rev=997364&view=rev
Log:
[MRELEASE-317] release:prepare doesn't update snapshot parent POMs to releases as requested when using the prompts
Submitted by: Noel Keating
Added:
maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/1-SNAPSHOT/
maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/1-SNAPSHOT/parent-artifactId-1-SNAPSHOT.pom (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/expected-pom.xml (with props)
maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/pom.xml (with props)
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/maven-metadata.xml
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=997364&r1=997363&r2=997364&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 Wed Sep 15 15:20:49 2010
@@ -253,7 +253,8 @@ public abstract class AbstractRewritePom
Map resolvedSnapshotDependencies = releaseDescriptor.getResolvedSnapshotDependencies();
Element properties = rootElement.getChild( "properties", namespace );
- String parentVersion = rewriteParent( project, rootElement, namespace, mappedVersions, originalVersions );
+ String parentVersion = rewriteParent( project, rootElement, namespace, mappedVersions,
+ resolvedSnapshotDependencies, originalVersions);
String projectId = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
@@ -393,7 +394,7 @@ public abstract class AbstractRewritePom
}
private String rewriteParent( MavenProject project, Element rootElement, Namespace namespace, Map mappedVersions,
- Map originalVersions )
+ Map resolvedSnapshotDependencies, Map originalVersions)
throws ReleaseFailureException
{
String parentVersion = null;
@@ -406,6 +407,11 @@ public abstract class AbstractRewritePom
parentVersion = (String) mappedVersions.get( key );
if ( parentVersion == null )
{
+ //MRELEASE-317
+ parentVersion = getResolvedSnapshotVersion(key, resolvedSnapshotDependencies);
+ }
+ if ( parentVersion == null )
+ {
if ( parent.getVersion().equals( originalVersions.get( key ) ) )
{
throw new ReleaseFailureException( "Version for parent '" + parent.getName() + "' was not mapped" );
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java?rev=997364&r1=997363&r2=997364&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhaseTest.java Wed Sep 15 15:20:49 2010
@@ -374,4 +374,18 @@ public class RewritePomsForReleasePhaseT
descriptor.setScmReleaseLabel( "release-label" );
return descriptor;
}
+
+ public void testRewritePomWithExternallyReleasedParent()
+ throws Exception
+ {
+ List reactorProjects = createReactorProjects( "pom-with-externally-released-parent" );
+
+ ReleaseDescriptor config = createDescriptorFromProjects( reactorProjects );
+ config.mapResolvedSnapshotDependencies( "external:parent-artifactId", "1" , "2-SNAPSHOT" );
+ config.mapReleaseVersion( "groupId:subproject1", ALTERNATIVE_NEXT_VERSION );
+
+ phase.execute( config, new DefaultReleaseEnvironment(), reactorProjects );
+
+ assertTrue( comparePomFiles( reactorProjects ) );
+ }
}
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/1-SNAPSHOT/parent-artifactId-1-SNAPSHOT.pom
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/1-SNAPSHOT/parent-artifactId-1-SNAPSHOT.pom?rev=997364&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/1-SNAPSHOT/parent-artifactId-1-SNAPSHOT.pom (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/1-SNAPSHOT/parent-artifactId-1-SNAPSHOT.pom Wed Sep 15 15:20:49 2010
@@ -0,0 +1,36 @@
+<?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>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>external</groupId>
+ <artifactId>parent-artifactId</artifactId>
+ <version>1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <description>POM was created from deploy:deploy-file</description>
+ <scm>
+ <connection>scm:svn:file://localhost/tmp/scm-repo/trunk</connection>
+ <developerConnection>scm:svn:file://localhost/tmp/scm-repo/trunk</developerConnection>
+ <url>file://localhost/tmp/scm-repo/trunk</url>
+ </scm>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
\ No newline at end of file
Propchange: maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/1-SNAPSHOT/parent-artifactId-1-SNAPSHOT.pom
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/maven-metadata.xml?rev=997364&r1=997363&r2=997364&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/maven-metadata.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/external/parent-artifactId/maven-metadata.xml Wed Sep 15 15:20:49 2010
@@ -25,6 +25,7 @@
<versioning>
<versions>
<version>1</version>
+ <version>1-SNAPSHOT</version>
</versions>
<lastUpdated>20060424060506</lastUpdated>
</versioning>
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/expected-pom.xml?rev=997364&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/expected-pom.xml Wed Sep 15 15:20:49 2010
@@ -0,0 +1,36 @@
+<!--
+ ~ 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>external</groupId>
+ <artifactId>parent-artifactId</artifactId>
+ <version>1</version>
+ </parent>
+
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>2.0</version>
+ <scm>
+ <connection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</connection>
+ <developerConnection>scm:svn:file://localhost/tmp/scm-repo/tags/release-label</developerConnection>
+ <url>file://localhost/tmp/scm-repo/tags/release-label</url>
+ </scm>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/expected-pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/pom.xml?rev=997364&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/pom.xml Wed Sep 15 15:20:49 2010
@@ -0,0 +1,31 @@
+<!--
+ ~ 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>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>external</groupId>
+ <artifactId>parent-artifactId</artifactId>
+ <version>1-SNAPSHOT</version>
+ </parent>
+
+ <groupId>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>2.0-SNAPSHOT</version>
+</project>
Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/rewrite-for-release/pom-with-externally-released-parent/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native