You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by st...@apache.org on 2011/06/24 18:11:29 UTC

svn commit: r1139366 - in /maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release: config/PropertiesReleaseDescriptorStore.java config/ReleaseUtils.java phase/CheckDependencySnapshotsPhase.java

Author: stephenc
Date: Fri Jun 24 16:11:28 2011
New Revision: 1139366

URL: http://svn.apache.org/viewvc?rev=1139366&view=rev
Log:
[MRELEASE-374] Snapshot versions unusable in batch mode

Submitted by: Edouard Hue

o Had to rework the patch to get it to apply cleanly

o Reworked some of the parsing of string to match the pattern in the release plugin itself


Modified:
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java?rev=1139366&r1=1139365&r2=1139366&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java Fri Jun 24 16:11:28 2011
@@ -168,6 +168,8 @@ public class PropertiesReleaseDescriptor
             properties.setProperty( "completionGoals", config.getCompletionGoals() );
         }
 
+        properties.setProperty( "exec.snapshotReleasePluginAllowed", Boolean.toString( config.isSnapshotReleasePluginAllowed() ) );
+
         properties.setProperty( "remoteTagging", Boolean.toString( config.isRemoteTagging() ) );
 
         properties.setProperty( "pushChanges", Boolean.toString( config.isPushChanges() ) );

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java?rev=1139366&r1=1139365&r2=1139366&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java Fri Jun 24 16:11:28 2011
@@ -55,10 +55,10 @@ public class ReleaseUtils
         mergeInto.setScmSourceUrl( mergeOverride( mergeInto.getScmSourceUrl(), toBeMerged.getScmSourceUrl() ) );
         mergeInto.setScmCommentPrefix(
             mergeOverride( mergeInto.getScmCommentPrefix(), toBeMerged.getScmCommentPrefix() ) );
-        mergeInto.setScmReleaseLabel(
-            mergeOverride( mergeInto.getScmReleaseLabel(), toBeMerged.getScmReleaseLabel() ) );
+        mergeInto.setScmReleaseLabel( mergeOverride( mergeInto.getScmReleaseLabel(), toBeMerged.getScmReleaseLabel() ) );
         mergeInto.setScmTagBase( mergeOverride( mergeInto.getScmTagBase(), toBeMerged.getScmTagBase() ) );
-        mergeInto.setScmTagNameFormat( mergeOverride( mergeInto.getScmTagNameFormat(), toBeMerged.getScmTagNameFormat() ) );
+        mergeInto.setScmTagNameFormat(
+            mergeOverride( mergeInto.getScmTagNameFormat(), toBeMerged.getScmTagNameFormat() ) );
         mergeInto.setScmBranchBase( mergeOverride( mergeInto.getScmBranchBase(), toBeMerged.getScmBranchBase() ) );
         mergeInto.setScmUsername( mergeOverride( mergeInto.getScmUsername(), toBeMerged.getScmUsername() ) );
         mergeInto.setScmPassword( mergeOverride( mergeInto.getScmPassword(), toBeMerged.getScmPassword() ) );
@@ -149,8 +149,14 @@ public class ReleaseUtils
         releaseDescriptor.setPomFileName( properties.getProperty( "exec.pomFileName" ) );
         releaseDescriptor.setPreparationGoals( properties.getProperty( "preparationGoals" ) );
         releaseDescriptor.setCompletionGoals( properties.getProperty( "completionGoals" ) );
+        String snapshotReleasePluginAllowedStr = properties.getProperty( "exec.snapshotReleasePluginAllowed" );
+        releaseDescriptor.setSnapshotReleasePluginAllowed( snapshotReleasePluginAllowedStr == null
+                                                               ? false
+                                                               : Boolean.valueOf(
+                                                                   snapshotReleasePluginAllowedStr ).booleanValue() );
         String remoteTaggingStr = properties.getProperty( "remoteTagging" );
-        releaseDescriptor.setRemoteTagging( remoteTaggingStr == null ? false : Boolean.valueOf( remoteTaggingStr ).booleanValue() );
+        releaseDescriptor.setRemoteTagging(
+            remoteTaggingStr == null ? false : Boolean.valueOf( remoteTaggingStr ).booleanValue() );
         String pushChanges = properties.getProperty( "pushChanges" );
         releaseDescriptor.setPushChanges( pushChanges == null ? true : Boolean.valueOf( pushChanges ).booleanValue() );
 

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=1139366&r1=1139365&r2=1139366&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 Fri Jun 24 16:11:28 2011
@@ -150,24 +150,28 @@ public class CheckDependencySnapshotsPha
 
             if ( checkArtifact( artifact, originalVersions, artifactMap, releaseDescriptor ) )
             {
-                boolean addToFailures = true;
+                boolean addToFailures;
 
-                if ( "org.apache.maven.plugins".equals( artifact.getGroupId() ) &&
-                    "maven-release-plugin".equals( artifact.getArtifactId() ) )
+                if ( "org.apache.maven.plugins".equals( artifact.getGroupId() ) && "maven-release-plugin".equals(
+                    artifact.getArtifactId() ) )
                 {
                     // It's a snapshot of the release plugin. Maybe just testing - ask
                     // By default, we fail as for any other plugin
-                    if ( releaseDescriptor.isInteractive() )
+                    if ( releaseDescriptor.isSnapshotReleasePluginAllowed() )
+                    {
+                        addToFailures = false;
+                    }
+                    else if ( releaseDescriptor.isInteractive() )
                     {
                         try
                         {
                             String result;
                             if ( !releaseDescriptor.isSnapshotReleasePluginAllowed() )
                             {
-                                prompter.showMessage( "This project relies on a SNAPSHOT of the release plugin. " +
-                                    "This may be necessary during testing.\n" );
+                                prompter.showMessage( "This project relies on a SNAPSHOT of the release plugin. "
+                                                          + "This may be necessary during testing.\n" );
                                 result = prompter.prompt( "Do you want to continue with the release?",
-                                                          Arrays.asList( new String[]{"yes", "no"} ), "no" );
+                                                          Arrays.asList( new String[]{ "yes", "no" } ), "no" );
                             }
                             else
                             {
@@ -179,17 +183,25 @@ public class CheckDependencySnapshotsPha
                                 addToFailures = false;
                                 releaseDescriptor.setSnapshotReleasePluginAllowed( true );
                             }
+                            else
+                            {
+                                addToFailures = true;
+                            }
                         }
                         catch ( PrompterException e )
                         {
                             throw new ReleaseExecutionException( e.getMessage(), e );
                         }
                     }
-                    else if ( releaseDescriptor.isSnapshotReleasePluginAllowed() )
+                    else
                     {
-                        addToFailures = false;
+                        addToFailures = true;
                     }
                 }
+                else
+                {
+                    addToFailures = true;
+                }
 
                 if ( addToFailures )
                 {