aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-07-03 07:15:31 -0400
committerGravatar John Cater <jcater@google.com>2017-07-05 10:56:31 -0400
commit40ddec31e4e45e69968f1b12af446342cb38f28a (patch)
tree94f1a88e4f31fa4bb302b0af47f431876eec5bfb /src/main/java/com/google/devtools/build/lib/rules
parent71d1bbefcaa34c697db4166b7ba01970c15206a9 (diff)
Migrate tests to ctx.actions.run/run_shell.
RELNOTES: None. PiperOrigin-RevId: 160817326
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkActionFactory.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java6
2 files changed, 11 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkActionFactory.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkActionFactory.java
index fb85a7e2e5..2fad61119a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkActionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkActionFactory.java
@@ -514,7 +514,6 @@ public class SkylarkActionFactory implements SkylarkValue {
context.checkMutable("actions.run_shell");
// TODO(bazel-team): builder still makes unnecessary copies of inputs, outputs and args.
- boolean hasCommand = true;
SpawnAction.Builder builder = new SpawnAction.Builder();
if (arguments.size() > 0) {
// When we use a shell command, add an empty argument before other arguments.
@@ -523,7 +522,10 @@ public class SkylarkActionFactory implements SkylarkValue {
// arg1 and arg2 will be $1 and $2, as a user expects.
builder.addArgument("");
}
- builder.addArguments(arguments.getContents(String.class, "arguments"));
+
+ @SuppressWarnings("unchecked")
+ List<String> argumentsContents = arguments.getContents(String.class, "arguments");
+ builder.addArguments(argumentsContents);
if (commandUnchecked instanceof String) {
builder.setShellCommand((String) commandUnchecked);
@@ -532,7 +534,9 @@ public class SkylarkActionFactory implements SkylarkValue {
if (commandList.size() < 3) {
throw new EvalException(null, "'command' list has to be of size at least 3");
}
- builder.setShellCommand(commandList.getContents(String.class, "command"));
+ @SuppressWarnings("unchecked")
+ List<String> command = commandList.getContents(String.class, "command");
+ builder.setShellCommand(command);
} else {
throw new EvalException(
null,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
index 943906d9a8..1be40eb9d4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java
@@ -72,8 +72,10 @@ public class SkylarkRuleImplementationFunctions {
@SkylarkSignature(
name = "action",
doc =
- "Creates an action that runs an executable or a shell command. You must specify either "
- + "<code>command</code> or <code>executable</code>.\n"
+ "DEPRECATED. Use <a href=\"acttions.html#run\">ctx.actions.run()</a> or"
+ + " <a href=\"acttions.html#run_shell\">ctx.actions.run_shell()</a>. <br>"
+ + "Creates an action that runs an executable or a shell command."
+ + " You must specify either <code>command</code> or <code>executable</code>.\n"
+ "Actions and genrules are very similar, but have different use cases. Actions are "
+ "used inside rules, and genrules are used inside macros. Genrules also have make "
+ "variable expansion.",