Skip to content

Commit 783c7fb

Browse files
authored
add shallow parameter to checkout mojo (#1264)
1 parent 24749dd commit 783c7fb

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import org.apache.maven.plugin.MojoExecutionException;
2727
import org.apache.maven.plugins.annotations.Mojo;
2828
import org.apache.maven.plugins.annotations.Parameter;
29+
import org.apache.maven.scm.CommandParameter;
30+
import org.apache.maven.scm.CommandParameters;
2931
import org.apache.maven.scm.ScmException;
3032
import org.apache.maven.scm.ScmFileSet;
3133
import org.apache.maven.scm.ScmResult;
@@ -71,6 +73,14 @@ public class CheckoutMojo extends AbstractScmMojo {
7173
@Parameter(property = "scmVersion")
7274
private String scmVersion;
7375

76+
/**
77+
* Currently only implemented with Git Executable. Perform a shallow checkout.
78+
*
79+
* @since 2.1.1
80+
*/
81+
@Parameter(property = "shallow", defaultValue = "false")
82+
private boolean shallow = false;
83+
7484
/**
7585
* allow extended mojo (ie BootStrap ) to see checkout result
7686
*/
@@ -116,7 +126,12 @@ protected ScmResult checkout() throws MojoExecutionException {
116126
if (useExport) {
117127
result = getScmManager().export(repository, fileSet, getScmVersion(scmVersionType, scmVersion));
118128
} else {
119-
result = getScmManager().checkOut(repository, fileSet, getScmVersion(scmVersionType, scmVersion));
129+
CommandParameters parameters = new CommandParameters();
130+
parameters.setString(CommandParameter.RECURSIVE, Boolean.toString(true));
131+
parameters.setString(CommandParameter.SHALLOW, Boolean.toString(shallow));
132+
result = getScmManager()
133+
.getProviderByRepository(repository)
134+
.checkOut(repository, fileSet, getScmVersion(scmVersionType, scmVersion), parameters);
120135
}
121136

122137
checkResult(result);

0 commit comments

Comments
 (0)