From ecbab79b7bc982e5b60b09203607ab6a4d066294 Mon Sep 17 00:00:00 2001 From: hlopko Date: Mon, 16 Apr 2018 04:24:02 -0700 Subject: Push using ruleContext.getDisabledFeatures() outside of creating FeatureConfiguration The goal is to enable creation of feature configuration without the rule context. This will enable us to have cleaner API for this in Skylark. RELNOTES: None PiperOrigin-RevId: 193017868 --- src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java | 2 +- src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java | 3 +-- .../com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java | 1 + .../google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/google') diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java index 5e79a11e18..5a562a31d4 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java @@ -223,7 +223,7 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory { linkStaticness == LinkStaticness.DYNAMIC ? DYNAMIC_LINKING_MODE : STATIC_LINKING_MODE), - /* unsupportedFeatures= */ ImmutableSet.of(), + /* unsupportedFeatures= */ ruleContext.getDisabledFeatures(), ccToolchain); CcCompilationHelper compilationHelper = diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java index ddb240bf5a..be73f56cda 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java @@ -707,7 +707,6 @@ public final class CcCommon { ImmutableSet.Builder allRequestedFeaturesBuilder = ImmutableSet.builder(); ImmutableSet.Builder unsupportedFeaturesBuilder = ImmutableSet.builder(); unsupportedFeaturesBuilder.addAll(unsupportedFeatures); - unsupportedFeaturesBuilder.addAll(ruleContext.getDisabledFeatures()); if (!toolchain.supportsHeaderParsing()) { // TODO(bazel-team): Remove once supports_header_parsing has been removed from the // cc_toolchain rule. @@ -837,7 +836,7 @@ public final class CcCommon { return configureFeatures( ruleContext, /* requestedFeatures= */ ImmutableSet.of(), - /* unsupportedFeatures= */ ImmutableSet.of(), + /* unsupportedFeatures= */ ruleContext.getDisabledFeatures(), toolchain); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java index 3d5adfc97d..f1f861f59e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java @@ -220,6 +220,7 @@ public abstract class CcProtoAspect extends NativeAspectClass implements Configu private FeatureConfiguration getFeatureConfiguration(SupportData supportData) { ImmutableSet.Builder requestedFeatures = new ImmutableSet.Builder<>(); ImmutableSet.Builder unsupportedFeatures = new ImmutableSet.Builder<>(); + unsupportedFeatures.addAll(ruleContext.getDisabledFeatures()); unsupportedFeatures.add(CppRuleClasses.PARSE_HEADERS); unsupportedFeatures.add(CppRuleClasses.LAYERING_CHECK); if (!areSrcsBlacklisted() && supportData.hasProtoSources()) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java index 5121bd1752..c21de88a2d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java @@ -222,7 +222,7 @@ public abstract class NativeDepsHelper { CcCommon.configureFeatures( ruleContext, /* requestedFeatures= */ ImmutableSet.of(STATIC_LINKING_MODE), - /* unsupportedFeatures= */ ImmutableSet.of(), + /* unsupportedFeatures= */ ruleContext.getDisabledFeatures(), toolchain); CppLinkActionBuilder builder = new CppLinkActionBuilder( -- cgit v1.2.3