aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java18
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java19
2 files changed, 28 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java
index 5b0fd57988..b1e627de80 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java
@@ -87,7 +87,7 @@ public final class SkylarkAttr {
private static final String CONFIGURATION_ARG = "cfg";
private static final String CONFIGURATION_DOC =
- "configuration of the attribute. For example, use DATA_CFG or HOST_CFG.";
+ "configuration of the attribute. It can be either \"data\" or \"host\".";
private static final String DEFAULT_ARG = "default";
private static final String DEFAULT_DOC = "the default value of the attribute.";
@@ -219,7 +219,17 @@ public final class SkylarkAttr {
}
if (containsNonNoneKey(arguments, CONFIGURATION_ARG)) {
- builder.cfg((ConfigurationTransition) arguments.get(CONFIGURATION_ARG));
+ Object trans = arguments.get(CONFIGURATION_ARG);
+ if (trans instanceof ConfigurationTransition) {
+ // TODO(laurentlb): Deprecated, to be removed in August 2016.
+ builder.cfg((ConfigurationTransition) trans);
+ } else if (trans.equals("data")) {
+ builder.cfg(ConfigurationTransition.DATA);
+ } else if (trans.equals("host")) {
+ builder.cfg(ConfigurationTransition.HOST);
+ } else {
+ throw new EvalException(ast.getLocation(), "cfg must be either 'data' or 'host'.");
+ }
}
return builder;
}
@@ -474,7 +484,7 @@ public final class SkylarkAttr {
),
@Param(
name = CONFIGURATION_ARG,
- type = ConfigurationTransition.class,
+ type = Object.class,
noneable = true,
defaultValue = "None",
named = true,
@@ -691,7 +701,7 @@ public final class SkylarkAttr {
),
@Param(
name = CONFIGURATION_ARG,
- type = ConfigurationTransition.class,
+ type = Object.class,
noneable = true,
defaultValue = "None",
named = true,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
index 400af91b50..c7c8b01586 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
@@ -99,13 +99,22 @@ import java.util.concurrent.ExecutionException;
*/
public class SkylarkRuleClassFunctions {
- //TODO(bazel-team): proper enum support
- @SkylarkSignature(name = "DATA_CFG", returnType = ConfigurationTransition.class,
- doc = "Experimental. Specifies a transition to the data configuration.")
+ @SkylarkSignature(
+ name = "DATA_CFG",
+ returnType = ConfigurationTransition.class,
+ doc =
+ "Deprecated. Use string \"data\" instead. "
+ + "Specifies a transition to the data configuration."
+ )
private static final Object dataTransition = ConfigurationTransition.DATA;
- @SkylarkSignature(name = "HOST_CFG", returnType = ConfigurationTransition.class,
- doc = "Specifies a transition to the host configuration.")
+ @SkylarkSignature(
+ name = "HOST_CFG",
+ returnType = ConfigurationTransition.class,
+ doc =
+ "Deprecated. Use string \"host\" instead. "
+ + "Specifies a transition to the host configuration."
+ )
private static final Object hostTransition = ConfigurationTransition.HOST;
// TODO(bazel-team): Copied from ConfiguredRuleClassProvider for the transition from built-in