yuch7 / cwlexec

A new open source tool to run CWL workflows on LSF
Other
36 stars 8 forks source link

Optional workflow input with tool-level default evaluates to null #25

Closed biokcb closed 6 years ago

biokcb commented 6 years ago

Hi,

I have a simple example (attached) where the input to a workflow is an optional string. The command line tool has a default value for this input. When I use no outputs or a fixed output file name (as in #19), it works. If I modify the command line tool to now glob for $(inputs.foo) to return a file matching the name of the input string, it evaluates the input to null and fails to build the command in this instance. It should be evaluating the default input for the tool if the optional input for the workflow is not given.

EvalOptionalWorkflowInputError.tar.gz

skeeey commented 6 years ago

When an input is an optional (e.g. it can be string or null). we set its value to NullValue.NULL (not a Java null value), but when we evaluate it, we just handle the null case

skeeey commented 6 years ago

Fixed at 647598f