changeset 821:118f8f082ab9

add more parameters for CommandSettings
author eugene.petrenko@jetbrains.com
date Fri, 30 May 2014 11:29:43 +0200
parents 121a54182f5b
children 6d2daae963b8
files mercurial-agent/src/META-INF/build-agent-plugin-mercurial.xml mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandSettings.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandlineViaFileWrapperWeaver.java mercurial-server/src/META-INF/build-server-plugin-mercurial.xml
diffstat 4 files changed, 54 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-agent/src/META-INF/build-agent-plugin-mercurial.xml	Fri May 30 11:22:57 2014 +0200
+++ b/mercurial-agent/src/META-INF/build-agent-plugin-mercurial.xml	Fri May 30 11:29:43 2014 +0200
@@ -29,4 +29,5 @@
 
   <bean class="jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandSettingsForRootImpl"/>
   <bean class="jetbrains.buildServer.buildTriggers.vcs.mercurial.command.ExtensionsWeaver"/>
+  <bean class="jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandlineViaFileWrapperWeaver"/>
 </beans>
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandSettings.java	Fri May 30 11:22:57 2014 +0200
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandSettings.java	Fri May 30 11:29:43 2014 +0200
@@ -16,6 +16,7 @@
 
 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;
 
+import jetbrains.buildServer.buildTriggers.vcs.mercurial.OS;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.*;
@@ -35,6 +36,23 @@
   private int myExceptionOutputLimit = 5000;
   private List<String> myGlobalArguments = new ArrayList<String>(0);
   private ProgressParser.ProgressConsumer myProgressConsumer;
+  private boolean myUseCommandlineViaFileWrapper = false;
+
+  public int getMaxCommandLineSize() {
+    return getUseCommandlineViaFileWrapper()
+            ? Integer.MAX_VALUE
+            : OS.getMaxCommandLineSize();
+  }
+
+  public boolean getUseCommandlineViaFileWrapper() {
+    return myUseCommandlineViaFileWrapper;
+  }
+
+  @NotNull
+  public CommandSettings setUseCommandlineViaFileWrapper(final boolean useCommandlineViaFileWrapper) {
+    myUseCommandlineViaFileWrapper = useCommandlineViaFileWrapper;
+    return this;
+  }
 
   public CommandSettings setTimeout(int timeout) {
     myTimeout = timeout;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandlineViaFileWrapperWeaver.java	Fri May 30 11:29:43 2014 +0200
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed 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.
+ */
+
+package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;
+
+import jetbrains.buildServer.buildTriggers.vcs.mercurial.Constants;
+import jetbrains.buildServer.util.StringUtil;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Created 30.05.2014 11:26
+ *
+ * @author Eugene Petrenko (eugene.petrenko@jetbrains.com)
+ */
+public class CommandlineViaFileWrapperWeaver implements CommandSettingsWeaver {
+  @NotNull
+  public CommandSettings update(@NotNull HgVcsRoot root, @NotNull CommandSettings settings) {
+    final String pass = root.getProperty(Constants.HG_COMMANDLINE_VIA_FILE);
+    return settings.setUseCommandlineViaFileWrapper(!StringUtil.isEmpty(pass));
+  }
+}
--- a/mercurial-server/src/META-INF/build-server-plugin-mercurial.xml	Fri May 30 11:22:57 2014 +0200
+++ b/mercurial-server/src/META-INF/build-server-plugin-mercurial.xml	Fri May 30 11:29:43 2014 +0200
@@ -34,6 +34,7 @@
 
   <bean class="jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandSettingsForRootImpl"/>
   <bean class="jetbrains.buildServer.buildTriggers.vcs.mercurial.command.ExtensionsWeaver"/>
+  <bean class="jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandlineViaFileWrapperWeaver"/>
 
   <bean class="jetbrains.buildServer.buildTriggers.vcs.mercurial.MercurialFetchService"/>
 </beans>