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 {