diff options
author | 2018-03-13 09:21:30 -0700 | |
---|---|---|
committer | 2018-03-13 09:24:53 -0700 | |
commit | 94830ffce692d923e73c03bfa1f6842115c02055 (patch) | |
tree | aa3be6039b95370c797f88b55baadb213b1ee33a | |
parent | fd017b692f649a233efc2b5ee3c7266472737fe6 (diff) |
Add a helper method for checking whether toolchain resolution is enabled for a toolchain type.
Closes #4832.
Change-Id: Ia4fce6dd7003dc441f81ea7ca65ce865ca222142
PiperOrigin-RevId: 188882041
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); |