maven-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r398862 - in /maven/plugins/trunk/maven-release-plugin/src/test: java/org/apache/maven/plugins/release/phase/ resources/projects/scm-commit/multiple-poms/ resources/projects/scm-commit/multiple-poms/subproject1/ resources/projects/scm-commi...
Date Tue, 02 May 2006 08:41:38 GMT
Author: brett
Date: Tue May  2 01:41:37 2006
New Revision: 398862

URL: http://svn.apache.org/viewcvs?rev=398862&view=rev
Log:
[MRELEASE-98] test multiple projects in commit phase

Added:
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/pom.xml
  (with props)
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/pom.xml
  (with props)
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/pom.xml
  (with props)
Modified:
    maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmCommitPhaseTest.java
    maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/single-pom/pom.xml

Modified: maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmCommitPhaseTest.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmCommitPhaseTest.java?rev=398862&r1=398861&r2=398862&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmCommitPhaseTest.java
(original)
+++ maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/ScmCommitPhaseTest.java
Tue May  2 01:41:37 2006
@@ -37,25 +37,30 @@
 import org.jmock.core.constraint.IsAnything;
 import org.jmock.core.constraint.IsEqual;
 import org.jmock.core.constraint.IsNull;
-import org.jmock.core.matcher.InvokeAtLeastOnceMatcher;
+import org.jmock.core.matcher.InvokeOnceMatcher;
 import org.jmock.core.matcher.TestFailureMatcher;
 import org.jmock.core.stub.ReturnStub;
 import org.jmock.core.stub.ThrowStub;
 
+import java.io.File;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
 
 /**
  * Test the SCM commit phase.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo [!] multiple projects
  */
 public class ScmCommitPhaseTest
     extends AbstractReleaseTestCase
 {
     private static final String PREFIX = "[maven-release-plugin] prepare release ";
 
+    private static final File[] EMPTY_FILE_ARRAY = new File[0];
+
     protected void setUp()
         throws Exception
     {
@@ -78,7 +83,39 @@
         Mock scmProviderMock = new Mock( ScmProvider.class );
         Constraint[] arguments = new Constraint[]{new IsAnything(), new IsScmFileSetEquals(
fileSet ), new IsNull(),
             new IsEqual( PREFIX + "release-label" )};
-        scmProviderMock.expects( new InvokeAtLeastOnceMatcher() ).method( "checkIn" ).with(
arguments ).will(
+        scmProviderMock.expects( new InvokeOnceMatcher() ).method( "checkIn" ).with( arguments
).will(
+            new ReturnStub( new CheckInScmResult( "...", Collections.singletonList( rootProject.getFile()
) ) ) );
+
+        ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
+        stub.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+
+        phase.execute( config );
+
+        assertTrue( true );
+    }
+
+    public void testCommitMultiModule()
+        throws Exception
+    {
+        ReleaseConfiguration config = createConfigurationFromProjects( "scm-commit/", "multiple-poms",
true );
+        config.setUrl( "scm-url" );
+        MavenProject rootProject = (MavenProject) config.getReactorProjects().get( 0 );
+        config.setWorkingDirectory( rootProject.getFile().getParentFile() );
+        config.setReleaseLabel( "release-label" );
+
+        List poms = new ArrayList();
+        for ( Iterator i = config.getReactorProjects().iterator(); i.hasNext(); )
+        {
+            MavenProject project = (MavenProject) i.next();
+            poms.add( project.getFile() );
+        }
+        ScmFileSet fileSet =
+            new ScmFileSet( rootProject.getFile().getParentFile(), (File[]) poms.toArray(
EMPTY_FILE_ARRAY ) );
+
+        Mock scmProviderMock = new Mock( ScmProvider.class );
+        Constraint[] arguments = new Constraint[]{new IsAnything(), new IsScmFileSetEquals(
fileSet ), new IsNull(),
+            new IsEqual( PREFIX + "release-label" )};
+        scmProviderMock.expects( new InvokeOnceMatcher() ).method( "checkIn" ).with( arguments
).will(
             new ReturnStub( new CheckInScmResult( "...", Collections.singletonList( rootProject.getFile()
) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
@@ -105,7 +142,7 @@
         Mock scmProviderMock = new Mock( ScmProvider.class );
         Constraint[] arguments = new Constraint[]{new IsAnything(), new IsScmFileSetEquals(
fileSet ), new IsNull(),
             new IsEqual( "[maven-release-plugin] prepare for next development iteration"
)};
-        scmProviderMock.expects( new InvokeAtLeastOnceMatcher() ).method( "checkIn" ).with(
arguments ).will(
+        scmProviderMock.expects( new InvokeOnceMatcher() ).method( "checkIn" ).with( arguments
).will(
             new ReturnStub( new CheckInScmResult( "...", Collections.singletonList( rootProject.getFile()
) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
@@ -174,7 +211,7 @@
         ReleaseConfiguration releaseConfiguration = createReleaseConfiguration();
 
         Mock scmManagerMock = new Mock( ScmManager.class );
-        scmManagerMock.expects( new InvokeAtLeastOnceMatcher() ).method( "makeScmRepository"
).with(
+        scmManagerMock.expects( new InvokeOnceMatcher() ).method( "makeScmRepository" ).with(
             new IsEqual( "scm-url" ) ).will( new ThrowStub( new NoSuchScmProviderException(
"..." ) ) );
 
         ScmManager scmManager = (ScmManager) scmManagerMock.proxy();
@@ -200,7 +237,7 @@
         ReleaseConfiguration releaseConfiguration = createReleaseConfiguration();
 
         Mock scmManagerMock = new Mock( ScmManager.class );
-        scmManagerMock.expects( new InvokeAtLeastOnceMatcher() ).method( "makeScmRepository"
).with(
+        scmManagerMock.expects( new InvokeOnceMatcher() ).method( "makeScmRepository" ).with(
             new IsEqual( "scm-url" ) ).will( new ThrowStub( new ScmRepositoryException( "..."
) ) );
 
         ScmManager scmManager = (ScmManager) scmManagerMock.proxy();
@@ -226,7 +263,7 @@
         ReleaseConfiguration releaseConfiguration = createReleaseConfiguration();
 
         Mock scmProviderMock = new Mock( ScmProvider.class );
-        scmProviderMock.expects( new InvokeAtLeastOnceMatcher() ).method( "checkIn" ).will(
+        scmProviderMock.expects( new InvokeOnceMatcher() ).method( "checkIn" ).will(
             new ThrowStub( new ScmException( "..." ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );

Added: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/pom.xml?rev=398862&view=auto
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/pom.xml
(added)
+++ maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/pom.xml
Tue May  2 01:41:37 2006
@@ -0,0 +1,28 @@
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed 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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0</version>
+  <packaging>pom</packaging>
+
+  <modules>
+    <module>subproject1</module>
+    <module>subproject2</module>
+  </modules>
+</project>

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/pom.xml?rev=398862&view=auto
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/pom.xml
(added)
+++ maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/pom.xml
Tue May  2 01:41:37 2006
@@ -0,0 +1,26 @@
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed 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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0</version>
+  </parent>
+
+  <artifactId>subproject1</artifactId>
+</project>

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject1/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/pom.xml?rev=398862&view=auto
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/pom.xml
(added)
+++ maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/pom.xml
Tue May  2 01:41:37 2006
@@ -0,0 +1,34 @@
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed 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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0</version>
+  </parent>
+
+  <artifactId>subproject2</artifactId>
+
+  <dependencies>
+    <dependency>
+      <groupId>groupId</groupId>
+      <artifactId>subproject1</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/multiple-poms/subproject2/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/single-pom/pom.xml
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/single-pom/pom.xml?rev=398862&r1=398861&r2=398862&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/single-pom/pom.xml
(original)
+++ maven/plugins/trunk/maven-release-plugin/src/test/resources/projects/scm-commit/single-pom/pom.xml
Tue May  2 01:41:37 2006
@@ -18,5 +18,5 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>groupId</groupId>
   <artifactId>artifactId</artifactId>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
 </project>



Mime
View raw message