aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2018-03-13 09:21:30 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-13 09:24:53 -0700
commit94830ffce692d923e73c03bfa1f6842115c02055 (patch)
treeaa3be6039b95370c797f88b55baadb213b1ee33a
parentfd017b692f649a233efc2b5ee3c7266472737fe6 (diff)
Add a helper method for checking whether toolchain resolution is enabled for a toolchain type.
Closes #4832. Change-Id: Ia4fce6dd7003dc441f81ea7ca65ce865ca222142 PiperOrigin-RevId: 188882041
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java6
4 files changed, 9 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java
index 7b94b9379d..b1d40f5be7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java
@@ -87,4 +87,8 @@ public class PlatformConfiguration extends BuildConfiguration.Fragment {
public List<Label> getEnabledToolchainTypes() {
return enabledToolchainTypes;
}
+
+ public boolean isToolchainTypeEnabled(Label toolchainType) {
+ return getEnabledToolchainTypes().contains(toolchainType);
+ }
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java b/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java
index d0d25b282a..ac468c0052 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/ToolchainType.java
@@ -78,8 +78,7 @@ public class ToolchainType implements RuleConfiguredTargetFactory {
== MakeVariableSource.TOOLCHAIN
&& ruleContext
.getFragment(PlatformConfiguration.class)
- .getEnabledToolchainTypes()
- .contains(ruleContext.getLabel())) {
+ .isToolchainTypeEnabled(ruleContext.getLabel())) {
ResolvedToolchainProviders providers =
(ResolvedToolchainProviders)
ruleContext.getToolchainContext().getResolvedToolchainProviders();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
index a62abb5a16..b901340569 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
@@ -675,9 +675,8 @@ public class CcToolchain implements RuleConfiguredTargetFactory {
PlatformConfiguration platformConfig =
Preconditions.checkNotNull(ruleContext.getFragment(PlatformConfiguration.class));
- if (!platformConfig
- .getEnabledToolchainTypes()
- .contains(CppHelper.getToolchainTypeFromRuleClass(ruleContext))) {
+ if (!platformConfig.isToolchainTypeEnabled(
+ CppHelper.getToolchainTypeFromRuleClass(ruleContext))) {
return null;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
index f3e22be1b8..deeca3e78b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
@@ -158,8 +158,7 @@ public class CppHelper {
== MakeVariableSource.TOOLCHAIN)
&& (ruleContext
.getFragment(PlatformConfiguration.class)
- .getEnabledToolchainTypes()
- .contains(toolchainType));
+ .isToolchainTypeEnabled(toolchainType));
}
/**
@@ -527,8 +526,7 @@ public class CppHelper {
if (toolchainType != null
&& ruleContext
.getFragment(PlatformConfiguration.class)
- .getEnabledToolchainTypes()
- .contains(toolchainType)) {
+ .isToolchainTypeEnabled(toolchainType)) {
return getToolchainFromPlatformConstraints(ruleContext, toolchainType);
}
return getToolchainFromCrosstoolTop(ruleContext, dep);