Mercurial > hg > mercurial
annotate mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ExtensionsWeaver.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 | 7bf4d943d5bb |
children |
rev | line source |
---|---|
774
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
1 /* |
976 | 2 * Copyright 2000-2018 JetBrains s.r.o. |
774
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
3 * |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
4 * Licensed under the Apache License, Version 2.0 (the "License"); |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
5 * you may not use this file except in compliance with the License. |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
6 * You may obtain a copy of the License at |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
7 * |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
8 * http://www.apache.org/licenses/LICENSE-2.0 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
9 * |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
10 * Unless required by applicable law or agreed to in writing, software |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
11 * distributed under the License is distributed on an "AS IS" BASIS, |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
13 * See the License for the specific language governing permissions and |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
14 * limitations under the License. |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
15 */ |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
16 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
17 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
18 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
19 import jetbrains.buildServer.buildTriggers.vcs.mercurial.Constants; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
20 import jetbrains.buildServer.util.StringUtil; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
21 import org.jetbrains.annotations.NotNull; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
22 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
23 /** |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
24 * Created 25.02.14 13:03 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
25 * |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
26 * @author Eugene Petrenko (eugene.petrenko@jetbrains.com) |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
27 */ |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
28 public class ExtensionsWeaver implements CommandSettingsWeaver { |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
29 @NotNull |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
30 public CommandSettings update(@NotNull HgVcsRoot root, @NotNull CommandSettings settings) { |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
31 String extensions = root.getProperty(Constants.HG_EXTENSIONS); |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
32 if (StringUtil.isEmpty(extensions)) return settings; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
33 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
34 for (String _line : extensions.split("[\\r\\n]+")) { |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
35 String line = _line.trim(); |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
36 if (line.isEmpty()) continue; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
37 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
38 if (!line.contains("=")) line += "="; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
39 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
40 settings = settings.withGlobalArguments("--config", "extensions." + line); |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
41 } |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
42 |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
43 return settings; |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
44 } |
ce67edf7bae9
allow to include hg extensions defined in VCS root
eugene.petrenko@jetbrains.com
parents:
diff
changeset
|
45 } |