annotate mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandSettings.java @ 999:1b1cc811e1b6 Jaipur-2018.1.x

Jaipur-2018.1.x branch created
author pavel.sher
date Thu, 21 Jun 2018 17:37:32 +0200
parents c515b69b90fd
children 17bd4181c476
rev   line source
732
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
1 /*
976
7bf4d943d5bb Update copyright
pavel.sher
parents: 883
diff changeset
2 * Copyright 2000-2018 JetBrains s.r.o.
732
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
3 *
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
4 * Licensed under the Apache License, Version 2.0 (the "License");
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
5 * you may not use this file except in compliance with the License.
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
6 * You may obtain a copy of the License at
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
7 *
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
8 * http://www.apache.org/licenses/LICENSE-2.0
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
9 *
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
10 * Unless required by applicable law or agreed to in writing, software
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
11 * distributed under the License is distributed on an "AS IS" BASIS,
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
13 * See the License for the specific language governing permissions and
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
14 * limitations under the License.
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
15 */
31a1aca3305c Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 679
diff changeset
16
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
17 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
18
883
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
19 import jetbrains.buildServer.buildTriggers.vcs.mercurial.MercurialProgress;
821
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
20 import jetbrains.buildServer.buildTriggers.vcs.mercurial.OS;
996
c515b69b90fd make default execution timeout configurable
pavel.sher
parents: 976
diff changeset
21 import jetbrains.buildServer.serverSide.TeamCityProperties;
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
22 import org.jetbrains.annotations.NotNull;
883
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
23 import org.jetbrains.annotations.Nullable;
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
24
773
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
25 import java.util.*;
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
26
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
27 /**
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
28 * @author dmitry.neverov
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
29 */
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
30 public class CommandSettings {
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
31
996
c515b69b90fd make default execution timeout configurable
pavel.sher
parents: 976
diff changeset
32 private int myTimeout = TeamCityProperties.getInteger("teamcity.hg.command.defaultExecutionTimeout", 3600);
773
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
33 private final Set<String> myPrivateData = new HashSet<String>();
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
34 private boolean myCheckForFailure = true;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
35 private boolean myFailWhenStderrNotEmpty = false;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
36 private String myLogLevel = "debug";
493
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
37 private Map<String, String> myHgEnv = new HashMap<String, String>();
578
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
38 private int myLogOutputLimit = -1;
679
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
39 private int myExceptionOutputLimit = 5000;
773
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
40 private List<String> myGlobalArguments = new ArrayList<String>(0);
821
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
41 private boolean myUseCommandlineViaFileWrapper = false;
883
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
42 private MercurialProgress myProgress = MercurialProgress.NO_OP;
821
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
43
828
8d02c7b1f812 use HG extension to pass infinite commandline arguments list
eugene.petrenko@jetbrains.com
parents: 821
diff changeset
44 public final int getMaxCommandLineSize() {
852
d746a9351572 Fix command line lenght limit
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 828
diff changeset
45 return myUseCommandlineViaFileWrapper ? Integer.MAX_VALUE : OS.getMaxCommandLineSize();
821
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
46 }
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
47
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
48 public boolean getUseCommandlineViaFileWrapper() {
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
49 return myUseCommandlineViaFileWrapper;
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
50 }
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
51
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
52 @NotNull
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
53 public CommandSettings setUseCommandlineViaFileWrapper(final boolean useCommandlineViaFileWrapper) {
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
54 myUseCommandlineViaFileWrapper = useCommandlineViaFileWrapper;
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
55 return this;
118f8f082ab9 add more parameters for CommandSettings
eugene.petrenko@jetbrains.com
parents: 799
diff changeset
56 }
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
57
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
58 public CommandSettings setTimeout(int timeout) {
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
59 myTimeout = timeout;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
60 return this;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
61 }
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
62
773
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
63 @NotNull
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
64 public List<String> getGlobalArguments() {
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
65 return myGlobalArguments;
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
66 }
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
67
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
68 @NotNull
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
69 public CommandSettings withGlobalArguments(@NotNull String... argz) {
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
70 myGlobalArguments.addAll(Arrays.asList(argz));
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
71 return this;
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
72 }
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
73
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
74 public int getTimeout() {
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
75 return myTimeout;
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
76 }
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
77
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
78 public CommandSettings setPrivateData(@NotNull Set<String> privateData) {
773
bb37c581f463 use same way to run every command
eugene.petrenko@jetbrains.com
parents: 732
diff changeset
79 myPrivateData.addAll(privateData);
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
80 return this;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
81 }
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
82
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
83 @NotNull
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
84 public Set<String> getPrivateData() {
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
85 return myPrivateData;
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
86 }
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
87
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
88 public CommandSettings setCheckForFailure(boolean checkForFailure) {
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
89 myCheckForFailure = checkForFailure;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
90 return this;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
91 }
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
92
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
93 public boolean isCheckForFailure() {
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
94 return myCheckForFailure;
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
95 }
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
96
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
97 public CommandSettings setFailWhenStderrNotEmpty(boolean failWhenStderrNotEmpty) {
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
98 myFailWhenStderrNotEmpty = failWhenStderrNotEmpty;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
99 return this;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
100 }
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
101
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
102 public boolean isFailWithNonEmptyStderr() {
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
103 return myFailWhenStderrNotEmpty;
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
104 }
480
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
105
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
106 public CommandSettings setLogLevel(String logLevel) {
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
107 myLogLevel = logLevel;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
108 return this;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
109 }
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
110
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
111 public String getLogLevel() {
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
112 return myLogLevel;
efba721f9a1d TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 367
diff changeset
113 }
493
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
114
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
115 public CommandSettings addHgEnv(@NotNull String param, @NotNull String value) {
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
116 myHgEnv.put(param, value);
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
117 return this;
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
118 }
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
119
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
120 public Map<String, String> getHgEnv() {
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
121 return myHgEnv;
236d0866a45f Make tests independent from mercurial settings on agent
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 480
diff changeset
122 }
578
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
123
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
124 public int getLogOutputLimit() {
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
125 return myLogOutputLimit;
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
126 }
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
127
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
128 public CommandSettings setLogOutputLimit(int logOutputLimit) {
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
129 myLogOutputLimit = logOutputLimit;
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
130 return this;
40c085517770 Truncate command output in the logs
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 493
diff changeset
131 }
679
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
132
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
133 public int getExceptionOutputLimit() {
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
134 return myExceptionOutputLimit;
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
135 }
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
136
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
137 public void setExceptionOutputLimit(int limit) {
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
138 myExceptionOutputLimit = limit;
1da36037196d TW-30905 include stderr into VcsException messages, so it is shown in a build log
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 578
diff changeset
139 }
799
b130c7d27c02 Report clone/pull progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 773
diff changeset
140
883
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
141 @Nullable
799
b130c7d27c02 Report clone/pull progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 773
diff changeset
142 public ProgressParser.ProgressConsumer getProgressConsumer() {
883
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
143 if (myProgress == MercurialProgress.NO_OP)
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
144 return null;
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
145 return new ProgressParser.ProgressConsumer() {
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
146 public void consume(float progress, @NotNull String stage) {
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
147 myProgress.reportProgress(progress, stage);
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
148 }
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
149 };
799
b130c7d27c02 Report clone/pull progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 773
diff changeset
150 }
b130c7d27c02 Report clone/pull progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 773
diff changeset
151
883
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
152 @NotNull
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
153 public MercurialProgress getProgress() {
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
154 return myProgress;
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
155 }
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
156
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
157 public void setProgress(@NotNull MercurialProgress progress) {
39ff04730ccc Report more vcs operation progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 852
diff changeset
158 myProgress = progress;
799
b130c7d27c02 Report clone/pull progress
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents: 773
diff changeset
159 }
367
061e5f3a6bad Make plugin compatible with mercurial 2.1
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
160 }