Author: evenisse
Date: Wed Apr 18 08:31:41 2007
New Revision: 530064

URL: http://svn.apache.org/viewvc?view=rev&rev=530064
Log:
[MRELEASE-90] Support SNAPSHOT version without digits

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/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
    
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
    
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.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?view=diff&rev=530064&r1=530063&r2=530064
==============================================================================
--- 
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 Apr 18 08:31:41 2007
@@ -361,9 +361,19 @@
                 Map versionMap = new HashMap();
 
                 iterator.remove();
-                result = prompter.prompt( "What is the next development 
version?", Collections.singletonList(
-                    version.getNextVersion().getSnapshotVersionString() ),
-                                                                               
    version.getNextVersion().getSnapshotVersionString() );
+
+                VersionInfo versionInfo = version.getNextVersion();
+                String nextVersion;
+                if ( versionInfo != null )
+                {
+                    nextVersion = versionInfo.getSnapshotVersionString();
+                }
+                else
+                {
+                    nextVersion = "1.0-SNAPSHOT";
+                }
+                result = prompter.prompt( "What is the next development 
version?",
+                                          Collections.singletonList( 
nextVersion ), nextVersion );
 
                 nextDevelopmentVersion = new DefaultVersionInfo( result );
                 versionMap.put( ReleaseDescriptor.ORIGINAL_VERSION, 
version.toString() );

Modified: 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java?view=diff&rev=530064&r1=530063&r2=530064
==============================================================================
--- 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
 (original)
+++ 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/MapVersionsPhase.java
 Wed Apr 18 08:31:41 2007
@@ -96,7 +96,15 @@
                     String nextVersion = null;
                     if ( version != null )
                     {
-                        nextVersion = 
version.getNextVersion().getSnapshotVersionString();
+                        VersionInfo versionInfo = version.getNextVersion();
+                        if ( versionInfo != null )
+                        {
+                            nextVersion = 
versionInfo.getSnapshotVersionString();
+                        }
+                        else
+                        {
+                            nextVersion = "1.0-SNAPSHOT";
+                        }
                     }
 
                     if ( releaseDescriptor.isInteractive() )

Modified: 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java?view=diff&rev=530064&r1=530063&r2=530064
==============================================================================
--- 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
 (original)
+++ 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
 Wed Apr 18 08:31:41 2007
@@ -271,6 +271,11 @@
 
     public String getSnapshotVersionString()
     {
+        if ( strVersion.equals( Artifact.SNAPSHOT_VERSION ) )
+        {
+            return strVersion;
+        }
+
         String baseVersion = getReleaseVersionString();
 
         if ( baseVersion.length() > 0 )
@@ -296,7 +301,7 @@
         }
         else if ( baseVersion.equals( Artifact.SNAPSHOT_VERSION ) )
         {
-            baseVersion = "";
+            baseVersion = "1.0";
         }
         return baseVersion;
     }

Modified: 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java?view=diff&rev=530064&r1=530063&r2=530064
==============================================================================
--- 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java
 (original)
+++ 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/MapVersionsPhaseTest.java
 Wed Apr 18 08:31:41 2007
@@ -80,6 +80,43 @@
                       releaseDescriptor.getReleaseVersions() );
     }
 
+    /**
+     * Test to release "SNAPSHOT" version
+     * MRELEASE-90
+     */
+    public void testMapReleaseVersionsInteractiveWithSnaphotVersion()
+        throws Exception
+    {
+        MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.ROLE, 
"test-map-release-versions" );
+
+        Mock mockPrompter = new Mock( Prompter.class );
+        mockPrompter.expects( new InvokeOnceMatcher() ).method( "prompt" 
).with( new IsAnything(),
+                                                                               
  new IsEqual( "1.0" ) ).will(
+            new ReturnStub( "2.0" ) );
+        phase.setPrompter( (Prompter) mockPrompter.proxy() );
+
+        List reactorProjects = Collections.singletonList( createProject( 
"artifactId", "SNAPSHOT" ) );
+
+        ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+
+        phase.execute( releaseDescriptor, null, reactorProjects );
+
+        assertEquals( "Check mapped versions", Collections.singletonMap( 
"groupId:artifactId", "2.0" ),
+                      releaseDescriptor.getReleaseVersions() );
+
+        releaseDescriptor = new ReleaseDescriptor();
+
+        mockPrompter.reset();
+        mockPrompter.expects( new InvokeOnceMatcher() ).method( "prompt" 
).with( new IsAnything(),
+                                                                               
  new IsEqual( "1.0" ) ).will(
+            new ReturnStub( "2.0" ) );
+
+        phase.simulate( releaseDescriptor, null, reactorProjects );
+
+        assertEquals( "Check mapped versions", Collections.singletonMap( 
"groupId:artifactId", "2.0" ),
+                      releaseDescriptor.getReleaseVersions() );
+    }
+
     public void testMapReleaseVersionsNonInteractive()
         throws Exception
     {


Reply via email to