You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2006/04/28 08:38:59 UTC

svn commit: r397785 - in /maven/plugins/trunk/maven-release-plugin/src: main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java

Author: brett
Date: Thu Apr 27 23:38:58 2006
New Revision: 397785

URL: http://svn.apache.org/viewcvs?rev=397785&view=rev
Log:
[MRELEASE-98] simulated rewrite

Modified:
    maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java
    maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java

Modified: maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java?rev=397785&r1=397784&r2=397785&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhase.java Thu Apr 27 23:38:58 2006
@@ -87,6 +87,12 @@
     public void execute( ReleaseConfiguration releaseConfiguration )
         throws ReleaseExecutionException
     {
+        transform( releaseConfiguration, false );
+    }
+
+    private void transform( ReleaseConfiguration releaseConfiguration, boolean simulate )
+        throws ReleaseExecutionException
+    {
         for ( Iterator it = releaseConfiguration.getReactorProjects().iterator(); it.hasNext(); )
         {
             MavenProject project = (MavenProject) it.next();
@@ -147,8 +153,16 @@
 
             transformPomToReleaseVersion( project, document, releaseConfiguration, scmRepository );
 
-            writePom( project.getFile(), releaseConfiguration, document, intro, outtro, project.getModelVersion(),
-                      scmRepository, provider );
+            if ( simulate )
+            {
+                File outputFile = new File( project.getFile().getParentFile(), project.getFile().getName() + ".tag" );
+                writePom( outputFile, document, releaseConfiguration, project.getModelVersion(), intro, outtro );
+            }
+            else
+            {
+                writePom( project.getFile(), document, releaseConfiguration, project.getModelVersion(), intro, outtro,
+                          scmRepository, provider );
+            }
         }
     }
 
@@ -395,8 +409,9 @@
         }
     }
 
-    private void writePom( File pomFile, ReleaseConfiguration releaseConfiguration, Document document, String intro,
-                           String outtro, String modelVersion, ScmRepository repository, ScmProvider provider )
+    private void writePom( File pomFile, Document document, ReleaseConfiguration releaseConfiguration,
+                           String modelVersion, String intro, String outtro, ScmRepository repository,
+                           ScmProvider provider )
         throws ReleaseExecutionException
     {
         try
@@ -417,6 +432,13 @@
             throw new ReleaseExecutionException( "An error occurred enabling edit mode: " + e.getMessage(), e );
         }
 
+        writePom( pomFile, document, releaseConfiguration, modelVersion, intro, outtro );
+    }
+
+    private void writePom( File pomFile, Document document, ReleaseConfiguration releaseConfiguration,
+                           String modelVersion, String intro, String outtro )
+        throws ReleaseExecutionException
+    {
         Element rootElement = document.getRootElement();
 
         if ( releaseConfiguration.isAddSchema() )
@@ -474,8 +496,8 @@
     }
 
     public void simulate( ReleaseConfiguration releaseConfiguration )
+        throws ReleaseExecutionException
     {
-        // TODO: implement
-
+        transform( releaseConfiguration, true );
     }
 }

Modified: maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java?rev=397785&r1=397784&r2=397785&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/phase/RewritePomsForReleasePhaseTest.java Thu Apr 27 23:38:58 2006
@@ -36,6 +36,7 @@
 import org.jmock.cglib.Mock;
 import org.jmock.core.constraint.IsEqual;
 import org.jmock.core.matcher.InvokeAtLeastOnceMatcher;
+import org.jmock.core.matcher.TestFailureMatcher;
 import org.jmock.core.stub.ThrowStub;
 
 import java.io.File;
@@ -461,6 +462,46 @@
             String actual = readTestProjectFile( "basic-pom/pom.xml" );
             assertEquals( "Check the transformed POM", expected, actual );
         }
+    }
+
+    public void testSimulateRewrite()
+        throws Exception
+    {
+        ReleaseConfiguration config = createConfigurationFromProjects( "basic-pom" );
+        config.mapReleaseVersion( "groupId:artifactId", "1.0" );
+
+        String expected = readTestProjectFile( "basic-pom/pom.xml" );
+
+        phase.simulate( config );
+
+        String actual = readTestProjectFile( "basic-pom/pom.xml" );
+        assertEquals( "Check the original POM untouched", expected, actual );
+
+        expected = readTestProjectFile( "basic-pom/expected-pom.xml" );
+        actual = readTestProjectFile( "basic-pom/pom.xml.tag" );
+        assertEquals( "Check the transformed POM", expected, actual );
+    }
+
+    public void testSimulateRewriteEditModeSkipped()
+        throws Exception
+    {
+        ReleaseConfiguration config = createConfigurationFromProjects( "basic-pom" );
+        config.setUseEditMode( true );
+        config.mapReleaseVersion( "groupId:artifactId", "1.0" );
+
+        Mock scmProviderMock = new Mock( ScmProvider.class );
+        scmProviderMock.expects( new TestFailureMatcher( "edit should not be called" ) ).method( "edit" );
+
+        ScmManagerStub scmManager = new ScmManagerStub();
+        DefaultScmRepositoryConfigurator configurator =
+            (DefaultScmRepositoryConfigurator) lookup( ScmRepositoryConfigurator.ROLE );
+        configurator.setScmManager( scmManager );
+        scmManager.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+
+        phase.simulate( config );
+
+        // Getting past mock is success
+        assertTrue( true );
     }
 
     public void testRewriteUnmappedPom()