diff options
author | 2017-09-14 19:06:32 +0200 | |
---|---|---|
committer | 2017-09-15 11:28:11 +0200 | |
commit | c60f973eeb1a0ed4faa35e50734de7e9d5248770 (patch) | |
tree | 9c3f4e5de9a3f5817720f7660c7df1657e386553 /src/main/java/com/google/devtools/build | |
parent | cd37941353fe59f50154840a97994666905c9d5d (diff) |
Remove unused late-bound attributes for target and execution platforms.
PiperOrigin-RevId: 168703757
Diffstat (limited to 'src/main/java/com/google/devtools/build')
3 files changed, 3 insertions, 47 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PlatformSemantics.java b/src/main/java/com/google/devtools/build/lib/analysis/PlatformSemantics.java index 45c967e551..bd3e89f97b 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/PlatformSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/PlatformSemantics.java @@ -15,65 +15,19 @@ package com.google.devtools.build.lib.analysis; import static com.google.devtools.build.lib.packages.Attribute.attr; -import static com.google.devtools.build.lib.packages.BuildType.LABEL; import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST; import com.google.common.collect.ImmutableList; -import com.google.devtools.build.lib.analysis.config.BuildConfiguration; -import com.google.devtools.build.lib.cmdline.Label; -import com.google.devtools.build.lib.packages.Attribute; -import com.google.devtools.build.lib.packages.AttributeMap; -import com.google.devtools.build.lib.packages.Rule; import com.google.devtools.build.lib.packages.RuleClass; -import java.util.List; -import javax.annotation.Nullable; /** Helper class to manage rules' use of platforms. */ public class PlatformSemantics { - public static final String TARGET_PLATFORMS_ATTR = ":target_platforms"; - public static final String EXECUTION_PLATFORM_ATTR = ":execution_platform"; public static final String TOOLCHAINS_ATTR = "$toolchains"; - /** Implementation for the :target_platform attribute. */ - public static final Attribute.LateBoundLabelList<BuildConfiguration> TARGET_PLATFORM = - new Attribute.LateBoundLabelList<BuildConfiguration>(PlatformConfiguration.class) { - @Override - public List<Label> resolve( - Rule rule, AttributeMap attributes, BuildConfiguration configuration) { - // rule may be null for tests - if (rule == null || rule.getRuleClassObject().getRequiredToolchains().isEmpty()) { - return ImmutableList.of(); - } - return configuration.getFragment(PlatformConfiguration.class).getTargetPlatforms(); - } - }; - - /** Implementation for the :execution_platform attribute. */ - @Nullable - public static final Attribute.LateBoundLabel<BuildConfiguration> EXECUTION_PLATFORM = - new Attribute.LateBoundLabel<BuildConfiguration>(PlatformConfiguration.class) { - @Override - public Label resolve(Rule rule, AttributeMap attributes, BuildConfiguration configuration) { - // rule may be null for tests - if (rule == null || rule.getRuleClassObject().getRequiredToolchains().isEmpty()) { - return null; - } - return configuration.getFragment(PlatformConfiguration.class).getExecutionPlatform(); - } - }; - public static RuleClass.Builder platformAttributes(RuleClass.Builder builder) { return builder .add( - attr(TARGET_PLATFORMS_ATTR, LABEL_LIST) - .value(TARGET_PLATFORM) - .nonconfigurable("Used in toolchain resolution")) - .add( - attr(EXECUTION_PLATFORM_ATTR, LABEL) - .value(EXECUTION_PLATFORM) - .nonconfigurable("Used in toolchain resolution")) - .add( attr(TOOLCHAINS_ATTR, LABEL_LIST) .nonconfigurable("Used in toolchain resolution") .value(ImmutableList.of())); diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java index 5d9e7b0d9d..922d542d35 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java @@ -383,7 +383,7 @@ public class BazelRuleClassProvider { @Override public ImmutableList<RuleSet> requires() { - return ImmutableList.of(CoreRules.INSTANCE); + return ImmutableList.of(CoreRules.INSTANCE, PLATFORM_RULES); } }; diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java index af897ee941..5d63a33650 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java @@ -39,6 +39,7 @@ import static com.google.devtools.build.lib.syntax.Type.STRING_LIST; import com.google.common.base.Predicates; import com.google.devtools.build.lib.analysis.BaseRuleClasses; +import com.google.devtools.build.lib.analysis.PlatformConfiguration; import com.google.devtools.build.lib.analysis.RuleDefinition; import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; @@ -140,6 +141,7 @@ public class BazelCppRuleClasses { attr(CcToolchain.CC_TOOLCHAIN_DEFAULT_ATTRIBUTE_NAME, LABEL) .value(CppRuleClasses.ccToolchainAttribute(env))) .setPreferredDependencyPredicate(Predicates.<String>or(CPP_SOURCE, C_SOURCE, CPP_HEADER)) + .requiresConfigurationFragments(PlatformConfiguration.class) .addRequiredToolchains(CppHelper.getCcToolchainType(env.getToolsRepository())) .build(); } |