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>