aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
diff options
context:
space:
mode:
authorGravatar Yun Peng <pcloudy@google.com>2017-07-28 10:22:57 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-07-31 16:05:56 +0200
commitc2c938ae2e75b5b881f06b18cce86dc87bae6fe6 (patch)
tree391b596c7ef66eeac9a0ef864f112bc6eb0f09c3 /src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
parent639bba946ea01f5cf0a2cdb51c46012a602814a1 (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.java16
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;
}