annotate mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/FreeStyleCommand.java @ 854:3a418ac5ada1

Ability to run any hg command
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Tue, 08 Jul 2014 10:05:08 +0200
parents
children 771ae1b2f0b1
rev   line source
854
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
1 /*
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
2 * Copyright 2000-2014 JetBrains s.r.o.
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
3 *
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
4 * Licensed under the Apache License, Version 2.0 (the "License");
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
5 * you may not use this file except in compliance with the License.
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
6 * You may obtain a copy of the License at
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
7 *
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
8 * http://www.apache.org/licenses/LICENSE-2.0
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
9 *
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
10 * Unless required by applicable law or agreed to in writing, software
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
11 * distributed under the License is distributed on an "AS IS" BASIS,
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
13 * See the License for the specific language governing permissions and
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
14 * limitations under the License.
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
15 */
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
16
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
17 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
18
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
19 import jetbrains.buildServer.vcs.VcsException;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
20 import org.jetbrains.annotations.NotNull;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
21
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
22 import java.io.File;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
23
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
24 public class FreeStyleCommand extends BaseCommand {
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
25
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
26 private final String myCommand;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
27 private final String[] myArgs;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
28
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
29 public FreeStyleCommand(@NotNull CommandSettings commandSettings,
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
30 @NotNull String hgPath,
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
31 @NotNull File workingDir,
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
32 @NotNull String command,
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
33 @NotNull String... args) {
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
34 super(commandSettings, hgPath, workingDir);
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
35 myCommand = command;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
36 myArgs = args;
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
37 }
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
38
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
39
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
40 public CommandResult call() throws VcsException {
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
41 MercurialCommandLine cmd = createCommandLine();
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
42 cmd.addParameter(myCommand);
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
43 cmd.addParameters(myArgs);
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
44 return runCommand(cmd);
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
45 }
3a418ac5ada1 Ability to run any hg command
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff changeset
46 }