Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better explain implicit quotes in command line #846

Open
1 task
bogdang989 opened this issue Apr 3, 2019 · 3 comments
Open
1 task

Better explain implicit quotes in command line #846

bogdang989 opened this issue Apr 3, 2019 · 3 comments

Comments

@bogdang989
Copy link
Member

bogdang989 commented Apr 3, 2019

Conformance tests (for v1.0) 34, 46, 47, 48, 104, 173 expect implicit quotes in command line around baseCommand item that has spaces. I couldn't find in the spec if this is stated as expected behavior.

I propose that we:

  • Add this to the spec (for start v1.1.0-dev1)
@bogdang989 bogdang989 changed the title Conformance tests expect implicit quotes in command line Better explain implicit quotes in command line Apr 10, 2019
@bogdang989
Copy link
Member Author

This should probably fit in the specification here: https://www.commonwl.org/v1.1.0-dev1/CommandLineTool.html#Input_binding

@mr-c @tetron can you please help with the technical explanation why baseCommand item with space is quoted in the command line? 😅

@mr-c
Copy link
Member

mr-c commented Aug 14, 2019

baseCommand is defined as an array of strings, so this is the correct behaviour.

@bogdang989
Copy link
Member Author

What confuses me is why do the strings need to be quoted when there is space in some of them? I.e., why does baseCommand: ["a b", "c"] return 'a b' c and not a b c? I know this is expected behavior, but I don't know enough to write a proper technical explanation.

Reason why I think it would be nice to add a clarification/explanation to the spec is that, as a new CWL user, one could expect basic string concatenation. E.g. in pseudocode a simple

" ".join(baseCommand)

which would result in a b c command line in the example above.

If this is already explained somewhere in the spec, I think this can be closed. I couldn't find anything on it though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants