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/28 17:56:36 UTC

svn commit: r1002231 - 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/resources/projects/check-dependencies/external-snapshot-all/

Author: brett
Date: Tue Sep 28 15:56:36 2010
New Revision: 1002231

URL: http://svn.apache.org/viewvc?rev=1002231&view=rev
Log:
[MRELEASE-350] option '0' did not work

Added:
    maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/external-snapshot-all/
      - copied from r1002110, maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/external-snapshot-report-plugins/
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
    maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/external-snapshot-all/pom.xml

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=1002231&r1=1002230&r2=1002231&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 Tue Sep 28 15:56:36 2010
@@ -327,7 +327,6 @@ public class CheckDependencySnapshotsPha
 
             if ( result.toLowerCase( Locale.ENGLISH ).startsWith( "y" ) )
             {
-                Set snapshotSet = new HashSet();
                 Map resolvedSnapshots = null;
                 prompter.showMessage( RESOLVE_SNAPSHOT_TYPE_MESSAGE );
                 result = prompter.prompt( RESOLVE_SNAPSHOT_TYPE_PROMPT,
@@ -337,11 +336,10 @@ public class CheckDependencySnapshotsPha
                 {
                     // all
                     case 0:
-                        snapshotSet.addAll( projectDependencies );
-                        snapshotSet.addAll( reportDependencies );
-                        snapshotSet.addAll( extensionDependencies );
-                        snapshotSet.addAll( pluginDependencies );
-                        resolvedSnapshots = processSnapshot( snapshotSet );
+                        resolvedSnapshots = processSnapshot( projectDependencies );
+                        resolvedSnapshots.putAll( processSnapshot( pluginDependencies ) );
+                        resolvedSnapshots.putAll( processSnapshot( reportDependencies ) );
+                        resolvedSnapshots.putAll( processSnapshot( extensionDependencies ) );
                         break;
 
                         // project dependencies
@@ -402,7 +400,7 @@ public class CheckDependencySnapshotsPha
             iterator.remove();
 
             // by default, keep the same version for the dependency after release, unless it was previously newer
-            // th euser may opt to type in something different
+            // the user may opt to type in something different
             VersionInfo nextVersionInfo = new DefaultVersionInfo( result );
 
             String nextVersion;

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=1002231&r1=1002230&r2=1002231&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 Tue Sep 28 15:56:36 2010
@@ -28,6 +28,7 @@ import org.codehaus.plexus.components.in
 import static org.mockito.Mockito.*;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -551,6 +552,67 @@ public class CheckDependencySnapshotsPha
         assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.RELEASE_KEY ) );
     }
 
+    public void testSnapshotDependenciesUpdateAllOnlyDependenciesNeeded()
+        throws Exception
+    {
+        CheckDependencySnapshotsPhase phase =
+            (CheckDependencySnapshotsPhase) lookup( ReleasePhase.ROLE, "check-dependency-snapshots" );
+
+        ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+        List reactorProjects = createDescriptorFromProjects( "external-snapshot-dependencies" );
+
+        phase.setPrompter( createMockPrompter( YES, "0", new VersionPair( "1.0", "1.0" ) ) );
+
+        try
+        {
+            phase.execute( releaseDescriptor, new DefaultReleaseEnvironment(), reactorProjects );
+        }
+        catch ( ReleaseFailureException e )
+        {
+            fail( e.getMessage() );
+        }
+
+        // validate
+        Map versionsMap = (Map) releaseDescriptor.getResolvedSnapshotDependencies().get( "external:artifactId" );
+
+        assertNotNull( versionsMap );
+        assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.DEVELOPMENT_KEY ) );
+        assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.RELEASE_KEY ) );
+    }
+
+
+    public void testSnapshotDependenciesUpdateAll()
+        throws Exception
+    {
+        CheckDependencySnapshotsPhase phase =
+            (CheckDependencySnapshotsPhase) lookup( ReleasePhase.ROLE, "check-dependency-snapshots" );
+
+        ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+        List reactorProjects = createDescriptorFromProjects( "external-snapshot-all" );
+
+        Prompter mockPrompter = createMockPrompter( YES, "0", Arrays.asList( new VersionPair( "1.0", "1.0" ),
+                                                                             new VersionPair( "1.1", "1.1" ),
+                                                                             new VersionPair( "1.2", "1.2" ),
+                                                                             new VersionPair( "1.3", "1.3" ) ) );
+        phase.setPrompter( mockPrompter );
+
+        try
+        {
+            phase.execute( releaseDescriptor, new DefaultReleaseEnvironment(), reactorProjects );
+        }
+        catch ( ReleaseFailureException e )
+        {
+            fail( e.getMessage() );
+        }
+
+        // validate
+        Map versionsMap = (Map) releaseDescriptor.getResolvedSnapshotDependencies().get( "external:artifactId" );
+
+        assertNotNull( versionsMap );
+        assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.DEVELOPMENT_KEY ) );
+        assertEquals( "1.0", versionsMap.get( ReleaseDescriptor.RELEASE_KEY ) );
+    }
+
     public void testSnapshotDependenciesInsideAndOutsideProject()
         throws Exception
     {
@@ -1053,27 +1115,42 @@ public class CheckDependencySnapshotsPha
     private Prompter createMockPrompter( String resolveSnapshots, String resolutionType, VersionPair resolvedVersions )
         throws PrompterException
     {
-        VersionPair defaultVersions = new VersionPair( resolvedVersions.releaseVersion,
-                                                       resolvedVersions.developmentVersion );
-
-        return createMockPrompter( resolveSnapshots, resolutionType, resolvedVersions, defaultVersions );
+        return createMockPrompter( resolveSnapshots, resolutionType, resolvedVersions, resolvedVersions );
     }
 
     private Prompter createMockPrompter( String resolveSnapshots, String resolutionType, VersionPair resolvedVersions,
                                          VersionPair defaultVersions )
         throws PrompterException
     {
+        return createMockPrompter( resolveSnapshots, resolutionType, Collections.singletonList( resolvedVersions ),
+                                   Collections.singletonList( defaultVersions ) );
+    }
+
+    private Prompter createMockPrompter( String resolveSnapshots, String resolutionType,
+                                         List<VersionPair> resolvedVersions )
+        throws PrompterException
+    {
+        return createMockPrompter( resolveSnapshots, resolutionType, resolvedVersions, resolvedVersions );
+    }
+
+    private Prompter createMockPrompter( String resolveSnapshots, String resolutionType,
+                                         List<VersionPair> resolvedVersions, List<VersionPair> defaultVersions )
+        throws PrompterException
+    {
         Prompter mockPrompter = mock( Prompter.class );
 
         when( mockPrompter.prompt( anyString(), eq( YES_NO_ARRAY ), eq( NO ) ) ).thenReturn( resolveSnapshots );
         when( mockPrompter.prompt( anyString(), eq( CHOICE_ARRAY ), eq( DEFAULT_CHOICE ) ) ).thenReturn(
             resolutionType );
-        when( mockPrompter.prompt( "Which release version should it be set to?",
-                                   defaultVersions.releaseVersion ) ).thenReturn( resolvedVersions.releaseVersion );
-        when( mockPrompter.prompt( "What version should the dependency be reset to for development?",
-                                   defaultVersions.developmentVersion ) ).thenReturn(
-            resolvedVersions.developmentVersion );
 
+        for ( int i = 0; i < resolvedVersions.size(); i++ )
+        {
+            when( mockPrompter.prompt( "Which release version should it be set to?", defaultVersions.get(
+                i ).releaseVersion ) ).thenReturn( resolvedVersions.get( i ).releaseVersion );
+            when( mockPrompter.prompt( "What version should the dependency be reset to for development?",
+                                       defaultVersions.get( i ).developmentVersion ) ).thenReturn( resolvedVersions.get(
+                i ).developmentVersion );
+        }
         return mockPrompter;
     }
 

Modified: maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/external-snapshot-all/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/external-snapshot-all/pom.xml?rev=1002231&r1=1002110&r2=1002231&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/external-snapshot-all/pom.xml (original)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/check-dependencies/external-snapshot-all/pom.xml Tue Sep 28 15:56:36 2010
@@ -20,7 +20,7 @@
   <artifactId>artifactId</artifactId>
   <version>1.0-SNAPSHOT</version>
 
-  <reporting>
+  <build>
     <plugins>
       <plugin>
         <groupId>external</groupId>
@@ -28,5 +28,30 @@
         <version>1.1-SNAPSHOT</version>
       </plugin>
     </plugins>
+    <extensions>
+      <extension>
+        <groupId>external</groupId>
+        <artifactId>extension-artifactId</artifactId>
+        <version>1.3-SNAPSHOT</version>
+      </extension>
+    </extensions>
+  </build>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>external</groupId>
+        <artifactId>report-artifactId</artifactId>
+        <version>1.2-SNAPSHOT</version>
+      </plugin>
+    </plugins>
   </reporting>
+  
+  <dependencies>
+    <dependency>
+      <groupId>external</groupId>
+      <artifactId>artifactId</artifactId>
+      <version>1.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
 </project>