diff options
author | Yun Peng <pcloudy@google.com> | 2017-07-28 10:22:57 +0200 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-07-31 16:05:56 +0200 |
commit | c2c938ae2e75b5b881f06b18cce86dc87bae6fe6 (patch) | |
tree | 391b596c7ef66eeac9a0ef864f112bc6eb0f09c3 /src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java | |
parent | 639bba946ea01f5cf0a2cdb51c46012a602814a1 (diff) |
Apply native binary launcher to sh_binary
This change:
1. Added launcher to @bazel_tools
If the host platform is Windows, we use a prebuilt launcher.exe
, otherwise the launcher needs to be built with MSVC first.
2. Launching sh_binary using native launcher.
Change-Id: I5a63135455057fbfe04ff0cce7ec7994ef0c347a
PiperOrigin-RevId: 163442540
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java index 42826523e1..2d13abd9ec 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java @@ -227,11 +227,19 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { registeredSkylarkProviders = ImmutableBiMap.builder(); private Map<String, String> platformRegexps = new TreeMap<>(); + // TODO(pcloudy): Remove this field after Bazel rule definitions are not used internally. + private String nativeLauncherLabel; + public Builder setProductName(String productName) { this.productName = productName; return this; } + public Builder setNativeLauncherLabel(String label) { + this.nativeLauncherLabel = label; + return this; + } + public void addWorkspaceFilePrefix(String contents) { defaultWorkspaceFilePrefix.append(contents); } @@ -455,6 +463,14 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider { } @Override + public Label getLauncherLabel() { + if (nativeLauncherLabel == null) { + return null; + } + return getToolsLabel(nativeLauncherLabel); + } + + @Override public String getToolsRepository() { return toolsRepository; } |