aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/config
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-02-02 15:52:22 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-02 15:53:55 -0800
commita56a6adf7c5d2829ea99f393f1a2d2d3d4488e0f (patch)
tree2a7ec0955afd09a9fb1d39801b85dca6c2567bba /src/main/java/com/google/devtools/build/lib/rules/config
parent64d9a4d6dcd720a3b7a60ff550a17a7707dd41d0 (diff)
Stop allowing generic LateBoundDefault value types. Such types are always either a Label or a List<Label>. We can easily enforce this through static type checking, so do it.
This will help with LateBoundDefault serialization, since we don't have to serialize an arbitrary object. PiperOrigin-RevId: 184347100
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/config')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java
index fb8c973973..45a7163f78 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigRuleClasses.java
@@ -28,7 +28,7 @@ import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.RuleDefinition;
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.packages.Attribute.LateBoundDefault;
+import com.google.devtools.build.lib.packages.Attribute.LabelListLateBoundDefault;
import com.google.devtools.build.lib.packages.AttributeMap;
import com.google.devtools.build.lib.packages.NonconfigurableAttributeMapper;
import com.google.devtools.build.lib.packages.RuleClass;
@@ -119,10 +119,9 @@ public class ConfigRuleClasses {
public static final String TARGET_PLATFORMS_ATTRIBUTE = ":target_platforms";
/** Implementation for the :target_platform attribute. */
- public static final LateBoundDefault<?, List<Label>> TARGET_PLATFORMS =
- LateBoundDefault.fromTargetConfiguration(
+ public static final LabelListLateBoundDefault<?> TARGET_PLATFORMS =
+ LabelListLateBoundDefault.fromTargetConfiguration(
PlatformConfiguration.class,
- ImmutableList.of(),
(rule, attributes, platformConfig) ->
ConfigSettingRule.getTargetPlatformsIfRelevant(attributes, platformConfig));