yuch7 / cwlexec

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

SchemaDefRequirement section: Imports of type definitions are not supported #32

Open mscheremetjew opened 5 years ago

mscheremetjew commented 5 years ago

cwlexec reports the following and exits:

The field [SchemaType] is required by [type].

if a type definition is imported like that:

cwlVersion: v1.0
class: CommandLineTool

requirements:
 - class: SchemaDefRequirement
   types:
    - $import: test_values.yaml

here is a simple test case for reproduction: test.cwl.txt test.yaml.txt test_values.yaml.txt

call:

$ cwlexec test.cwl test.yaml
skeeey commented 5 years ago

@mscheremetjew Currently, cwlexec does not support using $import to import an input/output type from SchemaDefRequirement :-(, you need to define a type in input/output filed directly, and we will consider to support this feature in next plan, thanks

mscheremetjew commented 5 years ago

@skeeey Thanks for the update on that. I will work around this meanwhile.

mr-c commented 5 years ago

A simple workaround is to preprocess using cwltool --pack

You could also try packing your CWL into a single file with cwltool --pack test.cwll > test-packed.cwl.

This does $import and $include processing, so that may be easier for cwlexec to ingest until they become more compliant with the entirety of CWL v1.0.

mscheremetjew commented 5 years ago

@mr-c nice! thanks for adding this. other developers will benefit from it.