It makes it difficult to write the command line argument handling code.
With cwl-runner, it looks like this (space separated item)
INFO [job create-animation-from-image-sequence.cwl] /tmp/y9w8olek$ ffmpeg_wrapper.py \
/tmp/9ucoug81/stg67a49050-7a34-492c-bd15-d3612ec615f3/monkey.0000.png \
/tmp/9ucoug81/stg2fef3a44-68fd-4da8-9ade-12fe0d5c4a0a/monkey.0001.png \
nicholas.mp4
With cromwell, it looks like this (as square bracket array)
[2021-02-23 15:18:29,56] [info] BackgroundConfigAsyncJobExecutionActor [46182cbdcwl_temp_file_46182cbd-9251-4ade-86c1-d82e8e1f6fb4.cwl:NA:1]: 'ffmpeg_wrapper.py' '["/data1/nyue/projects/workflow-languages_git/CWL/vfx/granular_steps/python/cromwell-executions/cwl_temp_file_46182cbd-9251-4ade-86c1-d82e8e1f6fb4.cwl/46182cbd-9251-4ade-86c1-d82e8e1f6fb4/call-cwl_temp_file_46182cbd-9251-4ade-86c1-d82e8e1f6fb4.cwl/inputs/-1025474270/monkey.0000.png", "/data1/nyue/projects/workflow-languages_git/CWL/vfx/granular_steps/python/cromwell-executions/cwl_temp_file_46182cbd-9251-4ade-86c1-d82e8e1f6fb4.cwl/46182cbd-9251-4ade-86c1-d82e8e1f6fb4/call-cwl_temp_file_46182cbd-9251-4ade-86c1-d82e8e1f6fb4.cwl/inputs/-1025474270/monkey.0001.png"]' 'nicholas.mp4'
I have the following code
class: CommandLineTool
inputs:
- id: imageSequence
type: File[]
- id: renderedAnimation
type: string
outputs:
- id: ffmpegAnimation
type: File
outputBinding:
glob: '*.mp4'
requirements:
- class: InlineJavascriptRequirement
baseCommand: ffmpeg_wrapper.py
arguments:
- $(inputs.imageSequence)
- $(inputs.renderedAnimation)
successCodes:
- 0
cwlVersion: v1.0