Author: nicolas
Date: Thu Apr 17 05:38:44 2008
New Revision: 649068

URL: http://svn.apache.org/viewvc?rev=649068&view=rev
Log:
MRELEASE-337 : support goals in configuration splitted into multiple lines

Added:
    
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml
   (with props)
Modified:
    
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
    
maven/release/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
    
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-args.xml
    
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-scm.xml
    
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform.xml

Modified: 
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java?rev=649068&r1=649067&r2=649068&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
 (original)
+++ 
maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
 Thu Apr 17 05:38:44 2008
@@ -25,6 +25,8 @@
 import org.apache.maven.shared.release.ReleaseFailureException;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
 
+import org.codehaus.plexus.util.StringUtils;
+
 import java.io.File;
 
 /**
@@ -94,6 +96,10 @@
     {
         super.execute();
 
+               // goals may be splitted into multiple line in configuration. 
+               // Let's build a single line command
+               goals = StringUtils.join( StringUtils.split( goals ), " " );
+               
         try
         {
             // Note that the working directory here is not the same as in the 
release configuration, so don't reuse that

Modified: 
maven/release/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java?rev=649068&r1=649067&r2=649068&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
 (original)
+++ 
maven/release/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PerformReleaseMojoTest.java
 Thu Apr 17 05:38:44 2008
@@ -262,6 +262,30 @@
         assertTrue( true );
     }
 
+       public void testPerformWithMultilineGoals()
+        throws Exception
+    {
+        PerformReleaseMojo mojo = getMojoWithProjectSite( 
"perform-with-multiline-goals.xml" );
+
+        ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
+        releaseDescriptor.setWorkingDirectory( 
workingDirectory.getAbsolutePath() );
+        File checkoutDirectory = getTestFile( "target/checkout" );
+        releaseDescriptor.setCheckoutDirectory( 
checkoutDirectory.getAbsolutePath() );
+        releaseDescriptor.setPerformGoals( "deploy site-deploy" );
+        Settings settings = mojo.getSettings();
+
+        Mock mock = new Mock( ReleaseManager.class );
+        Constraint[] constraints =
+            new Constraint[]{new IsEqual( releaseDescriptor ), new IsEqual( 
settings ), new IsNull()};
+        mock.expects( new InvokeOnceMatcher() ).method( "perform" ).with( 
constraints );
+        mojo.setReleaseManager( (ReleaseManager) mock.proxy() );
+
+        mojo.execute();
+
+        assertTrue( true );
+    }
+       
+       
     protected void setUp()
         throws Exception
     {

Modified: 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-args.xml
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-args.xml?rev=649068&r1=649067&r2=649068&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-args.xml
 (original)
+++ 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-args.xml
 Thu Apr 17 05:38:44 2008
@@ -28,6 +28,7 @@
           <project 
implementation="org.apache.maven.plugins.release.stubs.MavenProjectStub"/>
           <workingDirectory>${basedir}/target/checkout</workingDirectory>
           <useReleaseProfile>true</useReleaseProfile>
+                 <goals>deploy site-deploy</goals>               
           <arguments>-Dmaven.test.skip=true</arguments>
         </configuration>
       </plugin>

Added: 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml?rev=649068&view=auto
==============================================================================
--- 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml
 (added)
+++ 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml
 Thu Apr 17 05:38:44 2008
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you 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>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-release-plugin</artifactId>
+        <configuration>
+          <settings implementation="org.apache.maven.settings.Settings"/>
+          <project 
implementation="org.apache.maven.plugins.release.stubs.MavenProjectStub"/>
+          <workingDirectory>${basedir}/target/checkout</workingDirectory>
+          <useReleaseProfile>true</useReleaseProfile>
+                 <goals>
+                    deploy
+                        site-deploy
+             </goals>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file

Propchange: 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-multiline-goals.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-scm.xml
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-scm.xml?rev=649068&r1=649067&r2=649068&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-scm.xml
 (original)
+++ 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform-with-scm.xml
 Thu Apr 17 05:38:44 2008
@@ -29,6 +29,7 @@
           <workingDirectory>${basedir}/target/checkout</workingDirectory>
           <useReleaseProfile>true</useReleaseProfile>
           <connectionUrl>scm-url</connectionUrl>
+                 <goals>deploy site-deploy</goals>
         </configuration>
       </plugin>
     </plugins>

Modified: 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform.xml
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform.xml?rev=649068&r1=649067&r2=649068&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform.xml
 (original)
+++ 
maven/release/trunk/maven-release-plugin/src/test/resources/mojos/perform/perform.xml
 Thu Apr 17 05:38:44 2008
@@ -27,6 +27,7 @@
           <settings implementation="org.apache.maven.settings.Settings"/>
           <project 
implementation="org.apache.maven.plugins.release.stubs.MavenProjectStub"/>
           <workingDirectory>${basedir}/target/checkout</workingDirectory>
+                 <goals>deploy site-deploy</goals>
           <useReleaseProfile>true</useReleaseProfile>
         </configuration>
       </plugin>


Reply via email to