aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
diff options
context:
space:
mode:
authorGravatar gregce <gregce@google.com>2018-01-29 13:52:40 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-29 13:54:29 -0800
commite046d3a301c328cb5621d715545a996f86685b82 (patch)
tree04dfdd3e5dd37730ac238b13069b0647e5a8c688 /src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
parent29f2ba82ca7581a68b4cc760d15fc9f89b0ea9b9 (diff)
Add alternative interface for LIPO data transitions, opt in native rules.
This removes the need for ConfigurationTransitionProxy.DATA by providing a way for the C++ rule defs to directly inject the transition for all rules to use. Skylark attributes work differently, so they'll be addressed in another change. PiperOrigin-RevId: 183721293
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
index 269e2451ab..2fbf670d8d 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.analysis;
-import static com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransitionProxy.DATA;
import static com.google.devtools.build.lib.packages.Attribute.attr;
import static com.google.devtools.build.lib.packages.BuildType.DISTRIBUTIONS;
import static com.google.devtools.build.lib.packages.BuildType.LABEL;
@@ -154,7 +153,11 @@ public class BaseRuleClasses {
// The target itself and run_under both run on the same machine. We use the DATA config
// here because the run_under acts like a data dependency (e.g. no LIPO optimization).
- .add(attr(":run_under", LABEL).cfg(DATA).value(RUN_UNDER).skipPrereqValidatorCheck())
+ .add(
+ attr(":run_under", LABEL)
+ .cfg(env.getLipoDataTransition())
+ .value(RUN_UNDER)
+ .skipPrereqValidatorCheck())
.build();
}
@@ -328,7 +331,7 @@ public class BaseRuleClasses {
public RuleClass build(Builder builder, RuleDefinitionEnvironment env) {
return builder
.add(attr("deps", LABEL_LIST).legacyAllowAnyFileType())
- .add(attr("data", LABEL_LIST).cfg(DATA)
+ .add(attr("data", LABEL_LIST).cfg(env.getLipoDataTransition())
.allowedFileTypes(FileTypeSet.ANY_FILE)
.dontCheckConstraints())
.build();