Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Pipe API doesn't properly handle multiple arguments and spaces #1909
The pipe API command does a simple split on spaces to split into multiple arguments. This will fail if any of the commands are arguments include spaces in them. There is currently no workaround for this. The underlying java ProcessBuilder API allows running commands with multiple arguments by passing in a list of parameters. The pipe API should thus also allow passing in a list of parameters instead of a single string. This would fix the argument separation and escaping issues. So the new interface would look like:
Thanks for reporting this, @benwbooth!
Yes, this is an issue.
This feels correct to me, though we also need to support the pipe API via Java, Python, and R, so the fix will need to propagate to those supporting methods.
Note in Cannoli we want to support Docker and Singularity over the pipe API, and perhaps a container-aware ProcessBuilder API developed there might be useful to surface in ADAM. Would you find that helpful?