Repository: maven-scm Updated Branches: refs/heads/master bb100d251 -> 5415a7c0b
support TFS checkin-policies Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/53e7f3ee Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/53e7f3ee Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/53e7f3ee Branch: refs/heads/master Commit: 53e7f3ee19e2d1dc2b11edf13cdd00f32be9fc5b Parents: bb100d2 Author: OhadR <ohadr.develo...@gmail.com> Authored: Mon May 19 13:01:06 2014 +0300 Committer: Hervé Boutemy <hbout...@apache.org> Committed: Sun May 25 21:32:03 2014 +0200 ---------------------------------------------------------------------- .../apache/maven/scm/provider/tfs/TfsScmProvider.java | 4 +++- .../maven/scm/provider/tfs/TfsScmProviderRepository.java | 11 ++++++++++- .../scm/provider/tfs/command/TfsCheckInCommand.java | 11 ++++++++++- .../maven/scm/provider/tfs/command/TfsCommandTest.java | 3 ++- 4 files changed, 25 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-scm/blob/53e7f3ee/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProvider.java ---------------------------------------------------------------------- diff --git a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProvider.java b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProvider.java index ece4260..11052cf 100644 --- a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProvider.java +++ b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProvider.java @@ -130,7 +130,9 @@ public class TfsScmProvider password = ( delimPos < 0 ) ? null : usernamePassword.substring( delimPos + 1 ); } - return new TfsScmProviderRepository( tfsUrl, username, password, serverPath, workspace ); + boolean useCheckinPolicies = false; //ToDo: prase this indicator from the scmUrl + return new TfsScmProviderRepository( tfsUrl, username, password, serverPath, workspace, + useCheckinPolicies ); } protected ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet, http://git-wip-us.apache.org/repos/asf/maven-scm/blob/53e7f3ee/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProviderRepository.java ---------------------------------------------------------------------- diff --git a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProviderRepository.java index 2ed770a..d367a92 100644 --- a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProviderRepository.java +++ b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/TfsScmProviderRepository.java @@ -30,8 +30,11 @@ public class TfsScmProviderRepository private final String serverPath; private final String workspace; + + private final boolean useCheckinPolicies; - public TfsScmProviderRepository( String tfsUrl, String user, String password, String serverPath, String workspace ) + public TfsScmProviderRepository( String tfsUrl, String user, String password, String serverPath, String workspace, + boolean useCheckinPolicies) { super(); setUser( user ); @@ -39,6 +42,7 @@ public class TfsScmProviderRepository this.tfsUrl = tfsUrl; this.serverPath = serverPath; this.workspace = workspace; + this.useCheckinPolicies = useCheckinPolicies; } public String getTfsUrl() @@ -71,4 +75,9 @@ public class TfsScmProviderRepository } return userPassword; } + + public boolean isUseCheckinPolicies() + { + return useCheckinPolicies; + } } http://git-wip-us.apache.org/repos/asf/maven-scm/blob/53e7f3ee/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java ---------------------------------------------------------------------- diff --git a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java index d6fadc6..3fd8568 100644 --- a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java +++ b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java @@ -25,13 +25,13 @@ import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.checkin.AbstractCheckInCommand; import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.tfs.TfsScmProviderRepository; import org.apache.maven.scm.provider.tfs.command.consumer.ErrorStreamConsumer; import org.apache.maven.scm.provider.tfs.command.consumer.FileListConsumer; public class TfsCheckInCommand extends AbstractCheckInCommand { - protected CheckInScmResult executeCheckInCommand( ScmProviderRepository r, ScmFileSet f, String m, ScmVersion v ) throws ScmException { @@ -58,6 +58,15 @@ public class TfsCheckInCommand command.addArgument( "-comment:" + m + "" ); } command.addArgument( f ); + + TfsScmProviderRepository tfsScmProviderRepo = (TfsScmProviderRepository)r; + if(tfsScmProviderRepo.isUseCheckinPolicies()) + { + //handle TFS-policies (by adding "/override:";Auto-Build: Version Update";) + String policiesFix = "/override:checkin_policy"; + command.addArgument( policiesFix + ""); + } + return command; } http://git-wip-us.apache.org/repos/asf/maven-scm/blob/53e7f3ee/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/TfsCommandTest.java ---------------------------------------------------------------------- diff --git a/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/TfsCommandTest.java b/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/TfsCommandTest.java index c116fe6..689c778 100644 --- a/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/TfsCommandTest.java +++ b/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/TfsCommandTest.java @@ -32,7 +32,8 @@ public class TfsCommandTest protected TfsScmProviderRepository getScmProviderRepository() { - return new TfsScmProviderRepository( "http://tfsurl", "user", "password", "serverpath", "workspace" ); + return new TfsScmProviderRepository( "http://tfsurl", "user", "password", "serverpath", "workspace", + false); } protected String getFileList()