[MRELEASE-1099] Use shallow checkout/clone during release:perform
This closes #139
diff --git a/maven-release-manager/src/main/mdo/release-descriptor.mdo b/maven-release-manager/src/main/mdo/release-descriptor.mdo
index 92f64ee..0a1d8cd 100644
--- a/maven-release-manager/src/main/mdo/release-descriptor.mdo
+++ b/maven-release-manager/src/main/mdo/release-descriptor.mdo
@@ -941,6 +941,10 @@
{
return false;
}
+ if ( !java.util.Objects.equals( scmShallowClone, that.isScmShallowClone() ) )
+ {
+ return false;
+ }
if ( !java.util.Objects.equals( scmReleaseCommitComment, that.getScmReleaseCommitComment() ) )
{
return false;
@@ -1087,6 +1091,7 @@
result = 29 * result + java.util.Objects.hashCode( pomFileName );
result = 29 * result + java.util.Objects.hashCode( checkModificationExcludes );
result = 29 * result + java.util.Objects.hashCode( scmDevelopmentCommitComment );
+ result = 29 * result + java.util.Objects.hashCode( scmShallowClone );
result = 29 * result + java.util.Objects.hashCode( scmReleaseCommitComment );
result = 29 * result + java.util.Objects.hashCode( scmBranchCommitComment );
result = 29 * result + java.util.Objects.hashCode( scmRollbackCommitComment );
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
index aa6ac09..7994e2a 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java
@@ -101,6 +101,12 @@
private String password;
/**
+ * When cloning a repository if it should be a shallow clone or a full clone.
+ */
+ @Parameter( defaultValue = "true", property = "scmShallowClone" )
+ private boolean scmShallowClone = true;
+
+ /**
* Whether to use the default release profile (Maven 2 and 3) that adds sources and javadocs to the released
* artifact, if appropriate. If set to true, the release plugin sets the property "<code>performRelease</code>" to
* true, which activates the profile "<code>release-profile</code>" as inherited from
@@ -183,6 +189,8 @@
releaseDescriptor.setScmPassword( password );
}
+ releaseDescriptor.setScmShallowClone( scmShallowClone );
+
releaseDescriptor.setLocalCheckout( localCheckout );
releaseDescriptor.setCheckoutDirectory( workingDirectory.getAbsolutePath() );