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/29 17:35:06 UTC
svn commit: r1002680 - 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/groupId/ test/remote-repository/groupId/artifactId2/
test...
Author: brett
Date: Wed Sep 29 15:35:05 2010
New Revision: 1002680
URL: http://svn.apache.org/viewvc?rev=1002680&view=rev
Log:
[MRELEASE-589] Resolved dependencies overwritten when multiple subprojects with SNAPSHOT dependencies are released
Submitted by: Elliot Metsger
Added:
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/artifactId2-1.0-20100813.112234-1.pom
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/maven-metadata.xml
maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/maven-metadata.xml
maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/
maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/pom.xml
maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject1/
maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject1/pom.xml
maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject2/
maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject2/pom.xml
Modified:
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java
Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java?rev=1002680&r1=1002679&r2=1002680&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java Wed Sep 29 15:35:05 2010
@@ -363,7 +363,14 @@ public class CheckDependencySnapshotsPha
break;
}
- releaseDescriptor.setResolvedSnapshotDependencies( resolvedSnapshots );
+ if ( releaseDescriptor.getResolvedSnapshotDependencies() != null )
+ {
+ releaseDescriptor.getResolvedSnapshotDependencies().putAll( resolvedSnapshots );
+ }
+ else
+ {
+ releaseDescriptor.setResolvedSnapshotDependencies( resolvedSnapshots );
+ }
}
}
catch ( PrompterException e )
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java?rev=1002680&r1=1002679&r2=1002680&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhaseTest.java Wed Sep 29 15:35:05 2010
@@ -613,6 +613,52 @@ public class CheckDependencySnapshotsPha
assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.RELEASE_KEY ) );
}
+ // MRELEASE-589
+ public void testSnapshotDependenciesOutsideMultimoduleProjectOnlyInteractiveWithSnapshotsResolved()
+ throws Exception
+ {
+ CheckDependencySnapshotsPhase phase =
+ (CheckDependencySnapshotsPhase) lookup( ReleasePhase.ROLE, "check-dependency-snapshots" );
+
+ ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+ List reactorProjects = createDescriptorFromProjects( "multimodule-external-snapshot-dependencies" );
+
+ VersionPair pair = new VersionPair( "1.0", "1.1-SNAPSHOT" );
+ VersionPair defaultPair = new VersionPair( "1.0", "1.0" );
+ Prompter mockPrompter = createMockPrompter( "yes", "1", Arrays.asList( pair, pair ), Arrays.asList( defaultPair,
+ defaultPair ) );
+ phase.setPrompter( mockPrompter );
+
+ try
+ {
+ phase.execute( releaseDescriptor, new DefaultReleaseEnvironment(), reactorProjects );
+ }
+ catch ( ReleaseFailureException e )
+ {
+ fail( e.getMessage() );
+ }
+
+ Map resolvedDependencies = releaseDescriptor.getResolvedSnapshotDependencies();
+
+ assertNotNull( resolvedDependencies );
+ assertEquals( 2, resolvedDependencies.size() );
+
+ assertTrue( resolvedDependencies.containsKey( "external:artifactId" ) );
+ assertTrue( resolvedDependencies.containsKey( "external:artifactId2") );
+
+ Map versionsMap = (Map) releaseDescriptor.getResolvedSnapshotDependencies().get( "external:artifactId" );
+
+ assertNotNull( versionsMap );
+ assertEquals( "1.1-SNAPSHOT", versionsMap.get( ReleaseDescriptor.DEVELOPMENT_KEY ) );
+ assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.RELEASE_KEY ) );
+
+ versionsMap = (Map) releaseDescriptor.getResolvedSnapshotDependencies().get( "external:artifactId2" );
+
+ assertNotNull( versionsMap );
+ assertEquals( "1.1-SNAPSHOT", versionsMap.get( ReleaseDescriptor.DEVELOPMENT_KEY ) );
+ assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.RELEASE_KEY ) );
+ }
+
public void testSnapshotDependenciesInsideAndOutsideProject()
throws Exception
{
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/artifactId2-1.0-20100813.112234-1.pom
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/artifactId2-1.0-20100813.112234-1.pom?rev=1002680&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/artifactId2-1.0-20100813.112234-1.pom (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/artifactId2-1.0-20100813.112234-1.pom Wed Sep 29 15:35:05 2010
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+</project>
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/maven-metadata.xml?rev=1002680&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/maven-metadata.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/1.0-SNAPSHOT/maven-metadata.xml Wed Sep 29 15:35:05 2010
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <timestamp>20100813.112234</timestamp>
+ <buildNumber>1</buildNumber>
+ </snapshot>
+ <lastUpdated>20100813112234</lastUpdated>
+ </versioning>
+</metadata>
Added: maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/maven-metadata.xml?rev=1002680&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/maven-metadata.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/remote-repository/groupId/artifactId2/maven-metadata.xml Wed Sep 29 15:35:05 2010
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <versioning>
+ <versions>
+ <version>1.0-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20100813112234</lastUpdated>
+ </versioning>
+</metadata>
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/pom.xml?rev=1002680&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/pom.xml Wed Sep 29 15:35:05 2010
@@ -0,0 +1,34 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>external</groupId>
+ <artifactId>parent-artifactId</artifactId>
+ <version>1</version>
+ </parent>
+
+ <modules>
+ <module>subproject1</module>
+ <module>subproject2</module>
+ </modules>
+</project>
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject1/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject1/pom.xml?rev=1002680&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject1/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject1/pom.xml Wed Sep 29 15:35:05 2010
@@ -0,0 +1,36 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>groupId</groupId>
+ <artifactId>subproject1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>external</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject2/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject2/pom.xml?rev=1002680&view=auto
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject2/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/multimodule-external-snapshot-dependencies/subproject2/pom.xml Wed Sep 29 15:35:05 2010
@@ -0,0 +1,36 @@
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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>groupId</groupId>
+ <artifactId>subproject2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <parent>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>external</groupId>
+ <artifactId>artifactId2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>