You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ep...@apache.org on 2007/01/05 10:18:58 UTC

svn commit: r492945 [1/2] - in /maven/release/trunk: maven-release-manager/src/main/java/org/apache/maven/shared/release/ maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ maven-release-manager/src/main/mdo/ maven-release-manag...

Author: epunzalan
Date: Fri Jan  5 01:18:54 2007
New Revision: 492945

URL: http://svn.apache.org/viewvc?view=rev&rev=492945
Log:
- added ScmCommentPrefix configuration
- added rollback feature in release-manager
- added release:rollback mojo
- also updated the site docs/apt

Added:
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java   (with props)
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java   (with props)
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java   (with props)
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java   (with props)
    maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java   (with props)
    maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java   (with props)
    maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/expected-backup.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/expected-backup.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/expected-backup.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/expected-backup.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/expected-pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml.releaseBackup
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/expected-pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml.releaseBackup
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/expected-pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml.releaseBackup
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/expected-pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml   (with props)
    maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml.releaseBackup
    maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/RollbackReleaseMojo.java   (with props)
    maven/release/trunk/maven-release-plugin/src/site/apt/examples/rollback-release.apt
Modified:
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseManager.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCheckModificationsPhase.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java
    maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
    maven/release/trunk/maven-release-manager/src/main/resources/META-INF/plexus/components.xml
    maven/release/trunk/maven-release-plugin/src/site/apt/examples/prepare-release.apt
    maven/release/trunk/maven-release-plugin/src/site/apt/index.apt
    maven/release/trunk/maven-release-plugin/src/site/apt/usage.apt

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java?view=diff&rev=492945&r1=492944&r2=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/DefaultReleaseManager.java Fri Jan  5 01:18:54 2007
@@ -43,6 +43,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -65,6 +66,11 @@
     private List performPhases;
 
     /**
+     * The phases of release to run to rollback changes
+     */
+    private List rollbackPhases;
+
+    /**
      * The available phases.
      */
     private Map releasePhases;
@@ -145,14 +151,7 @@
         ReleaseDescriptor config;
         if ( resume )
         {
-            try
-            {
-                config = configStore.read( releaseDescriptor );
-            }
-            catch ( ReleaseDescriptorStoreException e )
-            {
-                throw new ReleaseExecutionException( "Error reading stored configuration: " + e.getMessage(), e );
-            }
+            config = loadReleaseDescriptor( releaseDescriptor, listener );
         }
         else
         {
@@ -231,6 +230,26 @@
         updateListener( listener, "prepare", GOAL_END );
     }
 
+    public void rollback( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException
+    {
+        releaseDescriptor = loadReleaseDescriptor( releaseDescriptor, null );
+
+        for( Iterator phases = rollbackPhases.iterator(); phases.hasNext(); )
+        {
+            String name = (String) phases.next();
+
+            ReleasePhase phase = (ReleasePhase) releasePhases.get( name );
+
+            if ( phase == null )
+            {
+                throw new ReleaseExecutionException( "Unable to find phase '" + name + "' to execute" );
+            }
+
+            phase.execute( releaseDescriptor, settings, reactorProjects );
+        }
+    }
+
     public void perform( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects,
                          File checkoutDirectory, String goals, boolean useReleaseProfile )
         throws ReleaseExecutionException, ReleaseFailureException
@@ -289,17 +308,7 @@
 
         updateListener( listener, "verify-release-configuration", PHASE_START );
 
-        ReleaseDescriptor config;
-        try
-        {
-            config = configStore.read( releaseDescriptor );
-        }
-        catch ( ReleaseDescriptorStoreException e )
-        {
-            updateListener( listener, e.getMessage(), ERROR );
-
-            throw new ReleaseExecutionException( "Error reading stored configuration: " + e.getMessage(), e );
-        }
+        ReleaseDescriptor config = loadReleaseDescriptor( releaseDescriptor, listener );
 
         updateListener( listener, "verify-release-configuration", PHASE_END );
         updateListener( listener, "verify-completed-prepare-phases", PHASE_START );
@@ -425,6 +434,21 @@
         updateListener( listener, "perform", GOAL_END );
     }
 
+    private ReleaseDescriptor loadReleaseDescriptor( ReleaseDescriptor releaseDescriptor, ReleaseManagerListener listener )
+        throws ReleaseExecutionException
+    {
+        try
+        {
+            return configStore.read( releaseDescriptor );
+        }
+        catch ( ReleaseDescriptorStoreException e )
+        {
+            updateListener( listener, e.getMessage(), ERROR );
+
+            throw new ReleaseExecutionException( "Error reading stored configuration: " + e.getMessage(), e );
+        }
+    }
+
     public void clean( ReleaseDescriptor releaseDescriptor, List reactorProjects )
     {
         getLogger().info( "Cleaning up after release..." );
@@ -490,8 +514,12 @@
         {
             phases.addAll( this.performPhases );
         }
+        else if ( "rollback".equals( name ) )
+        {
+            phases.addAll( this.rollbackPhases );
+        }
 
-        return phases;
+        return Collections.unmodifiableList( phases );
     }
 
     private void logInfo( ReleaseResult result, String message )

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseManager.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseManager.java?view=diff&rev=492945&r1=492944&r2=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseManager.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/ReleaseManager.java Fri Jan  5 01:18:54 2007
@@ -69,6 +69,7 @@
      *
      * @param releaseDescriptor the configuration to use for release
      * @param settings          the settings.xml configuration
+     * @param reactorProjects   the reactor projects
      * @param checkoutDirectory the location to checkout to and build from
      * @param goals             the goals to execute
      * @param useReleaseProfile whether to use the release profile from the super POM or not
@@ -86,6 +87,18 @@
      * @param reactorProjects   the reactor projects
      */
     void clean( ReleaseDescriptor releaseDescriptor, List reactorProjects );
+
+    /**
+     * Rollback changes made by the previous release
+     *
+     * @param releaseDescriptor the configuration to use for release
+     * @param settings          the settings.xml configuration
+     * @param reactorProjects   the reactor projects
+     * @throws ReleaseExecutionException if there is a problem during release rollback
+     * @throws ReleaseFailureException   if there is a problem during release rollback
+     */
+    void rollback( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException;
 
     void prepare( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects, boolean resume,
                   boolean dryRun, ReleaseManagerListener listener )

Added: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java (added)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java Fri Jan  5 01:18:54 2007
@@ -0,0 +1,50 @@
+package org.apache.maven.shared.release.phase;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.project.MavenProject;
+
+import java.io.File;
+
+/**
+ * @author Edwin Punzalan
+ */
+public abstract class AbstractBackupPomsPhase
+    extends AbstractReleasePhase
+{
+    private final String backupPrefix = ".releaseBackup";
+
+    protected File getPomBackup( MavenProject project )
+    {
+        File pomFile = project.getFile();
+
+        return new File( pomFile.getAbsolutePath() + backupPrefix );
+    }
+
+    protected void deletePomBackup( MavenProject project )
+    {
+        File pomBackup = getPomBackup( project );
+
+        if ( pomBackup.exists() )
+        {
+            pomBackup.delete();
+        }
+    }
+}

Propchange: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java (added)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java Fri Jan  5 01:18:54 2007
@@ -0,0 +1,97 @@
+package org.apache.maven.shared.release.phase;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.shared.release.ReleaseResult;
+import org.apache.maven.shared.release.ReleaseExecutionException;
+import org.apache.maven.shared.release.ReleaseFailureException;
+import org.apache.maven.shared.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.util.List;
+import java.util.Iterator;
+import java.io.IOException;
+
+/**
+ * @author Edwin Punzalan
+ */
+public class CreateBackupPomsPhase
+    extends AbstractBackupPomsPhase
+{
+    public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException
+    {
+        ReleaseResult result = new ReleaseResult();
+
+        //remove previous backups, if any
+        clean( reactorProjects );
+
+        for( Iterator projects = reactorProjects.iterator(); projects.hasNext(); )
+        {
+            MavenProject project = (MavenProject) projects.next();
+
+            createPomBackup( project );
+        }
+
+        result.setResultCode( ReleaseResult.SUCCESS );
+
+        return result;
+    }
+
+    public ReleaseResult clean( List reactorProjects )
+    {
+        ReleaseResult result = new ReleaseResult();
+
+        for( Iterator projects = reactorProjects.iterator(); projects.hasNext(); )
+        {
+            MavenProject project = (MavenProject) projects.next();
+
+            deletePomBackup( project );
+        }
+
+        result.setResultCode( ReleaseResult.SUCCESS );
+
+        return result;
+    }
+
+    public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException
+    {
+        return execute( releaseDescriptor, settings, reactorProjects );
+    }
+
+    private void createPomBackup( MavenProject project )
+        throws ReleaseExecutionException
+    {
+        //delete any existing backup first
+        deletePomBackup( project );
+
+        try
+        {
+            FileUtils.copyFile( project.getFile(), getPomBackup( project ) );
+        }
+        catch ( IOException e )
+        {
+            throw new ReleaseExecutionException( "Error creating backup POM: " + e.getMessage(), e );
+        }
+    }
+}

Propchange: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java (added)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java Fri Jan  5 01:18:54 2007
@@ -0,0 +1,53 @@
+package org.apache.maven.shared.release.phase;
+
+import org.apache.maven.shared.release.ReleaseResult;
+import org.apache.maven.shared.release.ReleaseExecutionException;
+import org.apache.maven.shared.release.ReleaseFailureException;
+import org.apache.maven.shared.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
+
+import java.util.List;
+
+/*
+ * 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.
+ */
+
+/**
+ * @author Edwin Punzalan
+ */
+public class RemoveScmTagPhase
+    extends AbstractReleasePhase
+{
+    public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException
+    {
+        ReleaseResult result = new ReleaseResult();
+
+        // TODO [!]: implement
+
+        result.setResultCode( ReleaseResult.SUCCESS );
+
+        return result;
+    }
+
+    public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException
+    {
+        return execute( releaseDescriptor, settings, reactorProjects );
+    }
+}

Propchange: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RemoveScmTagPhase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java (added)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java Fri Jan  5 01:18:54 2007
@@ -0,0 +1,84 @@
+package org.apache.maven.shared.release.phase;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.shared.release.ReleaseResult;
+import org.apache.maven.shared.release.ReleaseExecutionException;
+import org.apache.maven.shared.release.ReleaseFailureException;
+import org.apache.maven.shared.release.config.ReleaseDescriptor;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.util.List;
+import java.util.Iterator;
+import java.io.IOException;
+import java.io.File;
+
+/**
+ * @author Edwin Punzalan
+ */
+public class RestoreBackupPomsPhase
+    extends AbstractBackupPomsPhase
+{
+    public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException
+    {
+        ReleaseResult result = new ReleaseResult();
+
+        for( Iterator projects = reactorProjects.iterator(); projects.hasNext(); )
+        {
+            MavenProject project = (MavenProject) projects.next();
+
+            restorePomBackup( project );
+        }
+
+        result.setResultCode( ReleaseResult.SUCCESS );
+
+        return result;
+    }
+
+    public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
+        throws ReleaseExecutionException, ReleaseFailureException
+    {
+        return execute( releaseDescriptor, settings, reactorProjects );
+    }
+
+    protected void restorePomBackup( MavenProject project )
+        throws ReleaseExecutionException
+    {
+        File pomBackup = getPomBackup( project );
+
+        if ( !pomBackup.exists() )
+        {
+            throw new ReleaseExecutionException( "Cannot restore from a missing backup POM: " +
+                pomBackup.getAbsolutePath() );
+        }
+
+        try
+        {
+            FileUtils.copyFile( getPomBackup( project ), project.getFile() );
+        }
+        catch ( IOException e )
+        {
+            throw new ReleaseExecutionException( "Error restoring from backup POM: " + e.getMessage(), e );
+        }
+    }
+}

Propchange: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCheckModificationsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCheckModificationsPhase.java?view=diff&rev=492945&r1=492944&r2=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCheckModificationsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCheckModificationsPhase.java Fri Jan  5 01:18:54 2007
@@ -62,7 +62,8 @@
      * @todo proper construction of filenames, especially release properties
      */
     private Set excludedFiles = new HashSet( Arrays.asList(
-        new String[]{"pom.xml", "pom.xml.backup", "pom.xml.tag", "pom.xml.next", "release.properties"} ) );
+        new String[]{"pom.xml", "pom.xml.backup", "pom.xml.tag", "pom.xml.next", "release.properties",
+            "pom.xml.releaseBackup"} ) );
 
     public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
         throws ReleaseExecutionException, ReleaseFailureException

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java?view=diff&rev=492945&r1=492944&r2=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmCommitPhase.java Fri Jan  5 01:18:54 2007
@@ -137,7 +137,7 @@
 
     private String createMessage( ReleaseDescriptor releaseDescriptor )
     {
-        return MessageFormat.format( messageFormat, new Object[]{releaseDescriptor.getScmReleaseLabel()} );
+        return MessageFormat.format( releaseDescriptor.getScmCommentPrefix() + messageFormat, new Object[]{releaseDescriptor.getScmReleaseLabel()} );
     }
 
     private static Collection createPomFiles( List reactorProjects )

Modified: maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo?view=diff&rev=492945&r1=492944&r2=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo (original)
+++ maven/release/trunk/maven-release-manager/src/main/mdo/release-descriptor.mdo Fri Jan  5 01:18:54 2007
@@ -56,6 +56,15 @@
             The description of this release configuration
           </description>
         </field>
+        <field>
+          <name>ScmCommentPrefix</name>
+          <version>1.0.0</version>
+          <type>String</type>
+          <defaultValue>[maven-release-manager] </defaultValue>
+          <description>
+            The prefix of SCM modification messages
+          </description>
+        </field>
         <!-- Settings needs to be resolved -->
         <!-- SCM Information -->
         <field>

Modified: maven/release/trunk/maven-release-manager/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=492945&r1=492944&r2=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/release/trunk/maven-release-manager/src/main/resources/META-INF/plexus/components.xml Fri Jan  5 01:18:54 2007
@@ -46,6 +46,7 @@
           <phase>check-poms</phase>
           <phase>scm-check-modifications</phase>
           <phase>check-dependency-snapshots</phase>
+          <phase>create-backup-poms</phase>
           <phase>map-release-versions</phase>
           <phase>input-variables</phase>
           <phase>map-development-versions</phase>
@@ -67,6 +68,11 @@
           <phase>build-project</phase>
           <phase>cleanup</phase>
         </performPhases>
+        <rollbackPhases>
+          <phase>restore-backup-poms</phase>
+          <phase>scm-commit-rollback</phase>
+          <phase>remove-scm-tag</phase>
+        </rollbackPhases>
       </configuration>
     </component>
     <component>
@@ -185,7 +191,7 @@
         </requirement>
       </requirements>
       <configuration>
-        <messageFormat>[maven-release-plugin] prepare release {0}</messageFormat>
+        <messageFormat>prepare release {0}</messageFormat>
       </configuration>
     </component>
     <component>
@@ -198,7 +204,7 @@
         </requirement>
       </requirements>
       <configuration>
-        <messageFormat>[maven-release-plugin] prepare for next development iteration</messageFormat>
+        <messageFormat>prepare for next development iteration</messageFormat>
       </configuration>
     </component>
     <component>
@@ -269,6 +275,34 @@
       <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
       <role-hint>end-release</role-hint>
       <implementation>org.apache.maven.shared.release.phase.EndReleasePhase</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+      <role-hint>create-backup-poms</role-hint>
+      <implementation>org.apache.maven.shared.release.phase.CreateBackupPomsPhase</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+      <role-hint>restore-backup-poms</role-hint>
+      <implementation>org.apache.maven.shared.release.phase.RestoreBackupPomsPhase</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+      <role-hint>remove-scm-tag</role-hint>
+      <implementation>org.apache.maven.shared.release.phase.RemoveScmTagPhase</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+      <role-hint>scm-commit-rollback</role-hint>
+      <implementation>org.apache.maven.shared.release.phase.ScmCommitPhase</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.shared.release.scm.ScmRepositoryConfigurator</role>
+        </requirement>
+      </requirements>
+      <configuration>
+        <messageFormat>rollback the release of {0}</messageFormat>
+      </configuration>
     </component>
   </components>
 </component-set>

Added: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java (added)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java Fri Jan  5 01:18:54 2007
@@ -0,0 +1,94 @@
+package org.apache.maven.shared.release.phase;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.model.Model;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author Edwin Punzalan
+ */
+public abstract class AbstractBackupPomsPhaseTest
+    extends PlexusTestCase
+{
+    private final String pomFilename = "pom.xml";
+
+    protected final String releaseBackupSuffix = ".releaseBackup";
+
+    protected ReleasePhase phase;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        phase = getReleasePhase();
+    }
+
+    abstract ReleasePhase getReleasePhase()
+        throws Exception;
+
+    protected List getReactorProjects( String projectPath )
+        throws Exception
+    {
+        List reactorProjects = new ArrayList();
+
+        File pomFile = new File( projectPath, pomFilename );
+
+        MavenProject mainProject = createMavenProject( pomFile );
+
+        reactorProjects.add( mainProject );
+
+        for( Iterator modules = mainProject.getModel().getModules().iterator(); modules.hasNext(); )
+        {
+            String module = modules.next().toString();
+
+            File modulePom = new File( projectPath + "/" + module, pomFilename );
+
+            MavenProject subproject = createMavenProject( modulePom );
+
+            reactorProjects.add( subproject );
+        }
+
+        return reactorProjects;
+    }
+
+    private MavenProject createMavenProject( File pomFile )
+        throws Exception
+    {
+        MavenXpp3Reader reader = new MavenXpp3Reader();
+
+        Model model = reader.read( new FileReader( pomFile ) );
+
+        MavenProject project = new MavenProject( model );
+
+        project.setFile( pomFile );
+
+        return project;
+    }
+}

Propchange: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/AbstractBackupPomsPhaseTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java (added)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java Fri Jan  5 01:18:54 2007
@@ -0,0 +1,128 @@
+package org.apache.maven.shared.release.phase;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.util.List;
+import java.util.Iterator;
+import java.io.File;
+
+/**
+ * @author Edwin Punzalan
+ */
+public class CreateBackupPomsPhaseTest
+    extends AbstractBackupPomsPhaseTest
+{
+    ReleasePhase getReleasePhase()
+        throws Exception
+    {
+        return (ReleasePhase) lookup( ReleasePhase.ROLE, "create-backup-poms" );
+    }
+
+    public void testBasicPom()
+        throws Exception
+    {
+        String projectPath = "target/test-classes/projects/create-backup-poms/basic-pom";
+
+        //should create backup files
+        runExecuteOnProjects( projectPath );
+
+        //should delete backup files
+        runCleanOnProjects( projectPath );
+
+        //should re-create backup files
+        runSimulateOnProjects( projectPath );
+    }
+
+    public void testMultiModulePom()
+        throws Exception
+    {
+        String projectPath = "target/test-classes/projects/create-backup-poms/pom-with-modules";
+
+        //should create backup files
+        runExecuteOnProjects( projectPath );
+
+        //should delete backup files
+        runCleanOnProjects( projectPath );
+
+        //should re-create backup files
+        runSimulateOnProjects( projectPath );
+    }
+
+    private void runExecuteOnProjects( String path )
+        throws Exception
+    {
+        List projects = getReactorProjects( getTestPath( path ) );
+
+        phase.execute( null, null, projects );
+
+        testProjectBackups( projects, true );
+    }
+
+    private void runSimulateOnProjects( String path )
+        throws Exception
+    {
+        List projects = getReactorProjects( getTestPath( path ) );
+
+        phase.simulate( null, null, projects );
+
+        testProjectBackups( projects, true );
+    }
+
+    private void runCleanOnProjects( String path )
+        throws Exception
+    {
+        List projects = getReactorProjects( getTestPath( path ) );
+
+        phase.clean( projects );
+
+        testProjectBackups( projects, false );
+    }
+
+    protected void testProjectBackups( List reactorProjects, boolean created )
+        throws Exception
+    {
+        for( Iterator projects = reactorProjects.iterator(); projects.hasNext(); )
+        {
+            MavenProject project = (MavenProject) projects.next();
+
+            File pomFile = project.getFile();
+
+            File backupFile = new File( pomFile.getAbsolutePath() + releaseBackupSuffix );
+
+            if ( created )
+            {
+                assertTrue( "Check if backup file was created.", backupFile.exists() );
+
+                String pomContents = FileUtils.fileRead( pomFile );
+
+                String backupContents = FileUtils.fileRead( backupFile );
+
+                assertTrue( "Check if pom and backup files are identical", pomContents.equals( backupContents ) );
+            }
+            else
+            {
+                assertFalse( "Check if backup file is not present", backupFile.exists() );
+            }
+        }
+    }
+}

Propchange: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/CreateBackupPomsPhaseTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java (added)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java Fri Jan  5 01:18:54 2007
@@ -0,0 +1,103 @@
+package org.apache.maven.shared.release.phase;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.FileUtils;
+
+import java.util.List;
+import java.util.Iterator;
+import java.io.File;
+
+/**
+ * @author Edwin Punzalan
+ */
+public class RestoreBackupPomsPhaseTest
+    extends AbstractBackupPomsPhaseTest
+{
+    private String expectedPomFilename = "expected-pom.xml";
+
+    ReleasePhase getReleasePhase()
+        throws Exception
+    {
+        return (ReleasePhase) lookup( ReleasePhase.ROLE, "restore-backup-poms" );
+    }
+
+    public void testBasicPom()
+        throws Exception
+    {
+        String projectPath = "/projects/restore-backup-poms/basic-pom";
+
+        //copy poms so tests are valid without clean
+        File sourceDir = getTestFile( "src/test/resources" + projectPath );
+        File testDir = getTestFile( "target/test-classes" + projectPath );
+        FileUtils.copyDirectoryStructure( sourceDir, testDir );
+
+        String testPath = "target/test-classes" + projectPath;
+
+        runExecuteOnProjects( testPath );
+    }
+
+    public void testMultiModulePom()
+        throws Exception
+    {
+        String projectPath = "/projects/restore-backup-poms/pom-with-modules";
+
+        //copy poms so tests are valid without clean
+        File sourceDir = getTestFile( "src/test/resources" + projectPath );
+        File testDir = getTestFile( "target/test-classes" + projectPath );
+        FileUtils.copyDirectoryStructure( sourceDir, testDir );
+
+        String testPath = "target/test-classes" + projectPath;
+
+        runExecuteOnProjects( testPath );
+    }
+
+    private void runExecuteOnProjects( String path )
+        throws Exception
+    {
+        List projects = getReactorProjects( getTestPath( path ) );
+
+        phase.execute( null, null, projects );
+
+        testProjectIsRestored( projects );
+    }
+
+    private void testProjectIsRestored( List reactorProjects )
+        throws Exception
+    {
+        for( Iterator projects = reactorProjects.iterator(); projects.hasNext(); )
+        {
+            MavenProject project = (MavenProject) projects.next();
+
+            File pomFile = project.getFile();
+
+            File expectedFile = new File( pomFile.getParentFile(), expectedPomFilename );
+
+            assertTrue( "Check if expected file exists.", expectedFile.exists() );
+
+            String pomContents = FileUtils.fileRead( pomFile );
+
+            String expectedContents = FileUtils.fileRead( expectedFile );
+
+            assertTrue( "Check if pom and backup files are identical", pomContents.equals( expectedContents ) );
+        }
+    }
+}

Propchange: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RestoreBackupPomsPhaseTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/expected-backup.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/expected-backup.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/expected-backup.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/expected-backup.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,26 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/expected-backup.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,26 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/basic-pom/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/expected-backup.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/expected-backup.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/expected-backup.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/expected-backup.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,32 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <modules>
+    <module>subproject1</module>
+    <module>subproject2</module>
+  </modules>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/expected-backup.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,32 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <modules>
+    <module>subproject1</module>
+    <module>subproject2</module>
+  </modules>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/expected-backup.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/expected-backup.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/expected-backup.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/expected-backup.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,30 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject1</artifactId>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/expected-backup.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,30 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject1</artifactId>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject1/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/expected-backup.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/expected-backup.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/expected-backup.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/expected-backup.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,38 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject2</artifactId>
+
+  <dependencies>
+    <dependency>
+      <groupId>groupId</groupId>
+      <artifactId>subproject1</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/expected-backup.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,38 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject2</artifactId>
+
+  <dependencies>
+    <dependency>
+      <groupId>groupId</groupId>
+      <artifactId>subproject1</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/create-backup-poms/pom-with-modules/subproject2/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/expected-pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/expected-pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,26 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/expected-pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,26 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0</version>
+</project>
\ No newline at end of file

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml.releaseBackup
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml.releaseBackup?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml.releaseBackup (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/basic-pom/pom.xml.releaseBackup Fri Jan  5 01:18:54 2007
@@ -0,0 +1,26 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+</project>
\ No newline at end of file

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/expected-pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/expected-pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,32 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <modules>
+    <module>subproject1</module>
+    <module>subproject2</module>
+  </modules>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/expected-pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,32 @@
+<?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>
+  <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/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml.releaseBackup
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml.releaseBackup?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml.releaseBackup (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/pom.xml.releaseBackup Fri Jan  5 01:18:54 2007
@@ -0,0 +1,32 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>groupId</groupId>
+  <artifactId>artifactId</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <modules>
+    <module>subproject1</module>
+    <module>subproject2</module>
+  </modules>
+</project>

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/expected-pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/expected-pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,30 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject1</artifactId>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/expected-pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,30 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0</version>
+  </parent>
+
+  <artifactId>subproject1</artifactId>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml.releaseBackup
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml.releaseBackup?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml.releaseBackup (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject1/pom.xml.releaseBackup Fri Jan  5 01:18:54 2007
@@ -0,0 +1,30 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject1</artifactId>
+</project>

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/expected-pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/expected-pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/expected-pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/expected-pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,38 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject2</artifactId>
+
+  <dependencies>
+    <dependency>
+      <groupId>groupId</groupId>
+      <artifactId>subproject1</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/expected-pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml Fri Jan  5 01:18:54 2007
@@ -0,0 +1,38 @@
+<?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>
+  <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/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml.releaseBackup
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml.releaseBackup?view=auto&rev=492945
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml.releaseBackup (added)
+++ maven/release/trunk/maven-release-manager/src/test/resources/projects/restore-backup-poms/pom-with-modules/subproject2/pom.xml.releaseBackup Fri Jan  5 01:18:54 2007
@@ -0,0 +1,38 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>groupId</groupId>
+    <artifactId>artifactId</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>subproject2</artifactId>
+
+  <dependencies>
+    <dependency>
+      <groupId>groupId</groupId>
+      <artifactId>subproject1</artifactId>
+      <version>1.0</version>
+    </dependency>
+  </dependencies>
+</project>