diff --git a/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java b/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java
index 4bbf82486e..b0eaf38393 100644
--- a/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java
+++ b/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java
@@ -62,6 +62,8 @@ public class PrepareReleaseMojo
private static final String SNAPSHOT = "-SNAPSHOT";
+ private String projectVersion;
+
protected void executeTask()
throws MojoExecutionException
{
@@ -71,7 +73,7 @@ protected void executeTask()
transformPom();
- //commit();
+ //checkin();
tag();
}
@@ -175,7 +177,8 @@ private void transformPom()
}
//Rewrite project version
- model.setVersion( model.getVersion().substring( 0, model.getVersion().length() - SNAPSHOT.length() ) );
+ projectVersion = model.getVersion().substring( 0, model.getVersion().length() - SNAPSHOT.length() );
+ model.setVersion( projectVersion );
//Rewrite parent version
if ( project.hasParent() )
@@ -240,6 +243,19 @@ private void transformPom()
}
}
+ private void checkin()
+ throws MojoExecutionException
+ {
+ try
+ {
+ getScm().checkin( "[maven-release-plugin] prepare release " + projectVersion, "pom.xml", null );
+ }
+ catch ( Exception e )
+ {
+ throw new MojoExecutionException( "An error is occurred in the tag process.", e );
+ }
+ }
+
private void tag()
throws MojoExecutionException
{
diff --git a/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/scm/ScmBean.java b/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/scm/ScmBean.java
index e698c30953..61e6688661 100644
--- a/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/scm/ScmBean.java
+++ b/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/scm/ScmBean.java
@@ -17,11 +17,12 @@
* ====================================================================
*/
-import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFile;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+import org.apache.maven.scm.command.checkin.CheckInScmResult;
import org.apache.maven.scm.command.checkout.CheckOutScmResult;
import org.apache.maven.scm.command.status.StatusScmResult;
import org.apache.maven.scm.command.tag.TagScmResult;
@@ -42,7 +43,7 @@
*
* @author Brett Porter
* @author Emmanuel Venisse
- * @version $Id: DoxiaMojo.java 169372 2005-05-09 22:47:34Z evenisse $
+ * @version $Id: DoxiaMojo.java 169372 2005-05-09 22:47:34Z evenisse $
*/
public class ScmBean
{
@@ -154,10 +155,10 @@ public void update()
checkResult( result );
}
- public List getStatus()
- throws ScmException
- {
- List changedFiles;
+ public List getStatus()
+ throws ScmException
+ {
+ List changedFiles;
ScmRepository repository = getScmRepository();
@@ -168,8 +169,19 @@ public List getStatus()
changedFiles = result.getChangedFiles();
- return changedFiles;
- }
+ return changedFiles;
+ }
+
+ public void checkin( String message, String includes, String excludes )
+ throws Exception
+ {
+ ScmRepository repository = getScmRepository();
+
+ CheckInScmResult result = getScmManager().checkIn( repository,
+ new ScmFileSet( new File( workingDirectory ), includes, excludes ),
+ tag, message );
+ checkResult( result );
+ }
public void tag()
throws ScmException