aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-08-15 12:42:12 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-15 12:43:53 -0700
commitdc9b3cd9b3105f40a59cee33d4f05dc19fcd13e4 (patch)
tree86a31b8ab656203348bab799763c0962a6fcc6f7 /src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
parentb6c0996f444c5ea273a51cf034519dfa2014d12b (diff)
Throw an EvalException when run_shell is passed both a command string sequence and arguments.
Previously, this resulted in an uncaught UnsupportedOperationException. Closes #5892. RELNOTES: None. PiperOrigin-RevId: 208865301
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
index 72e2a5f802..755a909214 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
@@ -290,7 +290,10 @@ public class SkylarkActionFactory implements SkylarkActionFactoryApi {
}
} else if (commandUnchecked instanceof SkylarkList) {
SkylarkList commandList = (SkylarkList) commandUnchecked;
-
+ if (argumentList.size() > 0) {
+ throw new EvalException(location,
+ "'arguments' must be empty if 'command' is a sequence of strings");
+ }
@SuppressWarnings("unchecked")
List<String> command = commandList.getContents(String.class, "command");
builder.setShellCommand(command);