diff options
author | dslomov <dslomov@google.com> | 2017-07-03 07:15:31 -0400 |
---|---|---|
committer | John Cater <jcater@google.com> | 2017-07-05 10:56:31 -0400 |
commit | 40ddec31e4e45e69968f1b12af446342cb38f28a (patch) | |
tree | 94f1a88e4f31fa4bb302b0af47f431876eec5bfb /src/main/java/com/google/devtools/build/lib/rules | |
parent | 71d1bbefcaa34c697db4166b7ba01970c15206a9 (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.java | 10 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleImplementationFunctions.java | 6 |
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.", |