aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Vladimir Moskva <vladmos@google.com>2016-11-23 19:03:38 +0000
committerGravatar Klaus Aehlig <aehlig@google.com>2016-11-23 19:14:42 +0000
commit5a51077d061455503e0fdabf4d92603e402c97d1 (patch)
treea45cac80721c90e202cc453c485c40d00c202636 /src/main/java
parent4c67807964e37cfd55bbcda4c6374fcc480bcecc (diff)
Implement cfg="target" parameter for labels
-- MOS_MIGRATED_REVID=140051032
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkAttr.java13
1 files changed, 7 insertions, 6 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 7d93d78dc3..855e06f35a 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
@@ -91,8 +91,8 @@ public final class SkylarkAttr {
private static final String CONFIGURATION_ARG = "cfg";
private static final String CONFIGURATION_DOC =
- "configuration of the attribute. It can be either \"data\" or \"host\". This parameter is "
- + "required if <code>executable</code> is True.";
+ "configuration of the attribute. It can be either \"data\", \"host\", or \"target\". "
+ + "This parameter is required if <code>executable</code> is True.";
private static final String DEFAULT_ARG = "default";
private static final String DEFAULT_DOC = "the default value of the attribute.";
@@ -203,8 +203,8 @@ public final class SkylarkAttr {
if (containsNonNoneKey(arguments, EXECUTABLE_ARG) && (Boolean) arguments.get(EXECUTABLE_ARG)) {
builder.setPropertyFlag("EXECUTABLE");
if (!containsNonNoneKey(arguments, CONFIGURATION_ARG)) {
- String message = "Argument `cfg = \"host\"` or `cfg = \"data\"` is required if "
- + "`executable = True` is provided for a label. Please see "
+ String message = "Argument `cfg = \"host\"`, `cfg = \"data\"`, or `cfg = \"target\"` "
+ + "is required if `executable = True` is provided for a label. Please see "
+ "https://www.bazel.build/versions/master/docs/skylark/rules.html#configurations "
+ "for more details.";
env.handleEvent(Event.warn(loc, message));
@@ -281,8 +281,9 @@ public final class SkylarkAttr {
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'.");
+ } else if (!trans.equals("target")) {
+ throw new EvalException(ast.getLocation(),
+ "cfg must be either 'data', 'host', or 'target'.");
}
}
return builder;