├── .github ├── dependabot.yml └── workflows │ ├── ci.yml │ └── codeql-analysis.yml ├── .gitignore ├── README.md ├── adding_new_cwl_versions.txt ├── pom.xml └── src ├── main ├── java │ └── org │ │ └── w3id │ │ └── cwl │ │ ├── cwl1_1 │ │ ├── Any.java │ │ ├── ArraySchema.java │ │ ├── ArraySchemaImpl.java │ │ ├── Array_name.java │ │ ├── CWLArraySchema.java │ │ ├── CWLArraySchemaImpl.java │ │ ├── CWLRecordField.java │ │ ├── CWLRecordFieldImpl.java │ │ ├── CWLRecordSchema.java │ │ ├── CWLRecordSchemaImpl.java │ │ ├── CWLType.java │ │ ├── CWLVersion.java │ │ ├── CommandInputArraySchema.java │ │ ├── CommandInputArraySchemaImpl.java │ │ ├── CommandInputEnumSchema.java │ │ ├── CommandInputEnumSchemaImpl.java │ │ ├── CommandInputParameter.java │ │ ├── CommandInputParameterImpl.java │ │ ├── CommandInputRecordField.java │ │ ├── CommandInputRecordFieldImpl.java │ │ ├── CommandInputRecordSchema.java │ │ ├── CommandInputRecordSchemaImpl.java │ │ ├── CommandInputSchema.java │ │ ├── CommandLineBindable.java │ │ ├── CommandLineBindableImpl.java │ │ ├── CommandLineBinding.java │ │ ├── CommandLineBindingImpl.java │ │ ├── CommandLineTool.java │ │ ├── CommandLineToolImpl.java │ │ ├── CommandLineTool_class.java │ │ ├── CommandOutputArraySchema.java │ │ ├── CommandOutputArraySchemaImpl.java │ │ ├── CommandOutputBinding.java │ │ ├── CommandOutputBindingImpl.java │ │ ├── CommandOutputEnumSchema.java │ │ ├── CommandOutputEnumSchemaImpl.java │ │ ├── CommandOutputParameter.java │ │ ├── CommandOutputParameterImpl.java │ │ ├── CommandOutputRecordField.java │ │ ├── CommandOutputRecordFieldImpl.java │ │ ├── CommandOutputRecordSchema.java │ │ ├── CommandOutputRecordSchemaImpl.java │ │ ├── Directory.java │ │ ├── DirectoryImpl.java │ │ ├── Directory_class.java │ │ ├── Dirent.java │ │ ├── DirentImpl.java │ │ ├── DockerRequirement.java │ │ ├── DockerRequirementImpl.java │ │ ├── DockerRequirement_class.java │ │ ├── Documented.java │ │ ├── EnumSchema.java │ │ ├── EnumSchemaImpl.java │ │ ├── Enum_name.java │ │ ├── EnvVarRequirement.java │ │ ├── EnvVarRequirementImpl.java │ │ ├── EnvVarRequirement_class.java │ │ ├── EnvironmentDef.java │ │ ├── EnvironmentDefImpl.java │ │ ├── Expression.java │ │ ├── ExpressionTool.java │ │ ├── ExpressionToolImpl.java │ │ ├── ExpressionToolOutputParameter.java │ │ ├── ExpressionToolOutputParameterImpl.java │ │ ├── ExpressionTool_class.java │ │ ├── FieldBase.java │ │ ├── File.java │ │ ├── FileImpl.java │ │ ├── File_class.java │ │ ├── IOSchema.java │ │ ├── Identified.java │ │ ├── InitialWorkDirRequirement.java │ │ ├── InitialWorkDirRequirementImpl.java │ │ ├── InitialWorkDirRequirement_class.java │ │ ├── InlineJavascriptRequirement.java │ │ ├── InlineJavascriptRequirementImpl.java │ │ ├── InlineJavascriptRequirement_class.java │ │ ├── InplaceUpdateRequirement.java │ │ ├── InplaceUpdateRequirementImpl.java │ │ ├── InplaceUpdateRequirement_class.java │ │ ├── InputArraySchema.java │ │ ├── InputArraySchemaImpl.java │ │ ├── InputBinding.java │ │ ├── InputBindingImpl.java │ │ ├── InputEnumSchema.java │ │ ├── InputEnumSchemaImpl.java │ │ ├── InputFormat.java │ │ ├── InputParameter.java │ │ ├── InputRecordField.java │ │ ├── InputRecordFieldImpl.java │ │ ├── InputRecordSchema.java │ │ ├── InputRecordSchemaImpl.java │ │ ├── InputSchema.java │ │ ├── Labeled.java │ │ ├── LinkMergeMethod.java │ │ ├── LoadContents.java │ │ ├── LoadListingEnum.java │ │ ├── LoadListingRequirement.java │ │ ├── LoadListingRequirementImpl.java │ │ ├── LoadListingRequirement_class.java │ │ ├── MapSchema.java │ │ ├── MapSchemaImpl.java │ │ ├── Map_name.java │ │ ├── MultipleInputFeatureRequirement.java │ │ ├── MultipleInputFeatureRequirementImpl.java │ │ ├── MultipleInputFeatureRequirement_class.java │ │ ├── NetworkAccess.java │ │ ├── NetworkAccessImpl.java │ │ ├── NetworkAccess_class.java │ │ ├── OutputArraySchema.java │ │ ├── OutputArraySchemaImpl.java │ │ ├── OutputEnumSchema.java │ │ ├── OutputEnumSchemaImpl.java │ │ ├── OutputFormat.java │ │ ├── OutputParameter.java │ │ ├── OutputRecordField.java │ │ ├── OutputRecordFieldImpl.java │ │ ├── OutputRecordSchema.java │ │ ├── OutputRecordSchemaImpl.java │ │ ├── OutputSchema.java │ │ ├── Parameter.java │ │ ├── PrimitiveType.java │ │ ├── Process.java │ │ ├── ProcessRequirement.java │ │ ├── RecordField.java │ │ ├── RecordFieldImpl.java │ │ ├── RecordSchema.java │ │ ├── RecordSchemaImpl.java │ │ ├── Record_name.java │ │ ├── ResourceRequirement.java │ │ ├── ResourceRequirementImpl.java │ │ ├── ResourceRequirement_class.java │ │ ├── ScatterFeatureRequirement.java │ │ ├── ScatterFeatureRequirementImpl.java │ │ ├── ScatterFeatureRequirement_class.java │ │ ├── ScatterMethod.java │ │ ├── SchemaDefRequirement.java │ │ ├── SchemaDefRequirementImpl.java │ │ ├── SchemaDefRequirement_class.java │ │ ├── SecondaryFileSchema.java │ │ ├── SecondaryFileSchemaImpl.java │ │ ├── ShellCommandRequirement.java │ │ ├── ShellCommandRequirementImpl.java │ │ ├── ShellCommandRequirement_class.java │ │ ├── Sink.java │ │ ├── SoftwarePackage.java │ │ ├── SoftwarePackageImpl.java │ │ ├── SoftwareRequirement.java │ │ ├── SoftwareRequirementImpl.java │ │ ├── SoftwareRequirement_class.java │ │ ├── StepInputExpressionRequirement.java │ │ ├── StepInputExpressionRequirementImpl.java │ │ ├── StepInputExpressionRequirement_class.java │ │ ├── SubworkflowFeatureRequirement.java │ │ ├── SubworkflowFeatureRequirementImpl.java │ │ ├── SubworkflowFeatureRequirement_class.java │ │ ├── ToolTimeLimit.java │ │ ├── ToolTimeLimitImpl.java │ │ ├── ToolTimeLimit_class.java │ │ ├── UnionSchema.java │ │ ├── UnionSchemaImpl.java │ │ ├── Union_name.java │ │ ├── WorkReuse.java │ │ ├── WorkReuseImpl.java │ │ ├── WorkReuse_class.java │ │ ├── Workflow.java │ │ ├── WorkflowImpl.java │ │ ├── WorkflowInputParameter.java │ │ ├── WorkflowInputParameterImpl.java │ │ ├── WorkflowOutputParameter.java │ │ ├── WorkflowOutputParameterImpl.java │ │ ├── WorkflowStep.java │ │ ├── WorkflowStepImpl.java │ │ ├── WorkflowStepInput.java │ │ ├── WorkflowStepInputImpl.java │ │ ├── WorkflowStepOutput.java │ │ ├── WorkflowStepOutputImpl.java │ │ ├── Workflow_class.java │ │ ├── package.html │ │ ├── stderr.java │ │ ├── stdin.java │ │ ├── stdout.java │ │ └── utils │ │ │ ├── AnyLoader.java │ │ │ ├── ArrayLoader.java │ │ │ ├── ConstantMaps.java │ │ │ ├── DefaultFetcher.java │ │ │ ├── EnumLoader.java │ │ │ ├── ExpressionLoader.java │ │ │ ├── Fetcher.java │ │ │ ├── IdMapLoader.java │ │ │ ├── Loader.java │ │ │ ├── LoaderInstances.java │ │ │ ├── LoadingOptions.java │ │ │ ├── LoadingOptionsBuilder.java │ │ │ ├── MapLoader.java │ │ │ ├── NullLoader.java │ │ │ ├── OneOrListOf.java │ │ │ ├── OneOrListOfLoader.java │ │ │ ├── OptionalLoader.java │ │ │ ├── PrimitiveLoader.java │ │ │ ├── RecordLoader.java │ │ │ ├── RootLoader.java │ │ │ ├── Saveable.java │ │ │ ├── SaveableImpl.java │ │ │ ├── SecondaryFilesDslLoader.java │ │ │ ├── TypeDslLoader.java │ │ │ ├── UnionLoader.java │ │ │ ├── UriLoader.java │ │ │ ├── Uris.java │ │ │ ├── ValidationException.java │ │ │ ├── Validator.java │ │ │ ├── YamlUtils.java │ │ │ └── package.html │ │ └── cwl1_2 │ │ ├── Any.java │ │ ├── ArraySchema.java │ │ ├── ArraySchemaImpl.java │ │ ├── Array_name.java │ │ ├── CWLArraySchema.java │ │ ├── CWLArraySchemaImpl.java │ │ ├── CWLRecordField.java │ │ ├── CWLRecordFieldImpl.java │ │ ├── CWLRecordSchema.java │ │ ├── CWLRecordSchemaImpl.java │ │ ├── CWLType.java │ │ ├── CWLVersion.java │ │ ├── CommandInputArraySchema.java │ │ ├── CommandInputArraySchemaImpl.java │ │ ├── CommandInputEnumSchema.java │ │ ├── CommandInputEnumSchemaImpl.java │ │ ├── CommandInputParameter.java │ │ ├── CommandInputParameterImpl.java │ │ ├── CommandInputRecordField.java │ │ ├── CommandInputRecordFieldImpl.java │ │ ├── CommandInputRecordSchema.java │ │ ├── CommandInputRecordSchemaImpl.java │ │ ├── CommandInputSchema.java │ │ ├── CommandLineBindable.java │ │ ├── CommandLineBindableImpl.java │ │ ├── CommandLineBinding.java │ │ ├── CommandLineBindingImpl.java │ │ ├── CommandLineTool.java │ │ ├── CommandLineToolImpl.java │ │ ├── CommandLineTool_class.java │ │ ├── CommandOutputArraySchema.java │ │ ├── CommandOutputArraySchemaImpl.java │ │ ├── CommandOutputBinding.java │ │ ├── CommandOutputBindingImpl.java │ │ ├── CommandOutputEnumSchema.java │ │ ├── CommandOutputEnumSchemaImpl.java │ │ ├── CommandOutputParameter.java │ │ ├── CommandOutputParameterImpl.java │ │ ├── CommandOutputRecordField.java │ │ ├── CommandOutputRecordFieldImpl.java │ │ ├── CommandOutputRecordSchema.java │ │ ├── CommandOutputRecordSchemaImpl.java │ │ ├── Directory.java │ │ ├── DirectoryImpl.java │ │ ├── Directory_class.java │ │ ├── Dirent.java │ │ ├── DirentImpl.java │ │ ├── DockerRequirement.java │ │ ├── DockerRequirementImpl.java │ │ ├── DockerRequirement_class.java │ │ ├── Documented.java │ │ ├── EnumSchema.java │ │ ├── EnumSchemaImpl.java │ │ ├── Enum_name.java │ │ ├── EnvVarRequirement.java │ │ ├── EnvVarRequirementImpl.java │ │ ├── EnvVarRequirement_class.java │ │ ├── EnvironmentDef.java │ │ ├── EnvironmentDefImpl.java │ │ ├── Expression.java │ │ ├── ExpressionTool.java │ │ ├── ExpressionToolImpl.java │ │ ├── ExpressionToolOutputParameter.java │ │ ├── ExpressionToolOutputParameterImpl.java │ │ ├── ExpressionTool_class.java │ │ ├── FieldBase.java │ │ ├── File.java │ │ ├── FileImpl.java │ │ ├── File_class.java │ │ ├── IOSchema.java │ │ ├── Identified.java │ │ ├── InitialWorkDirRequirement.java │ │ ├── InitialWorkDirRequirementImpl.java │ │ ├── InitialWorkDirRequirement_class.java │ │ ├── InlineJavascriptRequirement.java │ │ ├── InlineJavascriptRequirementImpl.java │ │ ├── InlineJavascriptRequirement_class.java │ │ ├── InplaceUpdateRequirement.java │ │ ├── InplaceUpdateRequirementImpl.java │ │ ├── InplaceUpdateRequirement_class.java │ │ ├── InputArraySchema.java │ │ ├── InputArraySchemaImpl.java │ │ ├── InputBinding.java │ │ ├── InputBindingImpl.java │ │ ├── InputEnumSchema.java │ │ ├── InputEnumSchemaImpl.java │ │ ├── InputFormat.java │ │ ├── InputParameter.java │ │ ├── InputRecordField.java │ │ ├── InputRecordFieldImpl.java │ │ ├── InputRecordSchema.java │ │ ├── InputRecordSchemaImpl.java │ │ ├── InputSchema.java │ │ ├── Labeled.java │ │ ├── LinkMergeMethod.java │ │ ├── LoadContents.java │ │ ├── LoadListingEnum.java │ │ ├── LoadListingRequirement.java │ │ ├── LoadListingRequirementImpl.java │ │ ├── LoadListingRequirement_class.java │ │ ├── MapSchema.java │ │ ├── MapSchemaImpl.java │ │ ├── Map_name.java │ │ ├── MultipleInputFeatureRequirement.java │ │ ├── MultipleInputFeatureRequirementImpl.java │ │ ├── MultipleInputFeatureRequirement_class.java │ │ ├── NetworkAccess.java │ │ ├── NetworkAccessImpl.java │ │ ├── NetworkAccess_class.java │ │ ├── Operation.java │ │ ├── OperationImpl.java │ │ ├── OperationInputParameter.java │ │ ├── OperationInputParameterImpl.java │ │ ├── OperationOutputParameter.java │ │ ├── OperationOutputParameterImpl.java │ │ ├── Operation_class.java │ │ ├── OutputArraySchema.java │ │ ├── OutputArraySchemaImpl.java │ │ ├── OutputEnumSchema.java │ │ ├── OutputEnumSchemaImpl.java │ │ ├── OutputFormat.java │ │ ├── OutputParameter.java │ │ ├── OutputRecordField.java │ │ ├── OutputRecordFieldImpl.java │ │ ├── OutputRecordSchema.java │ │ ├── OutputRecordSchemaImpl.java │ │ ├── OutputSchema.java │ │ ├── Parameter.java │ │ ├── PickValueMethod.java │ │ ├── PrimitiveType.java │ │ ├── Process.java │ │ ├── ProcessRequirement.java │ │ ├── RecordField.java │ │ ├── RecordFieldImpl.java │ │ ├── RecordSchema.java │ │ ├── RecordSchemaImpl.java │ │ ├── Record_name.java │ │ ├── ResourceRequirement.java │ │ ├── ResourceRequirementImpl.java │ │ ├── ResourceRequirement_class.java │ │ ├── ScatterFeatureRequirement.java │ │ ├── ScatterFeatureRequirementImpl.java │ │ ├── ScatterFeatureRequirement_class.java │ │ ├── ScatterMethod.java │ │ ├── SchemaDefRequirement.java │ │ ├── SchemaDefRequirementImpl.java │ │ ├── SchemaDefRequirement_class.java │ │ ├── SecondaryFileSchema.java │ │ ├── SecondaryFileSchemaImpl.java │ │ ├── ShellCommandRequirement.java │ │ ├── ShellCommandRequirementImpl.java │ │ ├── ShellCommandRequirement_class.java │ │ ├── Sink.java │ │ ├── SoftwarePackage.java │ │ ├── SoftwarePackageImpl.java │ │ ├── SoftwareRequirement.java │ │ ├── SoftwareRequirementImpl.java │ │ ├── SoftwareRequirement_class.java │ │ ├── StepInputExpressionRequirement.java │ │ ├── StepInputExpressionRequirementImpl.java │ │ ├── StepInputExpressionRequirement_class.java │ │ ├── SubworkflowFeatureRequirement.java │ │ ├── SubworkflowFeatureRequirementImpl.java │ │ ├── SubworkflowFeatureRequirement_class.java │ │ ├── ToolTimeLimit.java │ │ ├── ToolTimeLimitImpl.java │ │ ├── ToolTimeLimit_class.java │ │ ├── UnionSchema.java │ │ ├── UnionSchemaImpl.java │ │ ├── Union_name.java │ │ ├── WorkReuse.java │ │ ├── WorkReuseImpl.java │ │ ├── WorkReuse_class.java │ │ ├── Workflow.java │ │ ├── WorkflowImpl.java │ │ ├── WorkflowInputParameter.java │ │ ├── WorkflowInputParameterImpl.java │ │ ├── WorkflowOutputParameter.java │ │ ├── WorkflowOutputParameterImpl.java │ │ ├── WorkflowStep.java │ │ ├── WorkflowStepImpl.java │ │ ├── WorkflowStepInput.java │ │ ├── WorkflowStepInputImpl.java │ │ ├── WorkflowStepOutput.java │ │ ├── WorkflowStepOutputImpl.java │ │ ├── Workflow_class.java │ │ ├── package.html │ │ ├── stderr.java │ │ ├── stdin.java │ │ ├── stdout.java │ │ └── utils │ │ ├── AnyLoader.java │ │ ├── ArrayLoader.java │ │ ├── ConstantMaps.java │ │ ├── DefaultFetcher.java │ │ ├── EnumLoader.java │ │ ├── ExpressionLoader.java │ │ ├── Fetcher.java │ │ ├── IdMapLoader.java │ │ ├── Loader.java │ │ ├── LoaderInstances.java │ │ ├── LoadingOptions.java │ │ ├── LoadingOptionsBuilder.java │ │ ├── MapLoader.java │ │ ├── NullLoader.java │ │ ├── OneOrListOf.java │ │ ├── OneOrListOfLoader.java │ │ ├── OptionalLoader.java │ │ ├── PrimitiveLoader.java │ │ ├── RecordLoader.java │ │ ├── RootLoader.java │ │ ├── Saveable.java │ │ ├── SaveableImpl.java │ │ ├── SecondaryFilesDslLoader.java │ │ ├── TypeDslLoader.java │ │ ├── UnionLoader.java │ │ ├── UriLoader.java │ │ ├── Uris.java │ │ ├── ValidationException.java │ │ ├── Validator.java │ │ ├── YamlUtils.java │ │ └── package.html ├── javadoc │ └── overview.html └── resources │ └── META-INF │ └── MANIFEST.MF └── test ├── java └── org │ └── w3id │ └── cwl │ ├── cwl1_1 │ └── utils │ │ ├── AnonymousRecordTest.java │ │ ├── DefaultFetcherTest.java │ │ ├── ExamplesTest.java │ │ ├── PackedWorkflowClassTest.java │ │ ├── RequirementsClassTest.java │ │ ├── SchemaDefTest.java │ │ ├── SecondaryFilesTest.java │ │ ├── ShortnameTest.java │ │ ├── WorkflowClassTest.java │ │ └── YamlUtilsTest.java │ └── cwl1_2 │ └── utils │ ├── AnonymousRecordTest.java │ ├── DefaultFetcherTest.java │ ├── ExamplesTest.java │ ├── PackedWorkflowClassTest.java │ ├── RequirementsClassTest.java │ ├── SchemaDefTest.java │ ├── SecondaryFilesTest.java │ ├── ShortnameTest.java │ ├── WorkflowClassTest.java │ └── YamlUtilsTest.java └── resources └── org └── w3id └── cwl ├── cwl1_1 └── utils │ ├── 525.cwl │ ├── capture_kit.yml │ ├── envvar.yml │ ├── params_inc.yml │ ├── record-in-format.cwl.json │ ├── schemadef-type.yml │ ├── underscore.js │ ├── valid_anon_enum_inside_array.cwl │ ├── valid_anon_enum_inside_array_inside_schemadef.cwl │ ├── valid_any-type-compat.cwl │ ├── valid_basename-fields-test.cwl │ ├── valid_binding-test.cwl │ ├── valid_bool-empty-inputbinding.cwl │ ├── valid_bwa-mem-tool.cwl │ ├── valid_cat-from-dir.cwl │ ├── valid_cat-tool.cwl │ ├── valid_cat1-testcli.cwl │ ├── valid_cat3-from-dir.cwl │ ├── valid_cat3-nodocker.cwl │ ├── valid_cat3-tool-docker.cwl │ ├── valid_cat3-tool-mediumcut.cwl │ ├── valid_cat3-tool-shortcut.cwl │ ├── valid_cat3-tool.cwl │ ├── valid_cat4-tool.cwl │ ├── valid_cat5-tool.cwl │ ├── valid_conflict-wf.cwl │ ├── valid_count-lines1-wf-noET.cwl │ ├── valid_count-lines1-wf.cwl │ ├── valid_count-lines10-wf.cwl │ ├── valid_count-lines11-extra-step-wf-noET.cwl │ ├── valid_count-lines11-extra-step-wf.cwl │ ├── valid_count-lines11-null-step-wf-noET.cwl │ ├── valid_count-lines11-null-step-wf.cwl │ ├── valid_count-lines11-wf-noET.cwl │ ├── valid_count-lines11-wf.cwl │ ├── valid_count-lines12-wf.cwl │ ├── valid_count-lines13-wf.cwl │ ├── valid_count-lines14-wf.cwl │ ├── valid_count-lines15-wf.cwl │ ├── valid_count-lines16-wf.cwl │ ├── valid_count-lines17-wf.cwl │ ├── valid_count-lines18-wf.cwl │ ├── valid_count-lines2-wf.cwl │ ├── valid_count-lines3-wf.cwl │ ├── valid_count-lines4-wf.cwl │ ├── valid_count-lines5-wf.cwl │ ├── valid_count-lines6-wf.cwl │ ├── valid_count-lines7-wf.cwl │ ├── valid_count-lines8-wf-noET.cwl │ ├── valid_count-lines8-wf.cwl │ ├── valid_count-lines9-wf-noET.cwl │ ├── valid_count-lines9-wf.cwl │ ├── valid_default_path.cwl │ ├── valid_dir.cwl │ ├── valid_dir2.cwl │ ├── valid_dir3.cwl │ ├── valid_dir4.cwl │ ├── valid_dir5.cwl │ ├── valid_dir6.cwl │ ├── valid_dir7.cwl │ ├── valid_docker-array-secondaryfiles.cwl │ ├── valid_docker-output-dir.cwl │ ├── valid_docker-run-cmd.cwl │ ├── valid_dynresreq-default.cwl │ ├── valid_dynresreq-dir.cwl │ ├── valid_dynresreq-workflow-inputdefault.cwl │ ├── valid_dynresreq-workflow-stepdefault.cwl │ ├── valid_dynresreq-workflow-tooldefault.cwl │ ├── valid_dynresreq-workflow.cwl │ ├── valid_dynresreq.cwl │ ├── valid_echo-file-tool.cwl │ ├── valid_echo-position-expr.cwl │ ├── valid_echo-tool-default.cwl │ ├── valid_echo-tool-packed.cwl │ ├── valid_echo-tool-packed2.cwl │ ├── valid_echo-tool.cwl │ ├── valid_echo-wf-default.cwl │ ├── valid_empty-array-input.cwl │ ├── valid_env-tool1.cwl │ ├── valid_env-tool2.cwl │ ├── valid_env-tool3.cwl │ ├── valid_env-tool4.cwl │ ├── valid_env-wf1.cwl │ ├── valid_env-wf2.cwl │ ├── valid_env-wf3.cwl │ ├── valid_envvar.cwl │ ├── valid_envvar2.cwl │ ├── valid_envvar3.cwl │ ├── valid_exit-success.cwl │ ├── valid_exitcode.cwl │ ├── valid_fail-unconnected.cwl │ ├── valid_fail-unspecified-input.cwl │ ├── valid_file-literal-ex.cwl │ ├── valid_formattest.cwl │ ├── valid_formattest2.cwl │ ├── valid_formattest3.cwl │ ├── valid_glob-expr-list.cwl │ ├── valid_glob-path-error.cwl │ ├── valid_glob_directory.cwl │ ├── valid_glob_test.cwl │ ├── valid_import_schema-def.cwl │ ├── valid_import_schema-def_packed.cwl │ ├── valid_imported-hint.cwl │ ├── valid_initialwork-path.cwl │ ├── valid_initialworkdir-glob-fullpath.cwl │ ├── valid_initialworkdirrequirement-docker-out.cwl │ ├── valid_inline-js.cwl │ ├── valid_inp_update_wf.cwl │ ├── valid_inpdir_update_wf.cwl │ ├── valid_io-any-1.cwl │ ├── valid_io-any-wf-1.cwl │ ├── valid_io-file-default-wf.cwl │ ├── valid_io-file-or-files.cwl │ ├── valid_io-int-default-tool-and-wf.cwl │ ├── valid_io-int-default-wf.cwl │ ├── valid_io-int-optional-wf.cwl │ ├── valid_io-int-wf.cwl │ ├── valid_io-union-input-default-wf.cwl │ ├── valid_iwdr-entry.cwl │ ├── valid_iwdr_with_nested_dirs.cwl │ ├── valid_js-expr-req-wf.cwl │ ├── valid_linkfile.cwl │ ├── valid_listing_deep1.cwl │ ├── valid_listing_deep2.cwl │ ├── valid_listing_none1.cwl │ ├── valid_listing_none2.cwl │ ├── valid_listing_none3.cwl │ ├── valid_listing_shallow1.cwl │ ├── valid_listing_shallow2.cwl │ ├── valid_metadata.cwl │ ├── valid_mkdir.cwl │ ├── valid_nameroot.cwl │ ├── valid_nested-array.cwl │ ├── valid_networkaccess.cwl │ ├── valid_networkaccess2.cwl │ ├── valid_no-inputs-tool.cwl │ ├── valid_no-inputs-wf.cwl │ ├── valid_no-outputs-tool.cwl │ ├── valid_no-outputs-wf.cwl │ ├── valid_null-defined.cwl │ ├── valid_null-expression1-tool.cwl │ ├── valid_null-expression2-tool.cwl │ ├── valid_null-expression3-tool.cwl │ ├── valid_optional-numerical-output-0.cwl │ ├── valid_optional-output.cwl │ ├── valid_output-arrays-file-wf.cwl │ ├── valid_output-arrays-int-wf.cwl │ ├── valid_output-arrays-int.cwl │ ├── valid_params.cwl │ ├── valid_params2.cwl │ ├── valid_parseInt-tool.cwl │ ├── valid_pass-unconnected.cwl │ ├── valid_record-in-format.cwl │ ├── valid_record-in-secondaryFiles-missing-wf.cwl │ ├── valid_record-in-secondaryFiles-wf.cwl │ ├── valid_record-in-secondaryFiles.cwl │ ├── valid_record-out-format.cwl │ ├── valid_record-out-secondaryFiles.cwl │ ├── valid_record-output-wf.cwl │ ├── valid_record-output.cwl │ ├── valid_record-sd-secondaryFiles.cwl │ ├── valid_recursive-input-directory.cwl │ ├── valid_rename.cwl │ ├── valid_revsort-packed.cwl │ ├── valid_revsort.cwl │ ├── valid_revtool.cwl │ ├── valid_runtime-paths-distinct.cwl │ ├── valid_scatter-valueFrom-tool.cwl │ ├── valid_scatter-valuefrom-inputs-wf1.cwl │ ├── valid_scatter-valuefrom-wf1.cwl │ ├── valid_scatter-valuefrom-wf2.cwl │ ├── valid_scatter-valuefrom-wf3.cwl │ ├── valid_scatter-valuefrom-wf4.cwl │ ├── valid_scatter-valuefrom-wf5.cwl │ ├── valid_scatter-valuefrom-wf6.cwl │ ├── valid_scatter-wf1.cwl │ ├── valid_scatter-wf2.cwl │ ├── valid_scatter-wf3.cwl │ ├── valid_scatter-wf4.cwl │ ├── valid_schemadef-tool.cwl │ ├── valid_schemadef-wf.cwl │ ├── valid_search.cwl │ ├── valid_shellchar.cwl │ ├── valid_shellchar2.cwl │ ├── valid_size-expression-tool.cwl │ ├── valid_sorttool.cwl │ ├── valid_stage-array-dirs.cwl │ ├── valid_stage-array.cwl │ ├── valid_stage-unprovided-file.cwl │ ├── valid_stage_file_array.cwl │ ├── valid_stage_file_array_basename.cwl │ ├── valid_stage_file_array_basename_and_entryname.cwl │ ├── valid_stagefile.cwl │ ├── valid_stderr-mediumcut.cwl │ ├── valid_stderr-shortcut.cwl │ ├── valid_stderr.cwl │ ├── valid_step-valuefrom-wf.cwl │ ├── valid_step-valuefrom2-wf.cwl │ ├── valid_step-valuefrom3-wf.cwl │ ├── valid_step-valuefrom4-wf.cwl │ ├── valid_step-valuefrom5-wf.cwl │ ├── valid_steplevel-resreq.cwl │ ├── valid_sum-wf-noET.cwl │ ├── valid_sum-wf.cwl │ ├── valid_symlink-illegal.cwl │ ├── valid_symlink-legal.cwl │ ├── valid_template-tool.cwl │ ├── valid_test-cwl-out.cwl │ ├── valid_test-cwl-out2.cwl │ ├── valid_timelimit.cwl │ ├── valid_timelimit2-wf.cwl │ ├── valid_timelimit2.cwl │ ├── valid_timelimit3-wf.cwl │ ├── valid_timelimit3.cwl │ ├── valid_timelimit4.cwl │ ├── valid_timelimit5.cwl │ ├── valid_tmap-tool.cwl │ ├── valid_touch.cwl │ ├── valid_updatedir_inplace.cwl │ ├── valid_updateval_inplace.cwl │ ├── valid_valueFrom-constant.cwl │ ├── valid_vf-concat.cwl │ ├── valid_wc-tool-shortcut.cwl │ ├── valid_wc-tool.cwl │ ├── valid_wc2-tool.cwl │ ├── valid_wc3-tool.cwl │ ├── valid_wc4-tool.cwl │ ├── valid_wf-loadContents.cwl │ ├── valid_wf-loadContents2.cwl │ ├── valid_wf-loadContents3.cwl │ ├── valid_wf-loadContents4.cwl │ ├── valid_writable-dir-docker.cwl │ └── valid_writable-dir.cwl └── cwl1_2 └── utils ├── 525.cwl ├── EDAM.owl ├── action.cwl ├── args.py ├── bar.cwl ├── capture_kit.yml ├── cat-tool.cwl ├── cat.cwl ├── check.cwl ├── count-lines1-wf-noET.cwl ├── count-lines1-wf.cwl ├── dcterms.rdf ├── dynresreq-default.cwl ├── dynresreq.cwl ├── echo-file-tool.cwl ├── echo-tool-default.cwl ├── echo-tool.cwl ├── env-tool1.cwl ├── env-tool2.cwl ├── envvar.yml ├── fail-unspecified-input.cwl ├── foaf.rdf ├── foo.cwl ├── gx_edam.ttl ├── hello.txt ├── inp-filelist.txt ├── io-any-1.cwl ├── loadit.py ├── mkdir.cwl ├── mkfilelist.py ├── null-expression3-tool.cwl ├── params_inc.yml ├── parseInt-tool.cwl ├── record-in-format.cwl.json ├── record-in-secondaryFiles.cwl ├── record-output.cwl ├── rename-inputs.yml ├── rename.cwl ├── revtool.cwl ├── scatter-valueFrom-tool.cwl ├── schemadef-tool.cwl ├── schemadef-type.yml ├── schemadef_types_with_import-tool.cwl ├── schemadef_types_with_import_readgroup.yml ├── search.py ├── sorttool.cwl ├── special_file ├── testdir ├── a ├── b └── c │ └── d ├── touch.cwl ├── underscore.js ├── updatedir_inplace.cwl ├── updateval.py ├── updateval_inplace.cwl ├── valid_action.cwl ├── valid_anon_enum_inside_array.cwl ├── valid_anon_enum_inside_array_inside_schemadef.cwl ├── valid_any-type-compat.cwl ├── valid_bar.cwl ├── valid_basename-fields-test.cwl ├── valid_bash-dollar-quote.cwl ├── valid_bash-line-continuation-with-expression.cwl ├── valid_bash-line-continuation.cwl ├── valid_binding-test.cwl ├── valid_bool-empty-inputbinding.cwl ├── valid_bwa-mem-tool.cwl ├── valid_cat-from-dir.cwl ├── valid_cat-tool-shortcut.cwl ├── valid_cat-tool.cwl ├── valid_cat.cwl ├── valid_cat1-testcli.cwl ├── valid_cat3-from-dir.cwl ├── valid_cat3-nodocker.cwl ├── valid_cat3-tool-docker.cwl ├── valid_cat3-tool-mediumcut.cwl ├── valid_cat3-tool-shortcut.cwl ├── valid_cat3-tool.cwl ├── valid_cat4-from-dir.cwl ├── valid_cat4-tool.cwl ├── valid_cat5-tool.cwl ├── valid_check.cwl ├── valid_colon:test.cwl ├── valid_colon_test_output.cwl ├── valid_cond-wf-001.cwl ├── valid_cond-wf-001_nojs.cwl ├── valid_cond-wf-002.cwl ├── valid_cond-wf-002_nojs.cwl ├── valid_cond-wf-003.1.cwl ├── valid_cond-wf-003.1_nojs.cwl ├── valid_cond-wf-003.cwl ├── valid_cond-wf-003_nojs.cwl ├── valid_cond-wf-004.cwl ├── valid_cond-wf-004_nojs.cwl ├── valid_cond-wf-006.cwl ├── valid_cond-wf-006_nojs.cwl ├── valid_cond-wf-007.cwl ├── valid_cond-wf-007_nojs.cwl ├── valid_cond-wf-009.cwl ├── valid_cond-wf-009_nojs.cwl ├── valid_cond-wf-010.cwl ├── valid_cond-wf-010_nojs.cwl ├── valid_cond-wf-011.cwl ├── valid_cond-wf-011_nojs.cwl ├── valid_cond-wf-012.cwl ├── valid_cond-wf-012_nojs.cwl ├── valid_cond-wf-013.cwl ├── valid_cond-wf-013_nojs.cwl ├── valid_cond-with-defaults.cwl ├── valid_cores_float.cwl ├── valid_count-lines1-wf-noET.cwl ├── valid_count-lines1-wf.cwl ├── valid_count-lines10-wf.cwl ├── valid_count-lines11-extra-step-wf-noET.cwl ├── valid_count-lines11-extra-step-wf.cwl ├── valid_count-lines11-null-step-wf-noET.cwl ├── valid_count-lines11-null-step-wf.cwl ├── valid_count-lines11-wf-noET.cwl ├── valid_count-lines11-wf.cwl ├── valid_count-lines12-wf.cwl ├── valid_count-lines13-wf.cwl ├── valid_count-lines14-wf.cwl ├── valid_count-lines15-wf.cwl ├── valid_count-lines16-wf.cwl ├── valid_count-lines17-wf.cwl ├── valid_count-lines18-wf.cwl ├── valid_count-lines19-wf.cwl ├── valid_count-lines2-wf.cwl ├── valid_count-lines3-wf.cwl ├── valid_count-lines4-wf.cwl ├── valid_count-lines5-wf.cwl ├── valid_count-lines6-wf.cwl ├── valid_count-lines7-wf.cwl ├── valid_count-lines8-wf-noET.cwl ├── valid_count-lines8-wf.cwl ├── valid_count-lines9-wf-noET.cwl ├── valid_count-lines9-wf.cwl ├── valid_cwloutput-nolimit.cwl ├── valid_default_path.cwl ├── valid_dir.cwl ├── valid_dir2.cwl ├── valid_dir3.cwl ├── valid_dir4.cwl ├── valid_dir5.cwl ├── valid_dir6.cwl ├── valid_dir7.cwl ├── valid_docker-array-secondaryfiles.cwl ├── valid_docker-output-dir.cwl ├── valid_docker-run-cmd.cwl ├── valid_dynresreq-default.cwl ├── valid_dynresreq-dir.cwl ├── valid_dynresreq-workflow-inputdefault.cwl ├── valid_dynresreq-workflow-stepdefault.cwl ├── valid_dynresreq-workflow-tooldefault.cwl ├── valid_dynresreq-workflow.cwl ├── valid_dynresreq.cwl ├── valid_echo-file-tool.cwl ├── valid_echo-position-expr.cwl ├── valid_echo-tool-default.cwl ├── valid_echo-tool-packed.cwl ├── valid_echo-tool-packed2.cwl ├── valid_echo-tool.cwl ├── valid_echo-wf-default.cwl ├── valid_empty-array-input.cwl ├── valid_env-tool1.cwl ├── valid_env-tool2.cwl ├── valid_env-tool3.cwl ├── valid_env-tool4.cwl ├── valid_env-wf1.cwl ├── valid_env-wf2.cwl ├── valid_env-wf3.cwl ├── valid_envvar.cwl ├── valid_envvar2.cwl ├── valid_envvar3.cwl ├── valid_exit-success.cwl ├── valid_exitcode.cwl ├── valid_fail-unconnected.cwl ├── valid_fail-unspecified-input.cwl ├── valid_file-literal-ex.cwl ├── valid_foo.cwl ├── valid_formattest.cwl ├── valid_formattest2.cwl ├── valid_formattest3.cwl ├── valid_glob-expr-list.cwl ├── valid_glob-path-error.cwl ├── valid_glob_directory.cwl ├── valid_glob_test.cwl ├── valid_import_schema-def.cwl ├── valid_import_schema-def2.cwl ├── valid_import_schema-def_packed.cwl ├── valid_imported-hint.cwl ├── valid_initialwork-path.cwl ├── valid_initialworkdir-glob-fullpath.cwl ├── valid_initialworkdirrequirement-docker-out.cwl ├── valid_inline-js.cwl ├── valid_inp_update_wf.cwl ├── valid_inpdir_update_wf.cwl ├── valid_io-any-1.cwl ├── valid_io-any-wf-1.cwl ├── valid_io-file-default-wf.cwl ├── valid_io-file-or-files.cwl ├── valid_io-int-default-tool-and-wf.cwl ├── valid_io-int-default-wf.cwl ├── valid_io-int-optional-wf.cwl ├── valid_io-int-wf.cwl ├── valid_io-union-input-default-wf.cwl ├── valid_iwd-container-entryname1.cwl ├── valid_iwd-container-entryname2.cwl ├── valid_iwd-container-entryname3.cwl ├── valid_iwd-container-entryname4.cwl ├── valid_iwd-fileobjs1.cwl ├── valid_iwd-fileobjs2.cwl ├── valid_iwd-jsondump1-nl.cwl ├── valid_iwd-jsondump1.cwl ├── valid_iwd-jsondump2-nl.cwl ├── valid_iwd-jsondump2.cwl ├── valid_iwd-jsondump3-nl.cwl ├── valid_iwd-jsondump3.cwl ├── valid_iwd-nolimit.cwl ├── valid_iwd-passthrough1.cwl ├── valid_iwd-passthrough2.cwl ├── valid_iwd-passthrough3.cwl ├── valid_iwd-passthrough4.cwl ├── valid_iwdr-entry.cwl ├── valid_iwdr_dir_literal_real_file.cwl ├── valid_iwdr_with_nested_dirs.cwl ├── valid_js-input-record.cwl ├── valid_js-quote.cwl ├── valid_linkfile.cwl ├── valid_listing_deep1.cwl ├── valid_listing_deep2.cwl ├── valid_listing_none1.cwl ├── valid_listing_none2.cwl ├── valid_listing_none3.cwl ├── valid_listing_shallow1.cwl ├── valid_listing_shallow2.cwl ├── valid_loadContents-limit.cwl ├── valid_metadata.cwl ├── valid_mkdir.cwl ├── valid_multiple_input_feature_requirement.cwl ├── valid_nameroot.cwl ├── valid_nested-array.cwl ├── valid_networkaccess.cwl ├── valid_networkaccess2.cwl ├── valid_no-inputs-tool.cwl ├── valid_no-inputs-wf.cwl ├── valid_no-outputs-tool.cwl ├── valid_no-outputs-wf.cwl ├── valid_null-defined.cwl ├── valid_null-expression1-tool.cwl ├── valid_null-expression2-tool.cwl ├── valid_null-expression3-tool.cwl ├── valid_operation.cwl ├── valid_optional-numerical-output-0.cwl ├── valid_optional-output.cwl ├── valid_output-arrays-file-wf.cwl ├── valid_output-arrays-int-wf.cwl ├── valid_output-arrays-int.cwl ├── valid_output_reference_workflow_input.cwl ├── valid_packed_action.cwl ├── valid_packed_anon_enum_inside_array.cwl ├── valid_packed_anon_enum_inside_array_inside_schemadef.cwl ├── valid_packed_any-type-compat.cwl ├── valid_packed_bar.cwl ├── valid_packed_basename-fields-test.cwl ├── valid_packed_bash-dollar-quote.cwl ├── valid_packed_bash-line-continuation-with-expression.cwl ├── valid_packed_bash-line-continuation.cwl ├── valid_packed_binding-test.cwl ├── valid_packed_bool-empty-inputbinding.cwl ├── valid_packed_bwa-mem-tool.cwl ├── valid_packed_cat-from-dir.cwl ├── valid_packed_cat-tool-shortcut.cwl ├── valid_packed_cat-tool.cwl ├── valid_packed_cat.cwl ├── valid_packed_cat1-testcli.cwl ├── valid_packed_cat3-from-dir.cwl ├── valid_packed_cat3-nodocker.cwl ├── valid_packed_cat3-tool-docker.cwl ├── valid_packed_cat3-tool-mediumcut.cwl ├── valid_packed_cat3-tool-shortcut.cwl ├── valid_packed_cat3-tool.cwl ├── valid_packed_cat4-from-dir.cwl ├── valid_packed_cat4-tool.cwl ├── valid_packed_cat5-tool.cwl ├── valid_packed_check.cwl ├── valid_packed_colon:test.cwl ├── valid_packed_colon_test_output.cwl ├── valid_packed_cond-wf-001.cwl ├── valid_packed_cond-wf-001_nojs.cwl ├── valid_packed_cond-wf-002.cwl ├── valid_packed_cond-wf-002_nojs.cwl ├── valid_packed_cond-wf-003.1.cwl ├── valid_packed_cond-wf-003.1_nojs.cwl ├── valid_packed_cond-wf-003.cwl ├── valid_packed_cond-wf-003_nojs.cwl ├── valid_packed_cond-wf-004.cwl ├── valid_packed_cond-wf-004_nojs.cwl ├── valid_packed_cond-wf-006.cwl ├── valid_packed_cond-wf-006_nojs.cwl ├── valid_packed_cond-wf-007.cwl ├── valid_packed_cond-wf-007_nojs.cwl ├── valid_packed_cond-wf-009.cwl ├── valid_packed_cond-wf-009_nojs.cwl ├── valid_packed_cond-wf-010.cwl ├── valid_packed_cond-wf-010_nojs.cwl ├── valid_packed_cond-wf-011.cwl ├── valid_packed_cond-wf-011_nojs.cwl ├── valid_packed_cond-wf-012.cwl ├── valid_packed_cond-wf-012_nojs.cwl ├── valid_packed_cond-wf-013.cwl ├── valid_packed_cond-wf-013_nojs.cwl ├── valid_packed_cond-with-defaults.cwl ├── valid_packed_cores_float.cwl ├── valid_packed_count-lines1-wf-noET.cwl ├── valid_packed_count-lines1-wf.cwl ├── valid_packed_count-lines10-wf.cwl ├── valid_packed_count-lines11-extra-step-wf-noET.cwl ├── valid_packed_count-lines11-extra-step-wf.cwl ├── valid_packed_count-lines11-null-step-wf-noET.cwl ├── valid_packed_count-lines11-null-step-wf.cwl ├── valid_packed_count-lines11-wf-noET.cwl ├── valid_packed_count-lines11-wf.cwl ├── valid_packed_count-lines12-wf.cwl ├── valid_packed_count-lines13-wf.cwl ├── valid_packed_count-lines14-wf.cwl ├── valid_packed_count-lines15-wf.cwl ├── valid_packed_count-lines16-wf.cwl ├── valid_packed_count-lines17-wf.cwl ├── valid_packed_count-lines18-wf.cwl ├── valid_packed_count-lines19-wf.cwl ├── valid_packed_count-lines2-wf.cwl ├── valid_packed_count-lines3-wf.cwl ├── valid_packed_count-lines4-wf.cwl ├── valid_packed_count-lines5-wf.cwl ├── valid_packed_count-lines6-wf.cwl ├── valid_packed_count-lines7-wf.cwl ├── valid_packed_count-lines8-wf-noET.cwl ├── valid_packed_count-lines8-wf.cwl ├── valid_packed_count-lines9-wf-noET.cwl ├── valid_packed_count-lines9-wf.cwl ├── valid_packed_cwloutput-nolimit.cwl ├── valid_packed_default_path.cwl ├── valid_packed_dir.cwl ├── valid_packed_dir2.cwl ├── valid_packed_dir3.cwl ├── valid_packed_dir4.cwl ├── valid_packed_dir5.cwl ├── valid_packed_dir6.cwl ├── valid_packed_dir7.cwl ├── valid_packed_docker-array-secondaryfiles.cwl ├── valid_packed_docker-output-dir.cwl ├── valid_packed_docker-run-cmd.cwl ├── valid_packed_dynresreq-default.cwl ├── valid_packed_dynresreq-dir.cwl ├── valid_packed_dynresreq-workflow-inputdefault.cwl ├── valid_packed_dynresreq-workflow-stepdefault.cwl ├── valid_packed_dynresreq-workflow-tooldefault.cwl ├── valid_packed_dynresreq-workflow.cwl ├── valid_packed_dynresreq.cwl ├── valid_packed_echo-file-tool.cwl ├── valid_packed_echo-position-expr.cwl ├── valid_packed_echo-tool-default.cwl ├── valid_packed_echo-tool-packed.cwl ├── valid_packed_echo-tool-packed2.cwl ├── valid_packed_echo-tool.cwl ├── valid_packed_echo-wf-default.cwl ├── valid_packed_empty-array-input.cwl ├── valid_packed_env-tool1.cwl ├── valid_packed_env-tool2.cwl ├── valid_packed_env-tool3.cwl ├── valid_packed_env-tool4.cwl ├── valid_packed_env-wf1.cwl ├── valid_packed_env-wf2.cwl ├── valid_packed_env-wf3.cwl ├── valid_packed_envvar.cwl ├── valid_packed_envvar2.cwl ├── valid_packed_envvar3.cwl ├── valid_packed_exit-success.cwl ├── valid_packed_exitcode.cwl ├── valid_packed_fail-unconnected.cwl ├── valid_packed_fail-unspecified-input.cwl ├── valid_packed_file-literal-ex.cwl ├── valid_packed_foo.cwl ├── valid_packed_formattest.cwl ├── valid_packed_formattest2.cwl ├── valid_packed_formattest3.cwl ├── valid_packed_glob-expr-list.cwl ├── valid_packed_glob-path-error.cwl ├── valid_packed_glob_directory.cwl ├── valid_packed_glob_test.cwl ├── valid_packed_import_schema-def.cwl ├── valid_packed_import_schema-def2.cwl ├── valid_packed_import_schema-def_packed.cwl ├── valid_packed_imported-hint.cwl ├── valid_packed_initialwork-path.cwl ├── valid_packed_initialworkdir-glob-fullpath.cwl ├── valid_packed_initialworkdirrequirement-docker-out.cwl ├── valid_packed_inline-js.cwl ├── valid_packed_inp_update_wf.cwl ├── valid_packed_inpdir_update_wf.cwl ├── valid_packed_io-any-1.cwl ├── valid_packed_io-any-wf-1.cwl ├── valid_packed_io-file-default-wf.cwl ├── valid_packed_io-file-or-files.cwl ├── valid_packed_io-int-default-tool-and-wf.cwl ├── valid_packed_io-int-default-wf.cwl ├── valid_packed_io-int-optional-wf.cwl ├── valid_packed_io-int-wf.cwl ├── valid_packed_io-union-input-default-wf.cwl ├── valid_packed_iwd-container-entryname1.cwl ├── valid_packed_iwd-container-entryname2.cwl ├── valid_packed_iwd-container-entryname3.cwl ├── valid_packed_iwd-container-entryname4.cwl ├── valid_packed_iwd-fileobjs1.cwl ├── valid_packed_iwd-fileobjs2.cwl ├── valid_packed_iwd-jsondump1-nl.cwl ├── valid_packed_iwd-jsondump1.cwl ├── valid_packed_iwd-jsondump2-nl.cwl ├── valid_packed_iwd-jsondump2.cwl ├── valid_packed_iwd-jsondump3-nl.cwl ├── valid_packed_iwd-jsondump3.cwl ├── valid_packed_iwd-nolimit.cwl ├── valid_packed_iwd-passthrough1.cwl ├── valid_packed_iwd-passthrough2.cwl ├── valid_packed_iwd-passthrough3.cwl ├── valid_packed_iwd-passthrough4.cwl ├── valid_packed_iwdr-entry.cwl ├── valid_packed_iwdr_dir_literal_real_file.cwl ├── valid_packed_iwdr_with_nested_dirs.cwl ├── valid_packed_js-input-record.cwl ├── valid_packed_js-quote.cwl ├── valid_packed_linkfile.cwl ├── valid_packed_listing_deep1.cwl ├── valid_packed_listing_deep2.cwl ├── valid_packed_listing_none1.cwl ├── valid_packed_listing_none2.cwl ├── valid_packed_listing_none3.cwl ├── valid_packed_listing_shallow1.cwl ├── valid_packed_listing_shallow2.cwl ├── valid_packed_loadContents-limit.cwl ├── valid_packed_metadata.cwl ├── valid_packed_mkdir.cwl ├── valid_packed_multiple_input_feature_requirement.cwl ├── valid_packed_nameroot.cwl ├── valid_packed_nested-array.cwl ├── valid_packed_networkaccess.cwl ├── valid_packed_networkaccess2.cwl ├── valid_packed_no-inputs-tool.cwl ├── valid_packed_no-inputs-wf.cwl ├── valid_packed_no-outputs-tool.cwl ├── valid_packed_no-outputs-wf.cwl ├── valid_packed_null-defined.cwl ├── valid_packed_null-expression1-tool.cwl ├── valid_packed_null-expression2-tool.cwl ├── valid_packed_null-expression3-tool.cwl ├── valid_packed_operation.cwl ├── valid_packed_optional-numerical-output-0.cwl ├── valid_packed_optional-output.cwl ├── valid_packed_output-arrays-file-wf.cwl ├── valid_packed_output-arrays-int-wf.cwl ├── valid_packed_output-arrays-int.cwl ├── valid_packed_output_reference_workflow_input.cwl ├── valid_packed_params.cwl ├── valid_packed_params2.cwl ├── valid_packed_params_input_length_non_array.cwl ├── valid_packed_parseInt-tool.cwl ├── valid_packed_pass-unconnected.cwl ├── valid_packed_record-in-format.cwl ├── valid_packed_record-in-secondaryFiles-missing-wf.cwl ├── valid_packed_record-in-secondaryFiles-wf.cwl ├── valid_packed_record-in-secondaryFiles.cwl ├── valid_packed_record-order.cwl ├── valid_packed_record-out-format.cwl ├── valid_packed_record-out-secondaryFiles.cwl ├── valid_packed_record-output-wf.cwl ├── valid_packed_record-output.cwl ├── valid_packed_record-sd-secondaryFiles.cwl ├── valid_packed_record_outputeval.cwl ├── valid_packed_record_outputeval_nojs.cwl ├── valid_packed_recursive-input-directory.cwl ├── valid_packed_rename-inputs.cwl ├── valid_packed_rename-outputs.cwl ├── valid_packed_rename.cwl ├── valid_packed_revsort-abstract.cwl ├── valid_packed_revsort-packed.cwl ├── valid_packed_revsort.cwl ├── valid_packed_revtool.cwl ├── valid_packed_runtime-outdir.cwl ├── valid_packed_runtime-paths-distinct.cwl ├── valid_packed_scatter-valueFrom-tool.cwl ├── valid_packed_scatter-valuefrom-inputs-wf1.cwl ├── valid_packed_scatter-valuefrom-wf1.cwl ├── valid_packed_scatter-valuefrom-wf2.cwl ├── valid_packed_scatter-valuefrom-wf3.cwl ├── valid_packed_scatter-valuefrom-wf4.cwl ├── valid_packed_scatter-valuefrom-wf5.cwl ├── valid_packed_scatter-valuefrom-wf6.cwl ├── valid_packed_scatter-wf1.cwl ├── valid_packed_scatter-wf2.cwl ├── valid_packed_scatter-wf3.cwl ├── valid_packed_scatter-wf4.cwl ├── valid_packed_schemadef-tool.cwl ├── valid_packed_schemadef-wf.cwl ├── valid_packed_schemadef_types_with_import-wf.cwl ├── valid_packed_search.cwl ├── valid_packed_shellchar.cwl ├── valid_packed_shellchar2.cwl ├── valid_packed_size-expression-tool.cwl ├── valid_packed_sorttool.cwl ├── valid_packed_stage-array-dirs.cwl ├── valid_packed_stage-array.cwl ├── valid_packed_stage-unprovided-file.cwl ├── valid_packed_stage_file_array.cwl ├── valid_packed_stage_file_array_basename.cwl ├── valid_packed_stage_file_array_basename_and_entryname.cwl ├── valid_packed_stagefile.cwl ├── valid_packed_stderr-mediumcut.cwl ├── valid_packed_stderr-shortcut.cwl ├── valid_packed_stderr.cwl ├── valid_packed_stdout_chained_commands.cwl ├── valid_packed_step-valuefrom-wf.cwl ├── valid_packed_step-valuefrom2-wf.cwl ├── valid_packed_step-valuefrom3-wf.cwl ├── valid_packed_step-valuefrom4-wf.cwl ├── valid_packed_step-valuefrom5-wf.cwl ├── valid_packed_steplevel-resreq.cwl ├── valid_packed_storage_float.cwl ├── valid_packed_sum-wf-noET.cwl ├── valid_packed_sum-wf.cwl ├── valid_packed_symlink-illegal.cwl ├── valid_packed_symlink-legal.cwl ├── valid_packed_synth-file.cwl ├── valid_packed_template-tool.cwl ├── valid_packed_test-cwl-out.cwl ├── valid_packed_test-cwl-out2.cwl ├── valid_packed_timelimit.cwl ├── valid_packed_timelimit2-wf.cwl ├── valid_packed_timelimit2.cwl ├── valid_packed_timelimit3-wf.cwl ├── valid_packed_timelimit3.cwl ├── valid_packed_timelimit4.cwl ├── valid_packed_timelimit5.cwl ├── valid_packed_tmap-tool.cwl ├── valid_packed_tool-v12.cwl ├── valid_packed_touch.cwl ├── valid_packed_updatedir_inplace.cwl ├── valid_packed_updateval_inplace.cwl ├── valid_packed_valid_schemadef_types_with_import-wf.cwl ├── valid_packed_valueFrom-constant.cwl ├── valid_packed_vf-concat.cwl ├── valid_packed_wc-tool-shortcut.cwl ├── valid_packed_wc-tool.cwl ├── valid_packed_wc2-tool.cwl ├── valid_packed_wc3-tool.cwl ├── valid_packed_wc4-tool.cwl ├── valid_packed_wf-loadContents.cwl ├── valid_packed_wf-loadContents2.cwl ├── valid_packed_wf-loadContents3.cwl ├── valid_packed_wf-loadContents4.cwl ├── valid_packed_wf_ren.cwl ├── valid_packed_writable-dir-docker.cwl ├── valid_packed_writable-dir.cwl ├── valid_params.cwl ├── valid_params2.cwl ├── valid_params_input_length_non_array.cwl ├── valid_parseInt-tool.cwl ├── valid_pass-unconnected.cwl ├── valid_record-in-format.cwl ├── valid_record-in-secondaryFiles-missing-wf.cwl ├── valid_record-in-secondaryFiles-wf.cwl ├── valid_record-in-secondaryFiles.cwl ├── valid_record-order.cwl ├── valid_record-out-format.cwl ├── valid_record-out-secondaryFiles.cwl ├── valid_record-output-wf.cwl ├── valid_record-output.cwl ├── valid_record-sd-secondaryFiles.cwl ├── valid_record_outputeval.cwl ├── valid_record_outputeval_nojs.cwl ├── valid_recursive-input-directory.cwl ├── valid_rename-inputs.cwl ├── valid_rename-outputs.cwl ├── valid_rename.cwl ├── valid_revsort-abstract.cwl ├── valid_revsort-packed.cwl ├── valid_revsort.cwl ├── valid_revtool.cwl ├── valid_runtime-outdir.cwl ├── valid_runtime-paths-distinct.cwl ├── valid_scatter-valueFrom-tool.cwl ├── valid_scatter-valuefrom-inputs-wf1.cwl ├── valid_scatter-valuefrom-wf1.cwl ├── valid_scatter-valuefrom-wf2.cwl ├── valid_scatter-valuefrom-wf3.cwl ├── valid_scatter-valuefrom-wf4.cwl ├── valid_scatter-valuefrom-wf5.cwl ├── valid_scatter-valuefrom-wf6.cwl ├── valid_scatter-wf1.cwl ├── valid_scatter-wf2.cwl ├── valid_scatter-wf3.cwl ├── valid_scatter-wf4.cwl ├── valid_schemadef-tool.cwl ├── valid_schemadef-wf.cwl ├── valid_schemadef_types_with_import-wf.cwl ├── valid_search.cwl ├── valid_shellchar.cwl ├── valid_shellchar2.cwl ├── valid_size-expression-tool.cwl ├── valid_sorttool.cwl ├── valid_stage-array-dirs.cwl ├── valid_stage-array.cwl ├── valid_stage-unprovided-file.cwl ├── valid_stage_file_array.cwl ├── valid_stage_file_array_basename.cwl ├── valid_stage_file_array_basename_and_entryname.cwl ├── valid_stagefile.cwl ├── valid_stderr-mediumcut.cwl ├── valid_stderr-shortcut.cwl ├── valid_stderr.cwl ├── valid_stdout_chained_commands.cwl ├── valid_step-valuefrom-wf.cwl ├── valid_step-valuefrom2-wf.cwl ├── valid_step-valuefrom3-wf.cwl ├── valid_step-valuefrom4-wf.cwl ├── valid_step-valuefrom5-wf.cwl ├── valid_steplevel-resreq.cwl ├── valid_storage_float.cwl ├── valid_sum-wf-noET.cwl ├── valid_sum-wf.cwl ├── valid_symlink-illegal.cwl ├── valid_symlink-legal.cwl ├── valid_synth-file.cwl ├── valid_template-tool.cwl ├── valid_test-cwl-out.cwl ├── valid_test-cwl-out2.cwl ├── valid_timelimit.cwl ├── valid_timelimit2-wf.cwl ├── valid_timelimit2.cwl ├── valid_timelimit3-wf.cwl ├── valid_timelimit3.cwl ├── valid_timelimit4.cwl ├── valid_timelimit5.cwl ├── valid_tmap-tool.cwl ├── valid_tool-v12.cwl ├── valid_touch.cwl ├── valid_updatedir_inplace.cwl ├── valid_updateval_inplace.cwl ├── valid_valueFrom-constant.cwl ├── valid_vf-concat.cwl ├── valid_wc-tool-shortcut.cwl ├── valid_wc-tool.cwl ├── valid_wc2-tool.cwl ├── valid_wc3-tool.cwl ├── valid_wc4-tool.cwl ├── valid_wf-loadContents.cwl ├── valid_wf-loadContents2.cwl ├── valid_wf-loadContents3.cwl ├── valid_wf-loadContents4.cwl ├── valid_wf_ren.cwl ├── valid_writable-dir-docker.cwl ├── valid_writable-dir.cwl ├── wc-tool.cwl ├── wc2-tool.cwl ├── wc3-tool.cwl └── whale.txt /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | .classpath 3 | .project 4 | .settings 5 | /bin/ 6 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/package.html: -------------------------------------------------------------------------------- 1 | 2 | Package for the auto-generated Java objects corresponding generated by Schema Salad 3 | for https://w3id.org/cwl/cwl#. 4 | 5 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/utils/AnyLoader.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | public class AnyLoader implements Loader { 4 | 5 | public Object load( 6 | final Object doc, 7 | final String baseUri, 8 | final LoadingOptions loadingOptions, 9 | final String docRoot) { 10 | if (doc == null) { 11 | throw new ValidationException("Expected non-null"); 12 | } 13 | return doc; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/utils/Fetcher.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | public interface Fetcher { 4 | 5 | public abstract String urlJoin(final String baseUrl, final String url); 6 | 7 | public abstract String fetchText(final String url); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/utils/NullLoader.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | public class NullLoader implements Loader { 4 | 5 | public Object load( 6 | final Object doc, 7 | final String baseUri, 8 | final LoadingOptions loadingOptions, 9 | final String docRoot) { 10 | if (doc != null) { 11 | throw new ValidationException("Expected null"); 12 | } 13 | return doc; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/utils/PrimitiveLoader.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | public class PrimitiveLoader implements Loader { 4 | private Class clazz; 5 | 6 | public PrimitiveLoader(Class clazz) { 7 | this.clazz = clazz; 8 | } 9 | 10 | public T load( 11 | final Object doc, 12 | final String baseUri, 13 | final LoadingOptions loadingOptions, 14 | final String docRoot) { 15 | return Loader.validateOfJavaType(this.clazz, doc); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/utils/Saveable.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | public interface Saveable { 4 | // TODO: implement writable interface 5 | // public abstract void save(boolean top, String baseUrl, boolean relativeUris); 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/utils/SaveableImpl.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | public class SaveableImpl implements Saveable { 4 | public SaveableImpl(Object doc, String baseUri, LoadingOptions loadingOptions, String docRoot) {} 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_1/utils/package.html: -------------------------------------------------------------------------------- 1 | 2 | This package contains utilities for working the SchemaSalad generated code for the org.w3id.cwl.cwl1_1 package. 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/package.html: -------------------------------------------------------------------------------- 1 | 2 | Package for the auto-generated Java objects corresponding generated by Schema Salad 3 | for https://w3id.org/cwl/cwl#. 4 | 5 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/utils/AnyLoader.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | public class AnyLoader implements Loader { 4 | 5 | public Object load( 6 | final Object doc, 7 | final String baseUri, 8 | final LoadingOptions loadingOptions, 9 | final String docRoot) { 10 | if (doc == null) { 11 | throw new ValidationException("Expected non-null"); 12 | } 13 | return doc; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/utils/Fetcher.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | public interface Fetcher { 4 | 5 | public abstract String urlJoin(final String baseUrl, final String url); 6 | 7 | public abstract String fetchText(final String url); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/utils/NullLoader.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | public class NullLoader implements Loader { 4 | 5 | public Object load( 6 | final Object doc, 7 | final String baseUri, 8 | final LoadingOptions loadingOptions, 9 | final String docRoot) { 10 | if (doc != null) { 11 | throw new ValidationException("Expected null"); 12 | } 13 | return doc; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/utils/PrimitiveLoader.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | public class PrimitiveLoader implements Loader { 4 | private Class clazz; 5 | 6 | public PrimitiveLoader(Class clazz) { 7 | this.clazz = clazz; 8 | } 9 | 10 | public T load( 11 | final Object doc, 12 | final String baseUri, 13 | final LoadingOptions loadingOptions, 14 | final String docRoot) { 15 | return Loader.validateOfJavaType(this.clazz, doc); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/utils/Saveable.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | public interface Saveable { 4 | // TODO: implement writable interface 5 | // public abstract void save(boolean top, String baseUrl, boolean relativeUris); 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/utils/SaveableImpl.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | public class SaveableImpl implements Saveable { 4 | public SaveableImpl(Object doc, String baseUri, LoadingOptions loadingOptions, String docRoot) {} 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/org/w3id/cwl/cwl1_2/utils/package.html: -------------------------------------------------------------------------------- 1 | 2 | This package contains utilities for working the SchemaSalad generated code for the org.w3id.cwl.cwl1_2 package. 3 | 4 | -------------------------------------------------------------------------------- /src/main/javadoc/overview.html: -------------------------------------------------------------------------------- 1 | 2 | This project contains Java objects and utilities auto-generated by Schema Salad 3 | for parsing documents corresponding to the https://w3id.org/cwl/cwl# schema. 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: org.w3id.cwl.cwl1_2.utils.Validator 3 | -------------------------------------------------------------------------------- /src/test/java/org/w3id/cwl/cwl1_1/utils/AnonymousRecordTest.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | public class AnonymousRecordTest { 4 | 5 | @org.junit.Test 6 | public void test_record_with_anonymous_type_record() throws Exception { 7 | java.net.URL url = getClass().getResource("record-in-format.cwl.json"); 8 | java.nio.file.Path resPath = java.nio.file.Paths.get(url.toURI()); 9 | RootLoader.loadDocument(resPath); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/org/w3id/cwl/cwl1_1/utils/YamlUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_1.utils; 2 | 3 | import java.util.Map; 4 | import org.junit.Assert; 5 | import org.junit.Test; 6 | 7 | public class YamlUtilsTest { 8 | @Test 9 | public void testSimpleLoad() { 10 | final String yamlStr = "moo: cow\nbark: dog\n"; 11 | final Map loaded = YamlUtils.mapFromString(yamlStr); 12 | Assert.assertEquals(loaded.get("moo"), "cow"); 13 | Assert.assertEquals(loaded.get("bark"), "dog"); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/org/w3id/cwl/cwl1_2/utils/AnonymousRecordTest.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | public class AnonymousRecordTest { 4 | 5 | @org.junit.Test 6 | public void test_record_with_anonymous_type_record() throws Exception { 7 | java.net.URL url = getClass().getResource("record-in-format.cwl.json"); 8 | java.nio.file.Path resPath = java.nio.file.Paths.get(url.toURI()); 9 | RootLoader.loadDocument(resPath); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/org/w3id/cwl/cwl1_2/utils/YamlUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.w3id.cwl.cwl1_2.utils; 2 | 3 | import java.util.Map; 4 | import org.junit.Assert; 5 | import org.junit.Test; 6 | 7 | public class YamlUtilsTest { 8 | @Test 9 | public void testSimpleLoad() { 10 | final String yamlStr = "moo: cow\nbark: dog\n"; 11 | final Map loaded = YamlUtils.mapFromString(yamlStr); 12 | Assert.assertEquals(loaded.get("moo"), "cow"); 13 | Assert.assertEquals(loaded.get("bark"), "dog"); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/capture_kit.yml: -------------------------------------------------------------------------------- 1 | - name: capture_kit 2 | type: record 3 | fields: 4 | - name: bait 5 | type: string 6 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/envvar.yml: -------------------------------------------------------------------------------- 1 | class: EnvVarRequirement 2 | envDef: 3 | - envName: "TEST_ENV" 4 | envValue: "hello test env" 5 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/schemadef-type.yml: -------------------------------------------------------------------------------- 1 | class: SchemaDefRequirement 2 | types: 3 | - name: HelloType 4 | type: record 5 | fields: 6 | - name: a 7 | type: string 8 | - name: b 9 | type: string 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_any-type-compat.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: Workflow 3 | 4 | steps: [] 5 | inputs: 6 | input1: 7 | type: Any 8 | input2: 9 | type: Any[] 10 | input3: 11 | type: Any 12 | 13 | outputs: 14 | - id: output1 15 | type: string[] 16 | outputSource: input1 17 | - id: output2 18 | type: string[] 19 | outputSource: input2 20 | - id: output3 21 | type: string 22 | outputSource: input3 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_bool-empty-inputbinding.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | hints: 5 | - class: DockerRequirement 6 | dockerPull: python:2-slim 7 | inputs: 8 | - id: flag 9 | type: boolean 10 | inputBinding: {} 11 | - id: "args.py" 12 | type: File 13 | default: 14 | class: File 15 | location: args.py 16 | inputBinding: 17 | position: -1 18 | outputs: 19 | - id: args 20 | type: string[] 21 | baseCommand: python 22 | arguments: [] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_cat-from-dir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | 6 | inputs: 7 | dir1: Directory 8 | 9 | outputs: 10 | output: 11 | type: stdout 12 | 13 | baseCommand: [cat] 14 | 15 | stdin: $(inputs.dir1.listing[0].path) 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_cat-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | 6 | inputs: 7 | file1: File 8 | 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | 14 | baseCommand: [cat] 15 | 16 | stdin: $(inputs.file1.path) 17 | stdout: output 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_cat3-from-dir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | inputs: 5 | dir1: 6 | type: Directory 7 | inputBinding: 8 | valueFrom: $(self.listing[0].path) 9 | outputs: 10 | output_file: 11 | type: File 12 | outputBinding: {glob: output.txt} 13 | baseCommand: cat 14 | stdout: output.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_cat3-nodocker.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: "Print the contents of a file to stdout using 'cat'." 5 | inputs: 6 | file1: 7 | type: File 8 | label: Input File 9 | doc: "The file that will be copied using 'cat'" 10 | inputBinding: {position: 1} 11 | outputs: 12 | output_file: 13 | type: File 14 | outputBinding: {glob: output.txt} 15 | baseCommand: cat 16 | stdout: output.txt 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_cat4-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: "Print the contents of a file to stdout using 'cat' running in a docker container if docker is available." 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: 9 | file1: File 10 | outputs: 11 | output_txt: 12 | type: File 13 | outputBinding: 14 | glob: output.txt 15 | baseCommand: cat 16 | stdout: output.txt 17 | stdin: $(inputs.file1.path) 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines1-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | 9 | outputs: 10 | wc_output: 11 | type: File 12 | outputSource: step1/output 13 | 14 | steps: 15 | step1: 16 | run: wc-tool.cwl 17 | in: 18 | file1: file1 19 | out: [output] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines1-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | 9 | outputs: 10 | count_output: 11 | type: int 12 | outputSource: step2/output 13 | 14 | steps: 15 | step1: 16 | run: wc-tool.cwl 17 | in: 18 | file1: file1 19 | out: [output] 20 | 21 | step2: 22 | run: parseInt-tool.cwl 23 | in: 24 | file1: step1/output 25 | out: [output] 26 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines11-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: File? 7 | 8 | outputs: 9 | wc_output: 10 | type: File 11 | outputSource: step1/output 12 | 13 | steps: 14 | step1: 15 | run: wc-tool.cwl 16 | in: 17 | file1: 18 | source: file1 19 | default: 20 | class: File 21 | location: whale.txt 22 | out: [output] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines13-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: File[] 7 | file2: File[] 8 | 9 | outputs: 10 | count_output: 11 | type: int 12 | outputSource: step1/output 13 | 14 | steps: 15 | step1: 16 | run: wc3-tool.cwl 17 | in: 18 | file1: 19 | source: [file1] 20 | out: [output] 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines3-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: 7 | type: File[] 8 | 9 | outputs: 10 | count_output: 11 | type: int[] 12 | outputSource: step1/output 13 | 14 | requirements: 15 | ScatterFeatureRequirement: {} 16 | 17 | steps: 18 | step1: 19 | run: wc2-tool.cwl 20 | scatter: file1 21 | in: 22 | file1: file1 23 | out: [output] 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines5-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | default: {class: File, location: hello.txt} 9 | outputs: 10 | count_output: 11 | type: int 12 | outputSource: step1/output 13 | steps: 14 | step1: 15 | run: wc2-tool.cwl 16 | in: 17 | file1: file1 18 | out: [output] 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines8-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: File 7 | 8 | outputs: 9 | wc_output: 10 | type: File 11 | outputSource: step1/wc_output 12 | 13 | requirements: 14 | - class: SubworkflowFeatureRequirement 15 | 16 | steps: 17 | step1: 18 | run: count-lines1-wf-noET.cwl 19 | in: 20 | file1: file1 21 | out: [wc_output] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines8-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | file1: File 7 | 8 | outputs: 9 | count_output: 10 | type: int 11 | outputSource: step1/count_output 12 | 13 | requirements: 14 | - class: SubworkflowFeatureRequirement 15 | 16 | steps: 17 | step1: 18 | run: count-lines1-wf.cwl 19 | in: 20 | file1: file1 21 | out: [count_output] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines9-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: [] 6 | 7 | outputs: 8 | wc_output: 9 | type: File 10 | outputSource: step1/output 11 | 12 | steps: 13 | step1: 14 | run: wc-tool.cwl 15 | in: 16 | file1: 17 | default: 18 | class: File 19 | location: whale.txt 20 | out: [output] 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_count-lines9-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: [] 6 | 7 | outputs: 8 | count_output: 9 | type: int 10 | outputSource: step2/output 11 | 12 | steps: 13 | step1: 14 | run: wc-tool.cwl 15 | in: 16 | file1: 17 | default: 18 | class: File 19 | location: whale.txt 20 | out: [output] 21 | 22 | step2: 23 | run: parseInt-tool.cwl 24 | in: 25 | file1: step1/output 26 | out: [output] 27 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_default_path.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | inputs: 4 | - id: "file1" 5 | type: File 6 | default: 7 | class: File 8 | path: whale.txt 9 | outputs: [] 10 | arguments: [cat,$(inputs.file1.path)] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dir.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | - class: ShellCommandRequirement 5 | inputs: 6 | indir: Directory 7 | outputs: 8 | outlist: 9 | type: File 10 | outputBinding: 11 | glob: output.txt 12 | arguments: ["cd", "$(inputs.indir.path)", 13 | {shellQuote: false, valueFrom: "&&"}, 14 | "find", ".", 15 | {shellQuote: false, valueFrom: "|"}, 16 | "sort"] 17 | stdout: output.txt -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dir2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | ShellCommandRequirement: {} 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: 9 | indir: Directory 10 | outputs: 11 | outlist: 12 | type: File 13 | outputBinding: 14 | glob: output.txt 15 | arguments: ["cd", "$(inputs.indir.path)", 16 | {shellQuote: false, valueFrom: "&&"}, 17 | "find", ".", 18 | {shellQuote: false, valueFrom: "|"}, 19 | "sort"] 20 | stdout: output.txt 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dir3.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | baseCommand: [tar, xvf] 4 | inputs: 5 | inf: 6 | type: File 7 | inputBinding: 8 | position: 1 9 | outputs: 10 | outdir: 11 | type: Directory 12 | outputBinding: 13 | glob: . 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dir4.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | - class: ShellCommandRequirement 5 | inputs: 6 | inf: File 7 | outputs: 8 | outlist: 9 | type: File 10 | outputBinding: 11 | glob: output.txt 12 | arguments: ["cd", "$(inputs.inf.dirname)/xtestdir", 13 | {shellQuote: false, valueFrom: "&&"}, 14 | "find", ".", 15 | {shellQuote: false, valueFrom: "|"}, 16 | "sort"] 17 | stdout: output.txt 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dir6.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | - class: ShellCommandRequirement 5 | inputs: 6 | indir: 7 | type: Directory 8 | inputBinding: 9 | prefix: cd 10 | position: -1 11 | outputs: 12 | outlist: 13 | type: File 14 | outputBinding: 15 | glob: output.txt 16 | arguments: [ 17 | {shellQuote: false, valueFrom: "&&"}, 18 | "find", ".", 19 | {shellQuote: false, valueFrom: "|"}, 20 | "sort"] 21 | stdout: output.txt -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dir7.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.1 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | inputs: 6 | files: File[] 7 | outputs: 8 | dir: Directory 9 | expression: | 10 | ${ 11 | return {"dir": {"class": "Directory", "basename": "a_directory", "listing": inputs.files}}; 12 | } -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_docker-output-dir.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: debian:stretch-slim 6 | dockerOutputDirectory: /other 7 | inputs: [] 8 | outputs: 9 | thing: 10 | type: File 11 | outputBinding: 12 | glob: thing 13 | baseCommand: ["touch", "/other/thing"] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_docker-run-cmd.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: bash:4.4.12 6 | inputs: [] 7 | outputs: 8 | cow: 9 | type: File 10 | outputBinding: 11 | glob: cow 12 | baseCommand: ["-c", "echo 'moo' > cow"] 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dynresreq-dir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | 5 | requirements: 6 | InlineJavascriptRequirement: {} 7 | ResourceRequirement: 8 | coresMin: $(inputs.dir.listing[0].size) 9 | coresMax: $(inputs.dir.listing[0].size) 10 | 11 | inputs: 12 | dir: Directory 13 | 14 | outputs: 15 | output: 16 | type: stdout 17 | 18 | baseCommand: echo 19 | 20 | stdout: cores.txt 21 | 22 | arguments: [ $(runtime.cores) ] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dynresreq-workflow-tooldefault.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | special_file: File? 7 | outputs: 8 | cores: 9 | type: File 10 | outputSource: report/output 11 | 12 | steps: 13 | count: 14 | in: 15 | special_file: special_file 16 | out: [output] 17 | run: dynresreq-default.cwl 18 | 19 | report: 20 | in: 21 | file1: count/output 22 | out: [output] 23 | run: cat-tool.cwl 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dynresreq-workflow.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | special_file: File 7 | 8 | outputs: 9 | cores: 10 | type: File 11 | outputSource: report/output 12 | 13 | steps: 14 | count: 15 | in: 16 | special_file: special_file 17 | out: [output] 18 | run: dynresreq.cwl 19 | 20 | report: 21 | in: 22 | file1: count/output 23 | out: [output] 24 | run: cat-tool.cwl 25 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_dynresreq.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | 5 | requirements: 6 | ResourceRequirement: 7 | coresMin: $(inputs.special_file.size) 8 | coresMax: $(inputs.special_file.size) 9 | 10 | inputs: 11 | special_file: File 12 | 13 | outputs: 14 | output: 15 | type: stdout 16 | 17 | baseCommand: echo 18 | 19 | stdout: cores.txt 20 | 21 | arguments: [ $(runtime.cores) ] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_echo-file-tool.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | baseCommand: [echo] 4 | inputs: 5 | in: 6 | type: string 7 | inputBinding: 8 | position: 1 9 | name: string? 10 | stdout: out.txt 11 | outputs: 12 | out: 13 | type: stdout 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_echo-tool-default.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | inputs: 6 | in: 7 | type: string 8 | default: tool_default 9 | inputBinding: 10 | position: 1 11 | outputs: 12 | out: 13 | type: string 14 | outputBinding: 15 | glob: out.txt 16 | loadContents: true 17 | outputEval: $(self[0].contents) 18 | baseCommand: [echo, -n] 19 | stdout: out.txt 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_echo-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | inputs: 6 | in: 7 | type: Any 8 | inputBinding: {} 9 | outputs: 10 | out: 11 | type: string 12 | outputBinding: 13 | glob: out.txt 14 | loadContents: true 15 | outputEval: $(self[0].contents) 16 | baseCommand: echo 17 | stdout: out.txt 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_echo-wf-default.cwl: -------------------------------------------------------------------------------- 1 | 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: [] 6 | 7 | steps: 8 | step1: 9 | run: echo-tool-default.cwl 10 | in: 11 | in: 12 | default: workflow_default 13 | out: [out] 14 | 15 | outputs: 16 | default_output: 17 | type: string 18 | outputSource: step1/out 19 | 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_env-tool1.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | requirements: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: $(inputs.in) 15 | 16 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_env-tool2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | hints: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: $(inputs.in) 15 | 16 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_env-tool3.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | baseCommand: ["/bin/bash", "-c", "echo $TEST_ENV"] 12 | 13 | stdout: out 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_env-tool4.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | requirements: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: conflict_original 15 | 16 | baseCommand: ["/bin/bash", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_env-wf1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | in: string 7 | 8 | outputs: 9 | out: 10 | type: File 11 | outputSource: step1/out 12 | 13 | requirements: 14 | EnvVarRequirement: 15 | envDef: 16 | TEST_ENV: override 17 | 18 | steps: 19 | step1: 20 | run: env-tool1.cwl 21 | in: 22 | in: in 23 | out: [out] 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_env-wf2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | in: string 7 | 8 | outputs: 9 | out: 10 | type: File 11 | outputSource: step1/out 12 | 13 | requirements: 14 | EnvVarRequirement: 15 | envDef: 16 | TEST_ENV: override 17 | 18 | steps: 19 | step1: 20 | run: env-tool2.cwl 21 | in: 22 | in: in 23 | out: [out] 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_env-wf3.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | in: string 7 | 8 | outputs: 9 | out: 10 | type: File 11 | outputSource: step1/out 12 | 13 | steps: 14 | step1: 15 | run: env-tool2.cwl 16 | requirements: 17 | EnvVarRequirement: 18 | envDef: 19 | TEST_ENV: override 20 | in: 21 | in: in 22 | out: [out] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_envvar.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ShellCommandRequirement: {} 7 | arguments: [ 8 | echo, {valueFrom: '"HOME=$HOME"', shellQuote: false}, {valueFrom: '"TMPDIR=$TMPDIR"', shellQuote: false}, 9 | {valueFrom: '&&', shellQuote: false}, 10 | test, {valueFrom: '"$HOME"', shellQuote: false}, "=", $(runtime.outdir), 11 | "-a", {valueFrom: '"$TMPDIR"', shellQuote: false}, "=", $(runtime.tmpdir)] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_exit-success.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.1 3 | class: CommandLineTool 4 | 5 | inputs: [] 6 | baseCommand: "false" 7 | outputs: [] 8 | 9 | successCodes: [ 1 ] 10 | permanentFailCodes: [ 0 ] 11 | temporaryFailCodes: [ 42 ] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_exitcode.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | requirements: 4 | ShellCommandRequirement: {} 5 | inputs: [] 6 | outputs: 7 | code: 8 | type: int 9 | outputBinding: 10 | outputEval: $(runtime.exitCode) 11 | successCodes: [7] 12 | arguments: ["exit", "7"] 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_fail-unconnected.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.1 3 | inputs: 4 | inp1: 5 | type: string 6 | default: hello inp1 7 | inp2: 8 | type: string 9 | default: hello inp2 10 | outputs: 11 | out: 12 | type: string 13 | outputSource: step1/out 14 | steps: 15 | step1: 16 | in: 17 | in: inp1 18 | in2: inp2 19 | out: [out] 20 | run: fail-unspecified-input.cwl 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_fail-unspecified-input.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: string 8 | outputBinding: 9 | glob: out.txt 10 | loadContents: true 11 | outputEval: $(self[0].contents) 12 | stdout: out.txt 13 | arguments: [echo, $(inputs.in), $(inputs.in2)] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_file-literal-ex.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.1 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | inputs: [] 6 | outputs: 7 | lit: File 8 | expression: | 9 | ${ 10 | return {"lit": {"class": "File", "basename": "a_file", "contents": "Hello file literal."}}; 11 | } -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_formattest.cwl: -------------------------------------------------------------------------------- 1 | $namespaces: 2 | edam: "http://edamontology.org/" 3 | cwlVersion: v1.1 4 | class: CommandLineTool 5 | doc: "Reverse each line using the `rev` command" 6 | inputs: 7 | input: 8 | type: File 9 | inputBinding: {} 10 | format: edam:format_2330 11 | 12 | outputs: 13 | output: 14 | type: File 15 | outputBinding: 16 | glob: output.txt 17 | format: edam:format_2330 18 | 19 | baseCommand: rev 20 | stdout: output.txt -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_glob-expr-list.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | 4 | inputs: 5 | ids: 6 | type: string[] 7 | inputBinding: 8 | position: 1 9 | 10 | outputs: 11 | files: 12 | type: File[] 13 | outputBinding: 14 | glob: $(inputs.ids) 15 | 16 | baseCommand: touch 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_glob-path-error.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | cwlVersion: v1.1 4 | 5 | requirements: 6 | - class: DockerRequirement 7 | dockerPull: debian:stretch-slim 8 | 9 | class: CommandLineTool 10 | 11 | inputs: [] 12 | 13 | outputs: 14 | - id: OUTPUT 15 | type: File 16 | outputBinding: 17 | glob: /etc/passwd 18 | 19 | baseCommand: [echo] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_glob_directory.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.1 3 | class: CommandLineTool 4 | 5 | inputs: [] 6 | baseCommand: [mkdir, a_dir, b_dir, c_dir] 7 | outputs: 8 | directories: 9 | type: Directory[] 10 | outputBinding: { glob: '[a,b,c]_dir' } 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_glob_test.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.1 3 | class: CommandLineTool 4 | 5 | inputs: [] 6 | baseCommand: [touch, z, y, x, w, c, b, a] 7 | outputs: 8 | letters: 9 | type: File[] 10 | outputBinding: { glob: '*' } 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_imported-hint.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.1 3 | class: CommandLineTool 4 | inputs: [] 5 | outputs: 6 | out: stdout 7 | 8 | hints: 9 | - $import: envvar.yml 10 | 11 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 12 | 13 | stdout: out 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_initialwork-path.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | InitialWorkDirRequirement: 5 | listing: 6 | - entry: $(inputs.file1) 7 | entryname: bob.txt 8 | ShellCommandRequirement: {} 9 | inputs: 10 | file1: File 11 | outputs: [] 12 | arguments: 13 | - shellQuote: false 14 | valueFrom: | 15 | test "$(inputs.file1.path)" = "$(runtime.outdir)/bob.txt" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_io-any-1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | 7 | inputs: 8 | - id: bar 9 | type: Any 10 | 11 | outputs: 12 | - id: t1 13 | type: Any 14 | outputBinding: 15 | outputEval: $(inputs.bar.class || inputs.bar) 16 | 17 | baseCommand: "true" 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_io-any-wf-1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.1 4 | 5 | inputs: 6 | bar: 7 | type: Any 8 | 9 | outputs: 10 | t1: 11 | type: Any 12 | outputSource: step1/t1 13 | 14 | steps: 15 | step1: 16 | in: 17 | bar: bar 18 | out: [t1] 19 | run: io-any-1.cwl 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_iwdr-entry.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | baseCommand: ["cat", "example.conf"] 6 | 7 | requirements: 8 | InitialWorkDirRequirement: 9 | listing: 10 | - entryname: example.conf 11 | entry: | 12 | CONFIGVAR=$(inputs.message) 13 | 14 | inputs: 15 | message: string 16 | outputs: 17 | out: 18 | type: File 19 | outputBinding: 20 | glob: example.conf 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_linkfile.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - $(inputs.src) 8 | 9 | inputs: 10 | src: 11 | type: File 12 | inputBinding: 13 | position: 1 14 | valueFrom: $(self.nameroot).class 15 | 16 | baseCommand: touch 17 | 18 | outputs: 19 | classfile: 20 | type: File 21 | outputBinding: 22 | glob: "*.class" 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_listing_deep1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | LoadListingRequirement: 6 | loadListing: deep_listing 7 | InlineJavascriptRequirement: {} 8 | inputs: 9 | d: Directory 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing.length === 1)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_listing_deep2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: 8 | type: Directory 9 | loadListing: deep_listing 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing.length === 1)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_listing_none1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: Directory 8 | outputs: 9 | out: 10 | type: boolean 11 | outputBinding: 12 | outputEval: $(inputs.d.listing === undefined) 13 | baseCommand: "true" 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_listing_none2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | LoadListingRequirement: 6 | loadListing: no_listing 7 | InlineJavascriptRequirement: {} 8 | inputs: 9 | d: Directory 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: $(inputs.d.listing === undefined) 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_listing_none3.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: 8 | type: Directory 9 | loadListing: no_listing 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: $(inputs.d.listing === undefined) 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_listing_shallow1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | LoadListingRequirement: 6 | loadListing: shallow_listing 7 | InlineJavascriptRequirement: {} 8 | inputs: 9 | d: Directory 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing === undefined)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_listing_shallow2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: 8 | type: Directory 9 | loadListing: shallow_listing 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing === undefined)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_mkdir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | inputs: 5 | dirname: string 6 | outputs: 7 | out: 8 | type: Directory 9 | outputBinding: 10 | glob: $(inputs.dirname) 11 | arguments: [mkdir, $(inputs.dirname)] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_nameroot.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | inputs: 4 | file1: File 5 | outputs: 6 | b: stdout 7 | stdout: $(inputs.file1.nameroot).xtx 8 | baseCommand: [] 9 | arguments: [echo, $(inputs.file1.basename), $(inputs.file1.nameroot), $(inputs.file1.nameext)] 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_nested-array.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | baseCommand: echo 4 | inputs: 5 | letters: 6 | type: 7 | type: array 8 | items: 9 | type: array 10 | items: string 11 | inputBinding: 12 | position: 1 13 | stdout: echo.txt 14 | outputs: 15 | echo: stdout -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_networkaccess.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: python:3 6 | NetworkAccess: 7 | networkAccess: true 8 | inputs: [] 9 | outputs: [] 10 | baseCommand: python 11 | arguments: 12 | - "-c" 13 | - valueFrom: | 14 | import urllib.request 15 | assert(urllib.request.urlopen("http://commonwl.org").code == 200) -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_networkaccess2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: python:3 6 | inputs: [] 7 | outputs: [] 8 | baseCommand: python 9 | arguments: 10 | - "-c" 11 | - valueFrom: | 12 | import urllib.request 13 | assert(urllib.request.urlopen("http://commonwl.org").code == 200) -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_no-inputs-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: "CommandLineTool without inputs." 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: [] 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | baseCommand: [echo, cwl] 14 | stdout: output 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_no-outputs-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: "CommandLineTool without outputs." 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: 9 | file1: 10 | type: File 11 | label: Input File 12 | inputBinding: {position: 1} 13 | outputs: [] 14 | baseCommand: echo 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_null-defined.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | inputs: 6 | file1: File? 7 | outputs: 8 | out: 9 | type: string 10 | outputBinding: 11 | glob: out.txt 12 | loadContents: true 13 | outputEval: $(self[0].contents) 14 | stdout: out.txt 15 | arguments: [echo, '$(inputs.file1 === null ? "t" : "f")'] 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_null-expression1-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | cwlVersion: v1.1 7 | 8 | inputs: 9 | i1: 10 | type: Any 11 | default: "the-default" 12 | 13 | outputs: 14 | output: int 15 | 16 | expression: "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})" -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_null-expression2-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | cwlVersion: v1.1 7 | 8 | inputs: 9 | i1: Any 10 | 11 | outputs: 12 | output: int 13 | 14 | expression: "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})" -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_null-expression3-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: { InlineJavascriptRequirement: {} } 5 | cwlVersion: v1.1 6 | 7 | inputs: [] 8 | 9 | outputs: 10 | output: Any 11 | 12 | expression: "$({'output': null })" 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_optional-numerical-output-0.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | baseCommand: 4 | - echo 5 | - "0" 6 | stdout: a.txt 7 | requirements: 8 | - class: InlineJavascriptRequirement 9 | inputs: [] 10 | outputs: 11 | out: 12 | type: float? 13 | outputBinding: 14 | glob: "a.txt" 15 | loadContents: true 16 | outputEval: "${\n return parseFloat(self[0].contents);\n}" -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_output-arrays-int.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | cwlVersion: v1.1 4 | class: ExpressionTool 5 | 6 | requirements: 7 | InlineJavascriptRequirement: {} 8 | 9 | inputs: 10 | i: 11 | type: int 12 | 13 | outputs: 14 | o: 15 | type: int[] 16 | 17 | expression: > 18 | ${return {'o': Array.apply(null, {length: inputs.i}).map(Number.call, Number)};} 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_params.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: 4 | bar: 5 | type: Any 6 | default: { 7 | "baz": "zab1", 8 | "b az": 2, 9 | "b'az": true, 10 | 'b"az': null, 11 | "buz": ['a', 'b', 'c'] 12 | } 13 | 14 | outputs: {"$import": params_inc.yml} 15 | 16 | baseCommand: "true" 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_params2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | - class: InlineJavascriptRequirement # needed by params_inc.yml 5 | 6 | inputs: 7 | bar: 8 | type: Any 9 | default: { 10 | "baz": "zab1", 11 | "b az": 2, 12 | "b'az": true, 13 | 'b"az': null, 14 | "buz": ['a', 'b', 'c'] 15 | } 16 | 17 | outputs: {"$import": params_inc.yml} 18 | 19 | baseCommand: "true" 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_parseInt-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | cwlVersion: v1.1 7 | 8 | inputs: 9 | file1: 10 | type: File 11 | inputBinding: { loadContents: true } 12 | 13 | outputs: 14 | output: int 15 | 16 | expression: "$({'output': parseInt(inputs.file1.contents)})" 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_pass-unconnected.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.1 3 | inputs: 4 | inp1: 5 | type: string 6 | default: hello inp1 7 | inp2: 8 | type: string 9 | default: hello inp2 10 | outputs: 11 | out: 12 | type: string 13 | outputSource: step1/out 14 | steps: 15 | step1: 16 | in: 17 | in: inp1 18 | in2: inp2 19 | out: [out] 20 | run: echo-tool.cwl 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_record-in-format.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: 4 | regular_input: 5 | type: File 6 | format: http://example.com/format1 7 | record_input: 8 | type: 9 | type: record 10 | fields: 11 | f1: 12 | type: File 13 | format: http://example.com/format1 14 | f2: 15 | type: 16 | type: array 17 | items: File 18 | format: http://example.com/format2 19 | outputs: [] 20 | arguments: ['true'] -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_record-in-secondaryFiles-missing-wf.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.1 3 | inputs: 4 | record_input: 5 | type: 6 | type: record 7 | fields: 8 | f1: 9 | type: File 10 | f2: 11 | type: 12 | type: array 13 | items: File 14 | outputs: [] 15 | steps: 16 | step1: 17 | in: 18 | record_input: record_input 19 | out: [] 20 | run: record-in-secondaryFiles.cwl -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_record-in-secondaryFiles-wf.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.1 3 | inputs: 4 | record_input: 5 | type: 6 | type: record 7 | fields: 8 | f1: 9 | type: File 10 | secondaryFiles: .s2 11 | f2: 12 | type: 13 | type: array 14 | items: File 15 | secondaryFiles: .s3 16 | outputs: [] 17 | steps: 18 | step1: 19 | in: 20 | record_input: record_input 21 | out: [] 22 | run: record-in-secondaryFiles.cwl -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_rename.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | baseCommand: "true" 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entryname: $(inputs.newname) 8 | entry: $(inputs.srcfile) 9 | inputs: 10 | srcfile: File 11 | newname: string 12 | outputs: 13 | outfile: 14 | type: File 15 | outputBinding: 16 | glob: $(inputs.newname) 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_runtime-paths-distinct.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | ShellCommandRequirement: {} 5 | inputs: {} 6 | outputs: 7 | foo: File 8 | arguments: 9 | - shellQuote: false 10 | valueFrom: | 11 | echo "cow" > "$(runtime.outdir)/foo" && 12 | echo "moo" > "$(runtime.tmpdir)/foo" && 13 | echo '{"foo": {"path": "$(runtime.outdir)/foo", "class": "File"} }' > cwl.output.json 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_scatter-valueFrom-tool.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | inputs: 4 | scattered_message: 5 | type: string 6 | inputBinding: 7 | position: 2 8 | message: 9 | type: string 10 | inputBinding: 11 | position: 1 12 | outputs: 13 | out_message: 14 | type: stdout 15 | baseCommand: echo 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_schemadef-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | 5 | requirements: 6 | - $import: schemadef-type.yml 7 | 8 | inputs: 9 | - id: hello 10 | type: "schemadef-type.yml#HelloType" 11 | inputBinding: 12 | valueFrom: $(self.a)/$(self.b) 13 | 14 | outputs: 15 | - id: output 16 | type: File 17 | outputBinding: 18 | glob: output.txt 19 | 20 | stdout: output.txt 21 | baseCommand: echo 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_schemadef-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | cwlVersion: v1.1 4 | class: Workflow 5 | 6 | requirements: 7 | - $import: schemadef-type.yml 8 | 9 | inputs: 10 | hello: "schemadef-type.yml#HelloType" 11 | 12 | outputs: 13 | output: 14 | type: File 15 | outputSource: step1/output 16 | 17 | steps: 18 | step1: 19 | in: 20 | hello: hello 21 | out: [output] 22 | run: schemadef-tool.cwl 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_shellchar.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: | 5 | Ensure that arguments containing shell directives are not interpreted and 6 | that `shellQuote: false` has no effect when ShellCommandRequirement is not in 7 | effect. 8 | inputs: [] 9 | outputs: 10 | stdout_file: stdout 11 | stderr_file: stderr 12 | baseCommand: echo 13 | arguments: [{valueFrom: "foo 1>&2", shellQuote: false}] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_shellchar2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: | 5 | Ensure that `shellQuote: true` is the default behavior when 6 | ShellCommandRequirement is in effect. 7 | requirements: 8 | ShellCommandRequirement: {} 9 | inputs: [] 10 | outputs: 11 | stdout_file: stdout 12 | stderr_file: stderr 13 | baseCommand: echo 14 | arguments: ["foo 1>&2"] 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_stage-array-dirs.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | id: stage_array_dirs 6 | baseCommand: 7 | - ls 8 | inputs: 9 | - id: input_list 10 | type: Directory[] 11 | outputs: 12 | - id: output 13 | type: File[] 14 | outputBinding: 15 | glob: 16 | - testdir/a 17 | - rec/B 18 | label: stage-array-dirs.cwl 19 | requirements: 20 | - class: InitialWorkDirRequirement 21 | listing: 22 | - $(inputs.input_list) 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_stderr-mediumcut.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: "Test of capturing stderr output in a docker container." 5 | requirements: 6 | ShellCommandRequirement: {} 7 | inputs: [] 8 | outputs: 9 | output_file: 10 | type: stderr 11 | arguments: 12 | - { valueFrom: "echo foo 1>&2", shellQuote: False } 13 | stderr: std.err 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_stderr-shortcut.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: "Test of capturing stderr output." 5 | requirements: 6 | ShellCommandRequirement: {} 7 | inputs: [] 8 | outputs: 9 | output_file: 10 | type: stderr 11 | arguments: 12 | - { valueFrom: "echo foo 1>&2", shellQuote: False } 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_stderr.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | doc: "Test of capturing stderr output." 5 | requirements: 6 | ShellCommandRequirement: {} 7 | inputs: [] 8 | outputs: 9 | output_file: 10 | type: File 11 | outputBinding: {glob: error.txt} 12 | arguments: 13 | - { valueFrom: "echo foo 1>&2", shellQuote: False } 14 | stderr: error.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_test-cwl-out.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | - class: ShellCommandRequirement 5 | hints: 6 | DockerRequirement: 7 | dockerPull: "debian:stretch-slim" 8 | 9 | inputs: [] 10 | 11 | outputs: 12 | - id: foo 13 | type: File 14 | 15 | arguments: 16 | - valueFrom: > 17 | echo foo > foo && echo '{"foo": {"path": "$(runtime.outdir)/foo", "class": "File"} }' > cwl.output.json 18 | shellQuote: false 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_test-cwl-out2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | requirements: 4 | - class: ShellCommandRequirement 5 | hints: 6 | DockerRequirement: 7 | dockerPull: "debian:stretch-slim" 8 | 9 | inputs: [] 10 | 11 | outputs: 12 | - id: foo 13 | type: File 14 | 15 | arguments: 16 | - valueFrom: > 17 | echo foo > foo && echo '{"foo": {"location": "file://$(runtime.outdir)/foo", "class": "File"} }' > cwl.output.json 18 | shellQuote: false 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_timelimit.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ToolTimeLimit: 7 | timelimit: 3 8 | WorkReuse: 9 | enableReuse: false 10 | baseCommand: [sleep, "15"] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_timelimit2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ToolTimeLimit: 7 | timelimit: -1 8 | baseCommand: [sleep, "15"] 9 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_timelimit3.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ToolTimeLimit: 7 | timelimit: 0 8 | WorkReuse: 9 | enableReuse: false 10 | baseCommand: [sleep, "15"] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_timelimit4.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.1 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | InlineJavascriptRequirement: {} 7 | ToolTimeLimit: 8 | timelimit: $(1+2) 9 | WorkReuse: 10 | enableReuse: false 11 | baseCommand: [sleep, "15"] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_touch.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.1 3 | class: CommandLineTool 4 | 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | 9 | inputs: 10 | name: 11 | type: string 12 | inputBinding: 13 | position: 0 14 | 15 | outputs: 16 | empty_file: 17 | type: File 18 | outputBinding: 19 | glob: $(inputs.name) 20 | 21 | baseCommand: [touch] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_updatedir_inplace.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entry: $(inputs.r) 8 | entryname: inp 9 | writable: true 10 | InplaceUpdateRequirement: 11 | inplaceUpdate: true 12 | inputs: 13 | r: Directory 14 | outputs: 15 | out: 16 | type: Directory 17 | outputBinding: 18 | glob: inp 19 | arguments: [touch, inp/blurb] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_vf-concat.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | requirements: 4 | - class: InlineJavascriptRequirement 5 | 6 | baseCommand: echo 7 | inputs: 8 | file1: 9 | type: File? 10 | inputBinding: 11 | valueFrom: $("a ")$("string") 12 | outputs: 13 | out: 14 | type: string 15 | outputBinding: 16 | glob: output.txt 17 | loadContents: true 18 | outputEval: $(self[0].contents) 19 | stdout: output.txt 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_wc-tool-shortcut.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | 6 | requirements: 7 | - class: DockerRequirement 8 | dockerPull: debian:stretch-slim 9 | 10 | inputs: 11 | file1: stdin 12 | 13 | outputs: 14 | output: 15 | type: File 16 | outputBinding: { glob: output } 17 | 18 | baseCommand: [wc] 19 | 20 | stdout: output 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_wc-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.1 5 | 6 | inputs: 7 | file1: File 8 | 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | 14 | baseCommand: [wc, -l] 15 | 16 | stdin: $(inputs.file1.path) 17 | stdout: output 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_wc2-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.1 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | 7 | inputs: 8 | - { id: file1, type: File, inputBinding: {} } 9 | outputs: 10 | - id: output 11 | type: int 12 | outputBinding: 13 | glob: output.txt 14 | loadContents: true 15 | outputEval: "$(parseInt(self[0].contents))" 16 | stdout: output.txt 17 | baseCommand: wc 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_1/utils/valid_writable-dir.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.1 2 | class: CommandLineTool 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entryname: emptyWritableDir 8 | writable: true 9 | entry: "$({class: 'Directory', listing: []})" 10 | inputs: [] 11 | outputs: 12 | out: 13 | type: Directory 14 | outputBinding: 15 | glob: emptyWritableDir 16 | arguments: [touch, emptyWritableDir/blurg] 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/action.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | initial_file: File 6 | out_file_name: string 7 | outputs: 8 | processed_file: stdout 9 | stdout: $(inputs.out_file_name) 10 | arguments: [echo, $(inputs.initial_file.basename)] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/args.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import sys 3 | import json 4 | import os 5 | args = [os.path.basename(a) for a in sys.argv[1:]] 6 | with open("cwl.output.json", "w") as f: 7 | json.dump({"args": args}, f) 8 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/bar.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in1: int 5 | baseCommand: [echo] 6 | outputs: 7 | out1: 8 | type: string 9 | outputBinding: 10 | outputEval: bar $(inputs.in1) 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/capture_kit.yml: -------------------------------------------------------------------------------- 1 | - name: capture_kit 2 | type: record 3 | fields: 4 | - name: bait 5 | type: string 6 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/cat-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | 6 | inputs: 7 | file1: File 8 | 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | 14 | baseCommand: [cat] 15 | 16 | stdin: $(inputs.file1.path) 17 | stdout: output 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/cat.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in1: int 5 | in2: int 6 | in3: int 7 | baseCommand: [echo] 8 | outputs: 9 | out1: 10 | type: string 11 | outputBinding: 12 | outputEval: $(inputs.in1)$(inputs.in2)$(inputs.in3) 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/check.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | p: File 5 | checkname: string 6 | outputs: [] 7 | arguments: 8 | - sh 9 | - "-c" 10 | - | 11 | name=`basename $(inputs.p.path)` 12 | ls -l $(inputs.p.path) 13 | if test $name = $(inputs.checkname) ; then 14 | echo success 15 | else 16 | echo expected basename to be $(inputs.checkname) but was $name 17 | exit 1 18 | fi 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/count-lines1-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | 9 | outputs: 10 | wc_output: 11 | type: File 12 | outputSource: step1/output 13 | 14 | steps: 15 | step1: 16 | run: wc-tool.cwl 17 | in: 18 | file1: file1 19 | out: [output] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/count-lines1-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | 9 | outputs: 10 | count_output: 11 | type: int 12 | outputSource: step2/output 13 | 14 | steps: 15 | step1: 16 | run: wc-tool.cwl 17 | in: 18 | file1: file1 19 | out: [output] 20 | 21 | step2: 22 | run: parseInt-tool.cwl 23 | in: 24 | file1: step1/output 25 | out: [output] 26 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/dynresreq.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | 5 | requirements: 6 | ResourceRequirement: 7 | coresMin: $(inputs.special_file.size) 8 | coresMax: $(inputs.special_file.size) 9 | 10 | inputs: 11 | special_file: File 12 | 13 | outputs: 14 | output: 15 | type: stdout 16 | 17 | baseCommand: echo 18 | 19 | stdout: cores.txt 20 | 21 | arguments: [ $(runtime.cores) ] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/echo-file-tool.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | baseCommand: [echo] 4 | inputs: 5 | in: 6 | type: string 7 | inputBinding: 8 | position: 1 9 | name: string? 10 | stdout: out.txt 11 | outputs: 12 | out: 13 | type: stdout 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/echo-tool-default.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | in: 7 | type: string 8 | default: tool_default 9 | inputBinding: 10 | position: 1 11 | outputs: 12 | out: 13 | type: string 14 | outputBinding: 15 | glob: out.txt 16 | loadContents: true 17 | outputEval: $(self[0].contents) 18 | baseCommand: [echo, -n] 19 | stdout: out.txt 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/echo-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | in: 7 | type: Any 8 | inputBinding: {} 9 | outputs: 10 | out: 11 | type: string 12 | outputBinding: 13 | glob: out.txt 14 | loadContents: true 15 | outputEval: $(self[0].contents) 16 | baseCommand: echo 17 | stdout: out.txt 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/env-tool1.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | requirements: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: $(inputs.in) 15 | 16 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/env-tool2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | hints: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: $(inputs.in) 15 | 16 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/envvar.yml: -------------------------------------------------------------------------------- 1 | class: EnvVarRequirement 2 | envDef: 3 | - envName: "TEST_ENV" 4 | envValue: "hello test env" 5 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/fail-unspecified-input.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: string 8 | outputBinding: 9 | glob: out.txt 10 | loadContents: true 11 | outputEval: $(self[0].contents) 12 | stdout: out.txt 13 | arguments: [echo, $(inputs.in), $(inputs.in2)] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/foo.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in1: int 5 | baseCommand: [echo] 6 | outputs: 7 | out1: 8 | type: string 9 | outputBinding: 10 | outputEval: foo $(inputs.in1) 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/gx_edam.ttl: -------------------------------------------------------------------------------- 1 | @prefix gx: . 2 | @prefix owl: . 3 | @prefix rdfs: . 4 | @prefix edam: . 5 | 6 | gx:fasta a owl:Class . 7 | gx:fasta owl:equivalentClass edam:format_1929 . 8 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/hello.txt: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/io-any-1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | 7 | inputs: 8 | - id: bar 9 | type: Any 10 | 11 | outputs: 12 | - id: t1 13 | type: Any 14 | outputBinding: 15 | outputEval: $(inputs.bar.class || inputs.bar) 16 | 17 | baseCommand: "true" 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/loadit.py: -------------------------------------------------------------------------------- 1 | import json 2 | import sys 3 | j = json.load(open(sys.argv[1])) 4 | json.dump({"class": j["class"], 5 | "basename": j["basename"]}, sys.stdout, sort_keys=True) 6 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/mkdir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | dirname: string 6 | outputs: 7 | out: 8 | type: Directory 9 | outputBinding: 10 | glob: $(inputs.dirname) 11 | arguments: [mkdir, $(inputs.dirname)] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/mkfilelist.py: -------------------------------------------------------------------------------- 1 | import json 2 | ls = [] 3 | for i in range(1, 10000): 4 | ls.append("example_input_file%i.txt" % i) 5 | f = open("cwl.output.json", "w") 6 | json.dump({"filelist": ls, "bigstring": "\n".join(ls)}, f) 7 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/null-expression3-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: { InlineJavascriptRequirement: {} } 5 | cwlVersion: v1.2 6 | 7 | inputs: [] 8 | 9 | outputs: 10 | output: Any 11 | 12 | expression: "$({'output': null })" 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/parseInt-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | cwlVersion: v1.2 7 | 8 | inputs: 9 | file1: 10 | type: File 11 | loadContents: true 12 | 13 | outputs: 14 | output: int 15 | 16 | expression: "$({'output': parseInt(inputs.file1.contents)})" 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/rename-inputs.yml: -------------------------------------------------------------------------------- 1 | inputWithSecondary: 2 | class: File 3 | location: secondary_file_test.txt 4 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/rename.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | baseCommand: "true" 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entryname: $(inputs.newname) 8 | entry: $(inputs.srcfile) 9 | inputs: 10 | srcfile: File 11 | newname: string 12 | outputs: 13 | outfile: 14 | type: File 15 | outputBinding: 16 | glob: $(inputs.newname) 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/scatter-valueFrom-tool.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | inputs: 4 | scattered_message: 5 | type: string 6 | inputBinding: 7 | position: 2 8 | message: 9 | type: string 10 | inputBinding: 11 | position: 1 12 | outputs: 13 | out_message: 14 | type: stdout 15 | baseCommand: echo 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/schemadef-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | 5 | requirements: 6 | - $import: schemadef-type.yml 7 | 8 | inputs: 9 | - id: hello 10 | type: "schemadef-type.yml#HelloType" 11 | inputBinding: 12 | valueFrom: $(self.a)/$(self.b) 13 | 14 | outputs: 15 | - id: output 16 | type: File 17 | outputBinding: 18 | glob: output.txt 19 | 20 | stdout: output.txt 21 | baseCommand: echo 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/schemadef-type.yml: -------------------------------------------------------------------------------- 1 | class: SchemaDefRequirement 2 | types: 3 | - name: HelloType 4 | type: record 5 | fields: 6 | - name: a 7 | type: string 8 | - name: b 9 | type: string 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/special_file: -------------------------------------------------------------------------------- 1 | 42 -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/testdir/a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/common-workflow-language/cwljava/d24c30abcf90aecdcbd5a78f29b188dc3d90a88a/src/test/resources/org/w3id/cwl/cwl1_2/utils/testdir/a -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/testdir/b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/common-workflow-language/cwljava/d24c30abcf90aecdcbd5a78f29b188dc3d90a88a/src/test/resources/org/w3id/cwl/cwl1_2/utils/testdir/b -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/testdir/c/d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/common-workflow-language/cwljava/d24c30abcf90aecdcbd5a78f29b188dc3d90a88a/src/test/resources/org/w3id/cwl/cwl1_2/utils/testdir/c/d -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/touch.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.2 3 | class: CommandLineTool 4 | 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | 9 | inputs: 10 | name: 11 | type: string 12 | inputBinding: 13 | position: 0 14 | 15 | outputs: 16 | empty_file: 17 | type: File 18 | outputBinding: 19 | glob: $(inputs.name) 20 | 21 | baseCommand: [touch] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/updatedir_inplace.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entry: $(inputs.r) 8 | entryname: inp 9 | writable: true 10 | InplaceUpdateRequirement: 11 | inplaceUpdate: true 12 | inputs: 13 | r: Directory 14 | outputs: 15 | out: 16 | type: Directory 17 | outputBinding: 18 | glob: inp 19 | arguments: [touch, inp/blurb] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/updateval.py: -------------------------------------------------------------------------------- 1 | import sys 2 | f = open(sys.argv[1], "r+") 3 | val = int(f.read()) 4 | f.seek(0) 5 | f.write(str(val+1)) 6 | f.close() 7 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_action.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | initial_file: File 6 | out_file_name: string 7 | outputs: 8 | processed_file: stdout 9 | stdout: $(inputs.out_file_name) 10 | arguments: [echo, $(inputs.initial_file.basename)] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_any-type-compat.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: Workflow 3 | 4 | steps: [] 5 | inputs: 6 | input1: 7 | type: Any 8 | input2: 9 | type: Any[] 10 | input3: 11 | type: Any 12 | 13 | outputs: 14 | - id: output1 15 | type: string[] 16 | outputSource: input1 17 | - id: output2 18 | type: string[] 19 | outputSource: input2 20 | - id: output3 21 | type: string 22 | outputSource: input3 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_bar.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in1: int 5 | baseCommand: [echo] 6 | outputs: 7 | out1: 8 | type: string 9 | outputBinding: 10 | outputEval: bar $(inputs.in1) 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_bash-line-continuation.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | InitialWorkDirRequirement: 5 | listing: 6 | - entryname: script.sh 7 | entry: | 8 | echo \ 9 | "My country, 'tis of thee," \ 10 | "Sweet land of liberty" 11 | 12 | baseCommand: ["bash", "script.sh"] 13 | 14 | inputs: [] 15 | 16 | outputs: 17 | out: stdout 18 | 19 | stdout: out.txt 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_bool-empty-inputbinding.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | hints: 5 | - class: DockerRequirement 6 | dockerPull: python:2-slim 7 | inputs: 8 | - id: flag 9 | type: boolean 10 | inputBinding: {} 11 | - id: "args.py" 12 | type: File 13 | default: 14 | class: File 15 | location: args.py 16 | inputBinding: 17 | position: -1 18 | outputs: 19 | - id: args 20 | type: string[] 21 | baseCommand: python 22 | arguments: [] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat-from-dir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | 6 | inputs: 7 | dir1: Directory 8 | 9 | outputs: 10 | output: 11 | type: stdout 12 | 13 | baseCommand: [cat] 14 | 15 | stdin: $(inputs.dir1.listing[0].path) 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat-tool-shortcut.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | 6 | requirements: 7 | - class: DockerRequirement 8 | dockerPull: debian:stretch-slim 9 | 10 | inputs: 11 | file1: stdin 12 | 13 | outputs: 14 | output: 15 | type: File 16 | outputBinding: { glob: output } 17 | 18 | baseCommand: [cat] 19 | 20 | stdout: output 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | 6 | inputs: 7 | file1: File 8 | 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | 14 | baseCommand: [cat] 15 | 16 | stdin: $(inputs.file1.path) 17 | stdout: output 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in1: int 5 | in2: int 6 | in3: int 7 | baseCommand: [echo] 8 | outputs: 9 | out1: 10 | type: string 11 | outputBinding: 12 | outputEval: $(inputs.in1)$(inputs.in2)$(inputs.in3) 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat3-from-dir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | dir1: 6 | type: Directory 7 | inputBinding: 8 | valueFrom: $(self.listing[0].path) 9 | outputs: 10 | output_file: 11 | type: File 12 | outputBinding: {glob: output.txt} 13 | baseCommand: cat 14 | stdout: output.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat3-nodocker.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: "Print the contents of a file to stdout using 'cat'." 5 | inputs: 6 | file1: 7 | type: File 8 | label: Input File 9 | doc: "The file that will be copied using 'cat'" 10 | inputBinding: {position: 1} 11 | outputs: 12 | output_file: 13 | type: File 14 | outputBinding: {glob: output.txt} 15 | baseCommand: cat 16 | stdout: output.txt 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat4-from-dir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | dir1: 6 | type: Directory 7 | inputBinding: 8 | valueFrom: $(self.listing[0].listing[0].path) 9 | outputs: 10 | output_file: 11 | type: File 12 | outputBinding: {glob: output.txt} 13 | baseCommand: cat 14 | stdout: output.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cat4-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: "Print the contents of a file to stdout using 'cat' running in a docker container if docker is available." 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: 9 | file1: File 10 | outputs: 11 | output_txt: 12 | type: File 13 | outputBinding: 14 | glob: output.txt 15 | baseCommand: cat 16 | stdout: output.txt 17 | stdin: $(inputs.file1.path) 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_check.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | p: File 5 | checkname: string 6 | outputs: [] 7 | arguments: 8 | - sh 9 | - "-c" 10 | - | 11 | name=`basename $(inputs.p.path)` 12 | ls -l $(inputs.p.path) 13 | if test $name = $(inputs.checkname) ; then 14 | echo success 15 | else 16 | echo expected basename to be $(inputs.checkname) but was $name 17 | exit 1 18 | fi 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_colon_test_output.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | hints: 5 | DockerRequirement: 6 | dockerPull: docker.io/bash:4.4 7 | inputs: 8 | input_file: File 9 | outdir_name: string 10 | 11 | baseCommand: [ bash, -c ] 12 | arguments: 13 | - | 14 | mkdir $(inputs.outdir_name); 15 | cp $(inputs.input_file.path) $(inputs.outdir_name)/; 16 | outputs: 17 | result: 18 | type: Directory 19 | outputBinding: 20 | glob: $(inputs.outdir_name) 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cond-wf-001.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | val: int 5 | 6 | steps: 7 | 8 | step1: 9 | in: 10 | in1: val 11 | a_new_var: val 12 | run: foo.cwl 13 | when: $(inputs.a_new_var > 2) 14 | out: [out1] 15 | 16 | outputs: 17 | out1: 18 | type: string? 19 | outputSource: step1/out1 20 | 21 | requirements: 22 | InlineJavascriptRequirement: {} -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cond-wf-001_nojs.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | test: boolean 5 | 6 | steps: 7 | 8 | step1: 9 | in: 10 | in1: 11 | default: 23 12 | extra: test 13 | run: foo.cwl 14 | when: $(inputs.extra) 15 | out: [out1] 16 | 17 | outputs: 18 | out1: 19 | type: string? 20 | outputSource: step1/out1 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cond-wf-002.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | val: int 5 | 6 | steps: 7 | 8 | step1: 9 | in: 10 | in1: val 11 | a_new_var: val 12 | run: foo.cwl 13 | when: $(inputs.a_new_var > 2) 14 | out: [out1] 15 | 16 | outputs: 17 | out1: 18 | type: string 19 | outputSource: step1/out1 20 | 21 | requirements: 22 | InlineJavascriptRequirement: {} -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cond-wf-002_nojs.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | val: int 5 | test: 6 | type: boolean 7 | default: false 8 | 9 | steps: 10 | 11 | step1: 12 | in: 13 | in1: val 14 | a_new_var: test 15 | run: foo.cwl 16 | when: $(inputs.a_new_var) 17 | out: [out1] 18 | 19 | outputs: 20 | out1: 21 | type: string 22 | outputSource: step1/out1 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cond-wf-012.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | val: int 5 | 6 | steps: 7 | 8 | step1: 9 | in: 10 | in1: val 11 | a_new_var: val 12 | run: foo.cwl 13 | when: $(inputs.a_new_var % 2) 14 | out: [out1] 15 | 16 | outputs: 17 | out1: 18 | type: string? 19 | outputSource: step1/out1 20 | 21 | requirements: 22 | InlineJavascriptRequirement: {} -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cond-wf-012_nojs.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | val: 5 | type: int 6 | default: 23 7 | test: 8 | type: int 9 | default: 1 10 | steps: 11 | 12 | step1: 13 | in: 14 | in1: val 15 | a_new_var: test 16 | run: foo.cwl 17 | when: $(inputs.a_new_var) 18 | out: [out1] 19 | 20 | outputs: 21 | out1: 22 | type: string? 23 | outputSource: step1/out1 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cores_float.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | 5 | requirements: 6 | ResourceRequirement: 7 | coresMin: 1.25 8 | coresMax: 1.75 9 | 10 | inputs: [] 11 | 12 | outputs: 13 | output: 14 | type: stdout 15 | 16 | baseCommand: echo 17 | 18 | stdout: cores.txt 19 | 20 | arguments: [ $(runtime.cores) ] 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines1-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | 9 | outputs: 10 | wc_output: 11 | type: File 12 | outputSource: step1/output 13 | 14 | steps: 15 | step1: 16 | run: wc-tool.cwl 17 | in: 18 | file1: file1 19 | out: [output] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines1-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | 9 | outputs: 10 | count_output: 11 | type: int 12 | outputSource: step2/output 13 | 14 | steps: 15 | step1: 16 | run: wc-tool.cwl 17 | in: 18 | file1: file1 19 | out: [output] 20 | 21 | step2: 22 | run: parseInt-tool.cwl 23 | in: 24 | file1: step1/output 25 | out: [output] 26 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines11-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: File? 7 | 8 | outputs: 9 | wc_output: 10 | type: File 11 | outputSource: step1/output 12 | 13 | steps: 14 | step1: 15 | run: wc-tool.cwl 16 | in: 17 | file1: 18 | source: file1 19 | default: 20 | class: File 21 | location: whale.txt 22 | out: [output] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines13-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: File 7 | 8 | outputs: 9 | count_output: 10 | type: int 11 | outputSource: step1/output 12 | 13 | steps: 14 | step1: 15 | run: wc2-tool.cwl 16 | in: 17 | file1: 18 | source: [file1] 19 | out: [output] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines19-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: File 7 | 8 | outputs: 9 | count_output: 10 | type: int 11 | outputSource: step1/output 12 | 13 | steps: 14 | step1: 15 | run: wc3-tool.cwl 16 | in: 17 | file1: 18 | source: [file1] 19 | linkMerge: merge_nested 20 | out: [output] 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines3-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: 7 | type: File[] 8 | 9 | outputs: 10 | count_output: 11 | type: int[] 12 | outputSource: step1/output 13 | 14 | requirements: 15 | ScatterFeatureRequirement: {} 16 | 17 | steps: 18 | step1: 19 | run: wc2-tool.cwl 20 | scatter: file1 21 | in: 22 | file1: file1 23 | out: [output] 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines5-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: 7 | type: File 8 | default: {class: File, location: hello.txt} 9 | outputs: 10 | count_output: 11 | type: int 12 | outputSource: step1/output 13 | steps: 14 | step1: 15 | run: wc2-tool.cwl 16 | in: 17 | file1: file1 18 | out: [output] 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines8-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: File 7 | 8 | outputs: 9 | wc_output: 10 | type: File 11 | outputSource: step1/wc_output 12 | 13 | requirements: 14 | - class: SubworkflowFeatureRequirement 15 | 16 | steps: 17 | step1: 18 | run: count-lines1-wf-noET.cwl 19 | in: 20 | file1: file1 21 | out: [wc_output] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines8-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | file1: File 7 | 8 | outputs: 9 | count_output: 10 | type: int 11 | outputSource: step1/count_output 12 | 13 | requirements: 14 | - class: SubworkflowFeatureRequirement 15 | 16 | steps: 17 | step1: 18 | run: count-lines1-wf.cwl 19 | in: 20 | file1: file1 21 | out: [count_output] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines9-wf-noET.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: [] 6 | 7 | outputs: 8 | wc_output: 9 | type: File 10 | outputSource: step1/output 11 | 12 | steps: 13 | step1: 14 | run: wc-tool.cwl 15 | in: 16 | file1: 17 | default: 18 | class: File 19 | location: whale.txt 20 | out: [output] 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_count-lines9-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: [] 6 | 7 | outputs: 8 | count_output: 9 | type: int 10 | outputSource: step2/output 11 | 12 | steps: 13 | step1: 14 | run: wc-tool.cwl 15 | in: 16 | file1: 17 | default: 18 | class: File 19 | location: whale.txt 20 | out: [output] 21 | 22 | step2: 23 | run: parseInt-tool.cwl 24 | in: 25 | file1: step1/output 26 | out: [output] 27 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_cwloutput-nolimit.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | DockerRequirement: 6 | dockerPull: "python:3-slim" 7 | inputs: 8 | script: 9 | type: File 10 | default: {class: File, location: mkfilelist.py} 11 | outputs: 12 | filelist: string[] 13 | arguments: [python, $(inputs.script)] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_default_path.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | inputs: 4 | - id: "file1" 5 | type: File 6 | default: 7 | class: File 8 | path: whale.txt 9 | outputs: [] 10 | arguments: [cat,$(inputs.file1.path)] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dir.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | - class: ShellCommandRequirement 5 | inputs: 6 | indir: Directory 7 | outputs: 8 | outlist: 9 | type: File 10 | outputBinding: 11 | glob: output.txt 12 | arguments: ["cd", "$(inputs.indir.path)", 13 | {shellQuote: false, valueFrom: "&&"}, 14 | "find", ".", 15 | {shellQuote: false, valueFrom: "|"}, 16 | "sort"] 17 | stdout: output.txt -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dir2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | ShellCommandRequirement: {} 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: 9 | indir: Directory 10 | outputs: 11 | outlist: 12 | type: File 13 | outputBinding: 14 | glob: output.txt 15 | arguments: ["cd", "$(inputs.indir.path)", 16 | {shellQuote: false, valueFrom: "&&"}, 17 | "find", ".", 18 | {shellQuote: false, valueFrom: "|"}, 19 | "sort"] 20 | stdout: output.txt 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dir3.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | baseCommand: [tar, xvf] 4 | inputs: 5 | inf: 6 | type: File 7 | inputBinding: 8 | position: 1 9 | outputs: 10 | outdir: 11 | type: Directory 12 | outputBinding: 13 | glob: . 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dir4.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | - class: ShellCommandRequirement 5 | inputs: 6 | inf: File 7 | outputs: 8 | outlist: 9 | type: File 10 | outputBinding: 11 | glob: output.txt 12 | arguments: ["cd", "$(inputs.inf.dirname)/xtestdir", 13 | {shellQuote: false, valueFrom: "&&"}, 14 | "find", ".", 15 | {shellQuote: false, valueFrom: "|"}, 16 | "sort"] 17 | stdout: output.txt 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dir6.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | - class: ShellCommandRequirement 5 | inputs: 6 | indir: 7 | type: Directory 8 | inputBinding: 9 | prefix: cd 10 | position: -1 11 | outputs: 12 | outlist: 13 | type: File 14 | outputBinding: 15 | glob: output.txt 16 | arguments: [ 17 | {shellQuote: false, valueFrom: "&&"}, 18 | "find", ".", 19 | {shellQuote: false, valueFrom: "|"}, 20 | "sort"] 21 | stdout: output.txt -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dir7.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | inputs: 6 | files: File[] 7 | outputs: 8 | dir: Directory 9 | expression: | 10 | ${ 11 | return {"dir": {"class": "Directory", "basename": "a_directory", "listing": inputs.files}}; 12 | } -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_docker-output-dir.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: debian:stretch-slim 6 | dockerOutputDirectory: /other 7 | inputs: [] 8 | outputs: 9 | thing: 10 | type: File 11 | outputBinding: 12 | glob: thing 13 | baseCommand: ["touch", "/other/thing"] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_docker-run-cmd.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: bash:4.4.12 6 | inputs: [] 7 | outputs: 8 | cow: 9 | type: File 10 | outputBinding: 11 | glob: cow 12 | baseCommand: ["-c", "echo 'moo' > cow"] 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dynresreq-dir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | 5 | requirements: 6 | InlineJavascriptRequirement: {} 7 | ResourceRequirement: 8 | coresMin: $(inputs.dir.listing[0].size) 9 | coresMax: $(inputs.dir.listing[0].size) 10 | 11 | inputs: 12 | dir: Directory 13 | 14 | outputs: 15 | output: 16 | type: stdout 17 | 18 | baseCommand: echo 19 | 20 | stdout: cores.txt 21 | 22 | arguments: [ $(runtime.cores) ] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dynresreq-workflow-tooldefault.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | special_file: File? 7 | outputs: 8 | cores: 9 | type: File 10 | outputSource: report/output 11 | 12 | steps: 13 | count: 14 | in: 15 | special_file: special_file 16 | out: [output] 17 | run: dynresreq-default.cwl 18 | 19 | report: 20 | in: 21 | file1: count/output 22 | out: [output] 23 | run: cat-tool.cwl 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dynresreq-workflow.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | special_file: File 7 | 8 | outputs: 9 | cores: 10 | type: File 11 | outputSource: report/output 12 | 13 | steps: 14 | count: 15 | in: 16 | special_file: special_file 17 | out: [output] 18 | run: dynresreq.cwl 19 | 20 | report: 21 | in: 22 | file1: count/output 23 | out: [output] 24 | run: cat-tool.cwl 25 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_dynresreq.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | 5 | requirements: 6 | ResourceRequirement: 7 | coresMin: $(inputs.special_file.size) 8 | coresMax: $(inputs.special_file.size) 9 | 10 | inputs: 11 | special_file: File 12 | 13 | outputs: 14 | output: 15 | type: stdout 16 | 17 | baseCommand: echo 18 | 19 | stdout: cores.txt 20 | 21 | arguments: [ $(runtime.cores) ] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_echo-file-tool.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | baseCommand: [echo] 4 | inputs: 5 | in: 6 | type: string 7 | inputBinding: 8 | position: 1 9 | name: string? 10 | stdout: out.txt 11 | outputs: 12 | out: 13 | type: stdout 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_echo-tool-default.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | in: 7 | type: string 8 | default: tool_default 9 | inputBinding: 10 | position: 1 11 | outputs: 12 | out: 13 | type: string 14 | outputBinding: 15 | glob: out.txt 16 | loadContents: true 17 | outputEval: $(self[0].contents) 18 | baseCommand: [echo, -n] 19 | stdout: out.txt 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_echo-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | in: 7 | type: Any 8 | inputBinding: {} 9 | outputs: 10 | out: 11 | type: string 12 | outputBinding: 13 | glob: out.txt 14 | loadContents: true 15 | outputEval: $(self[0].contents) 16 | baseCommand: echo 17 | stdout: out.txt 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_echo-wf-default.cwl: -------------------------------------------------------------------------------- 1 | 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: [] 6 | 7 | steps: 8 | step1: 9 | run: echo-tool-default.cwl 10 | in: 11 | in: 12 | default: workflow_default 13 | out: [out] 14 | 15 | outputs: 16 | default_output: 17 | type: string 18 | outputSource: step1/out 19 | 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_env-tool1.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | requirements: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: $(inputs.in) 15 | 16 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_env-tool2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | hints: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: $(inputs.in) 15 | 16 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_env-tool3.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | baseCommand: ["/bin/bash", "-c", "echo $TEST_ENV"] 12 | 13 | stdout: out 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_env-tool4.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: File 8 | outputBinding: 9 | glob: out 10 | 11 | requirements: 12 | EnvVarRequirement: 13 | envDef: 14 | TEST_ENV: conflict_original 15 | 16 | baseCommand: ["/bin/bash", "-c", "echo $TEST_ENV"] 17 | 18 | stdout: out 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_env-wf1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | in: string 7 | 8 | outputs: 9 | out: 10 | type: File 11 | outputSource: step1/out 12 | 13 | requirements: 14 | EnvVarRequirement: 15 | envDef: 16 | TEST_ENV: override 17 | 18 | steps: 19 | step1: 20 | run: env-tool1.cwl 21 | in: 22 | in: in 23 | out: [out] 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_env-wf2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | in: string 7 | 8 | outputs: 9 | out: 10 | type: File 11 | outputSource: step1/out 12 | 13 | requirements: 14 | EnvVarRequirement: 15 | envDef: 16 | TEST_ENV: override 17 | 18 | steps: 19 | step1: 20 | run: env-tool2.cwl 21 | in: 22 | in: in 23 | out: [out] 24 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_env-wf3.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | in: string 7 | 8 | outputs: 9 | out: 10 | type: File 11 | outputSource: step1/out 12 | 13 | steps: 14 | step1: 15 | run: env-tool2.cwl 16 | requirements: 17 | EnvVarRequirement: 18 | envDef: 19 | TEST_ENV: override 20 | in: 21 | in: in 22 | out: [out] 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_envvar.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ShellCommandRequirement: {} 7 | arguments: [ 8 | echo, {valueFrom: '"HOME=$HOME"', shellQuote: false}, {valueFrom: '"TMPDIR=$TMPDIR"', shellQuote: false}, 9 | {valueFrom: '&&', shellQuote: false}, 10 | test, {valueFrom: '"$HOME"', shellQuote: false}, "=", $(runtime.outdir), 11 | "-a", {valueFrom: '"$TMPDIR"', shellQuote: false}, "=", $(runtime.tmpdir)] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_exit-success.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.2 3 | class: CommandLineTool 4 | 5 | inputs: [] 6 | baseCommand: "false" 7 | outputs: [] 8 | 9 | successCodes: [ 1 ] 10 | permanentFailCodes: [ 0 ] 11 | temporaryFailCodes: [ 42 ] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_exitcode.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | requirements: 4 | ShellCommandRequirement: {} 5 | inputs: [] 6 | outputs: 7 | code: 8 | type: int 9 | outputBinding: 10 | outputEval: $(runtime.exitCode) 11 | successCodes: [7] 12 | arguments: ["exit", "7"] 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_fail-unconnected.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | inp1: 5 | type: string 6 | default: hello inp1 7 | inp2: 8 | type: string 9 | default: hello inp2 10 | outputs: 11 | out: 12 | type: string 13 | outputSource: step1/out 14 | steps: 15 | step1: 16 | in: 17 | in: inp1 18 | in2: inp2 19 | out: [out] 20 | run: fail-unspecified-input.cwl 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_fail-unspecified-input.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in: string 5 | outputs: 6 | out: 7 | type: string 8 | outputBinding: 9 | glob: out.txt 10 | loadContents: true 11 | outputEval: $(self[0].contents) 12 | stdout: out.txt 13 | arguments: [echo, $(inputs.in), $(inputs.in2)] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_file-literal-ex.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | inputs: [] 6 | outputs: 7 | lit: File 8 | expression: | 9 | ${ 10 | return {"lit": {"class": "File", "basename": "a_file", "contents": "Hello file literal."}}; 11 | } -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_foo.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | in1: int 5 | baseCommand: [echo] 6 | outputs: 7 | out1: 8 | type: string 9 | outputBinding: 10 | outputEval: foo $(inputs.in1) 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_formattest.cwl: -------------------------------------------------------------------------------- 1 | $namespaces: 2 | edam: "http://edamontology.org/" 3 | cwlVersion: v1.2 4 | class: CommandLineTool 5 | doc: "Reverse each line using the `rev` command" 6 | inputs: 7 | input: 8 | type: File 9 | inputBinding: {} 10 | format: edam:format_2330 11 | 12 | outputs: 13 | output: 14 | type: File 15 | outputBinding: 16 | glob: output.txt 17 | format: edam:format_2330 18 | 19 | baseCommand: rev 20 | stdout: output.txt -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_glob-expr-list.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | 4 | inputs: 5 | ids: 6 | type: string[] 7 | inputBinding: 8 | position: 1 9 | 10 | outputs: 11 | files: 12 | type: File[] 13 | outputBinding: 14 | glob: $(inputs.ids) 15 | 16 | baseCommand: touch 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_glob-path-error.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | cwlVersion: v1.2 4 | 5 | requirements: 6 | - class: DockerRequirement 7 | dockerPull: debian:stretch-slim 8 | 9 | class: CommandLineTool 10 | 11 | inputs: [] 12 | 13 | outputs: 14 | - id: OUTPUT 15 | type: File 16 | outputBinding: 17 | glob: /etc/passwd 18 | 19 | baseCommand: [echo] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_glob_directory.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.2 3 | class: CommandLineTool 4 | 5 | inputs: [] 6 | baseCommand: [mkdir, a_dir, b_dir, c_dir] 7 | outputs: 8 | directories: 9 | type: Directory[] 10 | outputBinding: { glob: '[a,b,c]_dir' } 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_glob_test.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.2 3 | class: CommandLineTool 4 | 5 | inputs: [] 6 | baseCommand: [touch, z, y, x, w, c, b, a] 7 | outputs: 8 | letters: 9 | type: File[] 10 | outputBinding: { glob: '*' } 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_imported-hint.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.2 3 | class: CommandLineTool 4 | inputs: [] 5 | outputs: 6 | out: stdout 7 | 8 | hints: 9 | - $import: envvar.yml 10 | 11 | baseCommand: ["/bin/sh", "-c", "echo $TEST_ENV"] 12 | 13 | stdout: out 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_initialwork-path.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | InitialWorkDirRequirement: 5 | listing: 6 | - entry: $(inputs.file1) 7 | entryname: bob.txt 8 | ShellCommandRequirement: {} 9 | inputs: 10 | file1: File 11 | outputs: [] 12 | arguments: 13 | - shellQuote: false 14 | valueFrom: | 15 | test "$(inputs.file1.path)" = "$(runtime.outdir)/bob.txt" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_io-any-1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | 7 | inputs: 8 | - id: bar 9 | type: Any 10 | 11 | outputs: 12 | - id: t1 13 | type: Any 14 | outputBinding: 15 | outputEval: $(inputs.bar.class || inputs.bar) 16 | 17 | baseCommand: "true" 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_io-any-wf-1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: Workflow 3 | cwlVersion: v1.2 4 | 5 | inputs: 6 | bar: 7 | type: Any 8 | 9 | outputs: 10 | t1: 11 | type: Any 12 | outputSource: step1/t1 13 | 14 | steps: 15 | step1: 16 | in: 17 | bar: bar 18 | out: [t1] 19 | run: io-any-1.cwl 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_iwd-jsondump3-nl.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | InitialWorkDirRequirement: 7 | listing: 8 | - entryname: "out-number.json" 9 | entry: | 10 | ${ 11 | return 44.4; 12 | } 13 | inputs: [] 14 | outputs: 15 | filelist: 16 | type: File 17 | outputBinding: 18 | glob: out-number.json 19 | arguments: ["true"] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_iwd-jsondump3.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | InitialWorkDirRequirement: 7 | listing: 8 | - entryname: "out-number.json" 9 | entry: |- 10 | ${ 11 | return 44.4; 12 | } 13 | inputs: [] 14 | outputs: 15 | filelist: 16 | type: File 17 | outputBinding: 18 | glob: out-number.json 19 | arguments: ["true"] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_iwd-passthrough3.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entryname: "renamed-filelist.txt" 8 | entry: $(inputs.filelist) 9 | inputs: 10 | filelist: 11 | type: File 12 | outputs: 13 | filelist: 14 | type: File 15 | outputBinding: 16 | glob: renamed-filelist.txt 17 | baseCommand: "true" 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_iwd-passthrough4.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - $(inputs.filelist) 8 | inputs: 9 | filelist: 10 | type: File 11 | outputs: 12 | filelist: 13 | type: File 14 | outputBinding: 15 | glob: $(inputs.filelist.basename) 16 | baseCommand: "true" 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_iwdr-entry.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | baseCommand: ["cat", "example.conf"] 6 | 7 | requirements: 8 | InitialWorkDirRequirement: 9 | listing: 10 | - entryname: example.conf 11 | entry: | 12 | CONFIGVAR=$(inputs.message) 13 | 14 | inputs: 15 | message: string 16 | outputs: 17 | out: 18 | type: File 19 | outputBinding: 20 | glob: example.conf 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_linkfile.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - $(inputs.src) 8 | 9 | inputs: 10 | src: 11 | type: File 12 | inputBinding: 13 | position: 1 14 | valueFrom: $(self.nameroot).class 15 | 16 | baseCommand: touch 17 | 18 | outputs: 19 | classfile: 20 | type: File 21 | outputBinding: 22 | glob: "*.class" 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_listing_deep1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | LoadListingRequirement: 6 | loadListing: deep_listing 7 | InlineJavascriptRequirement: {} 8 | inputs: 9 | d: Directory 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing.length === 1)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_listing_deep2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: 8 | type: Directory 9 | loadListing: deep_listing 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing.length === 1)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_listing_none1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: Directory 8 | outputs: 9 | out: 10 | type: boolean 11 | outputBinding: 12 | outputEval: $(inputs.d.listing === undefined) 13 | baseCommand: "true" 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_listing_none2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | LoadListingRequirement: 6 | loadListing: no_listing 7 | InlineJavascriptRequirement: {} 8 | inputs: 9 | d: Directory 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: $(inputs.d.listing === undefined) 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_listing_none3.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: 8 | type: Directory 9 | loadListing: no_listing 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: $(inputs.d.listing === undefined) 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_listing_shallow1.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | LoadListingRequirement: 6 | loadListing: shallow_listing 7 | InlineJavascriptRequirement: {} 8 | inputs: 9 | d: Directory 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing === undefined)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_listing_shallow2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InlineJavascriptRequirement: {} 6 | inputs: 7 | d: 8 | type: Directory 9 | loadListing: shallow_listing 10 | outputs: 11 | out: 12 | type: boolean 13 | outputBinding: 14 | outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing === undefined)' 15 | baseCommand: "true" 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_loadContents-limit.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | filelist: 6 | type: File 7 | loadContents: true 8 | outputs: [] 9 | baseCommand: "true" 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_mkdir.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | dirname: string 6 | outputs: 7 | out: 8 | type: Directory 9 | outputBinding: 10 | glob: $(inputs.dirname) 11 | arguments: [mkdir, $(inputs.dirname)] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_nameroot.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | inputs: 4 | file1: File 5 | outputs: 6 | b: stdout 7 | stdout: $(inputs.file1.nameroot).xtx 8 | baseCommand: [] 9 | arguments: [echo, $(inputs.file1.basename), $(inputs.file1.nameroot), $(inputs.file1.nameext)] 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_nested-array.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | baseCommand: echo 4 | inputs: 5 | letters: 6 | type: 7 | type: array 8 | items: 9 | type: array 10 | items: string 11 | inputBinding: 12 | position: 1 13 | stdout: echo.txt 14 | outputs: 15 | echo: stdout -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_networkaccess.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: python:3 6 | NetworkAccess: 7 | networkAccess: true 8 | inputs: [] 9 | outputs: [] 10 | baseCommand: python 11 | arguments: 12 | - "-c" 13 | - valueFrom: | 14 | import urllib.request 15 | assert(urllib.request.urlopen("http://commonwl.org").code == 200) -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_networkaccess2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | DockerRequirement: 5 | dockerPull: python:3 6 | inputs: [] 7 | outputs: [] 8 | baseCommand: python 9 | arguments: 10 | - "-c" 11 | - valueFrom: | 12 | import urllib.request 13 | assert(urllib.request.urlopen("http://commonwl.org").code == 200) -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_no-inputs-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: "CommandLineTool without inputs." 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: [] 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | baseCommand: [echo, cwl] 14 | stdout: output 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_no-outputs-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: "CommandLineTool without outputs." 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | inputs: 9 | file1: 10 | type: File 11 | label: Input File 12 | inputBinding: {position: 1} 13 | outputs: [] 14 | baseCommand: echo 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_null-defined.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | inputs: 6 | file1: File? 7 | outputs: 8 | out: 9 | type: string 10 | outputBinding: 11 | glob: out.txt 12 | loadContents: true 13 | outputEval: $(self[0].contents) 14 | stdout: out.txt 15 | arguments: [echo, '$(inputs.file1 === null ? "t" : "f")'] 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_null-expression1-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | cwlVersion: v1.2 7 | 8 | inputs: 9 | i1: 10 | type: Any 11 | default: "the-default" 12 | 13 | outputs: 14 | output: int 15 | 16 | expression: "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})" -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_null-expression2-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | cwlVersion: v1.2 7 | 8 | inputs: 9 | i1: Any 10 | 11 | outputs: 12 | output: int 13 | 14 | expression: "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})" -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_null-expression3-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: { InlineJavascriptRequirement: {} } 5 | cwlVersion: v1.2 6 | 7 | inputs: [] 8 | 9 | outputs: 10 | output: Any 11 | 12 | expression: "$({'output': null })" 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_optional-numerical-output-0.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | baseCommand: 4 | - echo 5 | - "0" 6 | stdout: a.txt 7 | requirements: 8 | - class: InlineJavascriptRequirement 9 | inputs: [] 10 | outputs: 11 | out: 12 | type: float? 13 | outputBinding: 14 | glob: "a.txt" 15 | loadContents: true 16 | outputEval: "${\n return parseFloat(self[0].contents);\n}" -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_output-arrays-int.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | cwlVersion: v1.2 4 | class: ExpressionTool 5 | 6 | requirements: 7 | InlineJavascriptRequirement: {} 8 | 9 | inputs: 10 | i: 11 | type: int 12 | 13 | outputs: 14 | o: 15 | type: int[] 16 | 17 | expression: > 18 | ${return {'o': Array.apply(null, {length: inputs.i}).map(Number.call, Number)};} 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_output_reference_workflow_input.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: Workflow 3 | 4 | inputs: 5 | first: 6 | type: string 7 | default: me 8 | 9 | steps: [] 10 | 11 | outputs: 12 | last: 13 | type: string 14 | outputSource: first 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_action.cwl: -------------------------------------------------------------------------------- 1 | arguments: [echo, $(inputs.initial_file.basename)] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: initial_file, type: File} 6 | - {id: out_file_name, type: string} 7 | outputs: 8 | - {id: processed_file, type: stdout} 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | stdout: $(inputs.out_file_name) 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_bar.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: in1, type: int} 6 | outputs: 7 | - id: out1 8 | outputBinding: {outputEval: bar $(inputs.in1)} 9 | type: string 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_bash-line-continuation.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [bash, script.sh] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - {id: out, type: stdout} 7 | requirements: 8 | - class: InitialWorkDirRequirement 9 | listing: 10 | - {entry: "echo \\\n \"My country, 'tis of thee,\" \\\n \"Sweet land of liberty\"\ 11 | \n", entryname: script.sh} 12 | - {class: InlineJavascriptRequirement} 13 | stdout: out.txt 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cat-from-dir.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [cat] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: dir1, type: Directory} 6 | outputs: 7 | - {id: output, type: stdout} 8 | requirements: 9 | - {class: InlineJavascriptRequirement} 10 | stdin: $(inputs.dir1.listing[0].path) 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cat-tool-shortcut.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [cat] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: file1, type: stdin} 6 | outputs: 7 | - id: output 8 | outputBinding: {glob: output} 9 | type: File 10 | requirements: 11 | - {class: DockerRequirement, dockerPull: debian:stretch-slim} 12 | - {class: InlineJavascriptRequirement} 13 | stdout: output 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cat-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [cat] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: file1, type: File} 6 | outputs: 7 | - id: output 8 | outputBinding: {glob: output} 9 | type: File 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | stdin: $(inputs.file1.path) 13 | stdout: output 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cat.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: in1, type: int} 6 | - {id: in2, type: int} 7 | - {id: in3, type: int} 8 | outputs: 9 | - id: out1 10 | outputBinding: {outputEval: $(inputs.in1)$(inputs.in2)$(inputs.in3)} 11 | type: string 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cat3-from-dir.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: cat 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: dir1 6 | inputBinding: {valueFrom: '$(self.listing[0].path)'} 7 | type: Directory 8 | outputs: 9 | - id: output_file 10 | outputBinding: {glob: output.txt} 11 | type: File 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | stdout: output.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cat3-nodocker.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: cat 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: Print the contents of a file to stdout using 'cat'. 5 | inputs: 6 | - doc: The file that will be copied using 'cat' 7 | id: file1 8 | inputBinding: {position: 1} 9 | label: Input File 10 | type: File 11 | outputs: 12 | - id: output_file 13 | outputBinding: {glob: output.txt} 14 | type: File 15 | requirements: 16 | - {class: InlineJavascriptRequirement} 17 | stdout: output.txt 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cat4-from-dir.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: cat 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: dir1 6 | inputBinding: {valueFrom: '$(self.listing[0].listing[0].path)'} 7 | type: Directory 8 | outputs: 9 | - id: output_file 10 | outputBinding: {glob: output.txt} 11 | type: File 12 | requirements: [] 13 | stdout: output.txt 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_check.cwl: -------------------------------------------------------------------------------- 1 | arguments: [sh, -c, "name=`basename $(inputs.p.path)`\nls -l $(inputs.p.path)\nif 2 | test $name = $(inputs.checkname) ; then\n echo success\nelse\n echo expected 3 | basename to be $(inputs.checkname) but was $name\n exit 1\nfi\n"] 4 | class: CommandLineTool 5 | cwlVersion: v1.2 6 | inputs: 7 | - {id: p, type: File} 8 | - {id: checkname, type: string} 9 | outputs: [] 10 | requirements: [] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cores_float.cwl: -------------------------------------------------------------------------------- 1 | arguments: [$(runtime.cores)] 2 | baseCommand: echo 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: [] 6 | outputs: 7 | - {id: output, type: stdout} 8 | requirements: 9 | - {class: ResourceRequirement, coresMax: 1.75, coresMin: 1.25} 10 | - {class: InlineJavascriptRequirement} 11 | stdout: cores.txt 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_cwloutput-nolimit.cwl: -------------------------------------------------------------------------------- 1 | arguments: [python, $(inputs.script)] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - default: {class: File, location: mkfilelist.py} 6 | id: script 7 | type: File 8 | outputs: 9 | - id: filelist 10 | type: {items: string, type: array} 11 | requirements: 12 | - {class: DockerRequirement, dockerPull: python:3-slim} 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_default_path.cwl: -------------------------------------------------------------------------------- 1 | arguments: [cat, $(inputs.file1.path)] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - default: {class: File, path: whale.txt} 6 | id: file1 7 | type: File 8 | outputs: [] 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dir.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - cd 3 | - $(inputs.indir.path) 4 | - {shellQuote: false, valueFrom: '&&'} 5 | - find 6 | - . 7 | - {shellQuote: false, valueFrom: '|'} 8 | - sort 9 | class: CommandLineTool 10 | cwlVersion: v1.2 11 | inputs: 12 | - {id: indir, type: Directory} 13 | outputs: 14 | - id: outlist 15 | outputBinding: {glob: output.txt} 16 | type: File 17 | requirements: 18 | - {class: ShellCommandRequirement} 19 | - {class: InlineJavascriptRequirement} 20 | stdout: output.txt 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dir3.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [tar, xvf] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: inf 6 | inputBinding: {position: 1} 7 | type: File 8 | outputs: 9 | - id: outdir 10 | outputBinding: {glob: .} 11 | type: Directory 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dir4.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - cd 3 | - $(inputs.inf.dirname)/xtestdir 4 | - {shellQuote: false, valueFrom: '&&'} 5 | - find 6 | - . 7 | - {shellQuote: false, valueFrom: '|'} 8 | - sort 9 | class: CommandLineTool 10 | cwlVersion: v1.2 11 | inputs: 12 | - {id: inf, type: File} 13 | outputs: 14 | - id: outlist 15 | outputBinding: {glob: output.txt} 16 | type: File 17 | requirements: 18 | - {class: ShellCommandRequirement} 19 | - {class: InlineJavascriptRequirement} 20 | stdout: output.txt 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dir6.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: '&&'} 3 | - find 4 | - . 5 | - {shellQuote: false, valueFrom: '|'} 6 | - sort 7 | class: CommandLineTool 8 | cwlVersion: v1.2 9 | inputs: 10 | - id: indir 11 | inputBinding: {position: -1, prefix: cd} 12 | type: Directory 13 | outputs: 14 | - id: outlist 15 | outputBinding: {glob: output.txt} 16 | type: File 17 | requirements: 18 | - {class: ShellCommandRequirement} 19 | - {class: InlineJavascriptRequirement} 20 | stdout: output.txt 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dir7.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | expression: "${\nreturn {\"dir\": {\"class\": \"Directory\", \"basename\": \"a_directory\"\ 4 | , \"listing\": inputs.files}};\n}" 5 | inputs: 6 | - id: files 7 | type: {items: File, type: array} 8 | outputs: 9 | - {id: dir, type: Directory} 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_docker-output-dir.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [touch, /other/thing] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: thing 7 | outputBinding: {glob: thing} 8 | type: File 9 | requirements: 10 | - {class: DockerRequirement, dockerOutputDirectory: /other, dockerPull: debian:stretch-slim} 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_docker-run-cmd.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [-c, echo 'moo' > cow] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: cow 7 | outputBinding: {glob: cow} 8 | type: File 9 | requirements: 10 | - {class: DockerRequirement, dockerPull: bash:4.4.12} 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dynresreq-default.cwl: -------------------------------------------------------------------------------- 1 | arguments: [$(runtime.cores)] 2 | baseCommand: echo 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | - default: {class: File, location: special_file} 7 | id: special_file 8 | type: File 9 | outputs: 10 | - {id: output, type: stdout} 11 | requirements: 12 | - {class: ResourceRequirement, coresMax: $(inputs.special_file.size), coresMin: $(inputs.special_file.size)} 13 | - {class: InlineJavascriptRequirement} 14 | stdout: cores.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dynresreq-dir.cwl: -------------------------------------------------------------------------------- 1 | arguments: [$(runtime.cores)] 2 | baseCommand: echo 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | - {id: dir, type: Directory} 7 | outputs: 8 | - {id: output, type: stdout} 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | - {class: ResourceRequirement, coresMax: '$(inputs.dir.listing[0].size)', coresMin: '$(inputs.dir.listing[0].size)'} 12 | stdout: cores.txt 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_dynresreq.cwl: -------------------------------------------------------------------------------- 1 | arguments: [$(runtime.cores)] 2 | baseCommand: echo 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | - {id: special_file, type: File} 7 | outputs: 8 | - {id: output, type: stdout} 9 | requirements: 10 | - {class: ResourceRequirement, coresMax: $(inputs.special_file.size), coresMin: $(inputs.special_file.size)} 11 | - {class: InlineJavascriptRequirement} 12 | stdout: cores.txt 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_echo-file-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: in 6 | inputBinding: {position: 1} 7 | type: string 8 | - id: name 9 | type: ['null', string] 10 | outputs: 11 | - {id: out, type: stdout} 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | stdout: out.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_echo-tool-default.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo, -n] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - default: tool_default 6 | id: in 7 | inputBinding: {position: 1} 8 | type: string 9 | outputs: 10 | - id: out 11 | outputBinding: {glob: out.txt, loadContents: true, outputEval: '$(self[0].contents)'} 12 | type: string 13 | requirements: 14 | - {class: InlineJavascriptRequirement} 15 | stdout: out.txt 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_echo-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: echo 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: in 6 | inputBinding: {} 7 | type: Any 8 | outputs: 9 | - id: out 10 | outputBinding: {glob: out.txt, loadContents: true, outputEval: '$(self[0].contents)'} 11 | type: string 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | stdout: out.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_env-tool1.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [/bin/sh, -c, echo $TEST_ENV] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: in, type: string} 6 | outputs: 7 | - id: out 8 | outputBinding: {glob: out} 9 | type: File 10 | requirements: 11 | - class: EnvVarRequirement 12 | envDef: {TEST_ENV: $(inputs.in)} 13 | - {class: InlineJavascriptRequirement} 14 | stdout: out 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_env-tool2.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [/bin/sh, -c, echo $TEST_ENV] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | hints: 5 | EnvVarRequirement: 6 | envDef: {TEST_ENV: $(inputs.in)} 7 | inputs: 8 | - {id: in, type: string} 9 | outputs: 10 | - id: out 11 | outputBinding: {glob: out} 12 | type: File 13 | requirements: 14 | - {class: InlineJavascriptRequirement} 15 | stdout: out 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_env-tool3.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [/bin/bash, -c, echo $TEST_ENV] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: in, type: string} 6 | outputs: 7 | - id: out 8 | outputBinding: {glob: out} 9 | type: File 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | stdout: out 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_env-tool4.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [/bin/bash, -c, echo $TEST_ENV] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: in, type: string} 6 | outputs: 7 | - id: out 8 | outputBinding: {glob: out} 9 | type: File 10 | requirements: 11 | - class: EnvVarRequirement 12 | envDef: {TEST_ENV: conflict_original} 13 | - {class: InlineJavascriptRequirement} 14 | stdout: out 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_exit-success.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'false' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: [] 6 | permanentFailCodes: [0] 7 | requirements: 8 | - {class: InlineJavascriptRequirement} 9 | successCodes: [1] 10 | temporaryFailCodes: [42] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_exitcode.cwl: -------------------------------------------------------------------------------- 1 | arguments: [exit, '7'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: code 7 | outputBinding: {outputEval: $(runtime.exitCode)} 8 | type: int 9 | requirements: 10 | - {class: ShellCommandRequirement} 11 | - {class: InlineJavascriptRequirement} 12 | successCodes: [7] 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_fail-unspecified-input.cwl: -------------------------------------------------------------------------------- 1 | arguments: [echo, $(inputs.in), $(inputs.in2)] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: in, type: string} 6 | outputs: 7 | - id: out 8 | outputBinding: {glob: out.txt, loadContents: true, outputEval: '$(self[0].contents)'} 9 | type: string 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | stdout: out.txt 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_file-literal-ex.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | expression: "${\nreturn {\"lit\": {\"class\": \"File\", \"basename\": \"a_file\",\ 4 | \ \"contents\": \"Hello file literal.\"}};\n}" 5 | inputs: [] 6 | outputs: 7 | - {id: lit, type: File} 8 | requirements: 9 | - {class: InlineJavascriptRequirement} 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_foo.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: in1, type: int} 6 | outputs: 7 | - id: out1 8 | outputBinding: {outputEval: foo $(inputs.in1)} 9 | type: string 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_formattest.cwl: -------------------------------------------------------------------------------- 1 | $namespaces: {edam: http://edamontology.org/} 2 | baseCommand: rev 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | doc: Reverse each line using the `rev` command 6 | inputs: 7 | - format: edam:format_2330 8 | id: input 9 | inputBinding: {} 10 | type: File 11 | outputs: 12 | - format: edam:format_2330 13 | id: output 14 | outputBinding: {glob: output.txt} 15 | type: File 16 | requirements: 17 | - {class: InlineJavascriptRequirement} 18 | stdout: output.txt 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_glob-expr-list.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: touch 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: ids 6 | inputBinding: {position: 1} 7 | type: {items: string, type: array} 8 | outputs: 9 | - id: files 10 | outputBinding: {glob: $(inputs.ids)} 11 | type: {items: File, type: array} 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_glob-path-error.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: OUTPUT 7 | outputBinding: {glob: /etc/passwd} 8 | type: File 9 | requirements: 10 | - {class: DockerRequirement, dockerPull: debian:stretch-slim} 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_glob_directory.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [mkdir, a_dir, b_dir, c_dir] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: directories 7 | outputBinding: {glob: '[a,b,c]_dir'} 8 | type: {items: Directory, type: array} 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_glob_test.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [touch, z, y, x, w, c, b, a] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: letters 7 | outputBinding: {glob: '*'} 8 | type: {items: File, type: array} 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_imported-hint.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [/bin/sh, -c, echo $TEST_ENV] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | hints: 5 | - class: EnvVarRequirement 6 | envDef: 7 | - {envName: TEST_ENV, envValue: hello test env} 8 | inputs: [] 9 | outputs: 10 | - {id: out, type: stdout} 11 | requirements: 12 | - {class: InlineJavascriptRequirement} 13 | stdout: out 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_initialwork-path.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: "test \"$(inputs.file1.path)\" = \"$(runtime.outdir)/bob.txt\"\ 3 | \n"} 4 | class: CommandLineTool 5 | cwlVersion: v1.2 6 | inputs: 7 | - {id: file1, type: File} 8 | outputs: [] 9 | requirements: 10 | - class: InitialWorkDirRequirement 11 | listing: 12 | - {entry: $(inputs.file1), entryname: bob.txt} 13 | - {class: ShellCommandRequirement} 14 | - {class: InlineJavascriptRequirement} 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_io-any-1.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: bar, type: Any} 6 | outputs: 7 | - id: t1 8 | outputBinding: {outputEval: $(inputs.bar.class || inputs.bar)} 9 | type: Any 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_iwd-jsondump1.cwl: -------------------------------------------------------------------------------- 1 | arguments: ['true'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: filelist 7 | outputBinding: {glob: out-filelist.json} 8 | type: File 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | - class: InitialWorkDirRequirement 12 | listing: 13 | - {entry: "${\n var ls = [];\n for (var i = 1; i < 10000; i++) {\n ls.push(\"\ 14 | example_input_file\"+i+\".txt\");\n }\n return ls;\n}", entryname: out-filelist.json} 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_iwd-jsondump3-nl.cwl: -------------------------------------------------------------------------------- 1 | arguments: ['true'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: filelist 7 | outputBinding: {glob: out-number.json} 8 | type: File 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | - class: InitialWorkDirRequirement 12 | listing: 13 | - {entry: "${\n return 44.4;\n}\n", entryname: out-number.json} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_iwd-jsondump3.cwl: -------------------------------------------------------------------------------- 1 | arguments: ['true'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: filelist 7 | outputBinding: {glob: out-number.json} 8 | type: File 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | - class: InitialWorkDirRequirement 12 | listing: 13 | - {entry: "${\n return 44.4;\n}", entryname: out-number.json} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_iwd-passthrough3.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: filelist, type: File} 6 | outputs: 7 | - id: filelist 8 | outputBinding: {glob: renamed-filelist.txt} 9 | type: File 10 | requirements: 11 | - class: InitialWorkDirRequirement 12 | listing: 13 | - {entry: $(inputs.filelist), entryname: renamed-filelist.txt} 14 | - {class: InlineJavascriptRequirement} 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_iwd-passthrough4.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: filelist, type: File} 6 | outputs: 7 | - id: filelist 8 | outputBinding: {glob: $(inputs.filelist.basename)} 9 | type: File 10 | requirements: 11 | - class: InitialWorkDirRequirement 12 | listing: [$(inputs.filelist)] 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_iwdr-entry.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [cat, example.conf] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: message, type: string} 6 | outputs: 7 | - id: out 8 | outputBinding: {glob: example.conf} 9 | type: File 10 | requirements: 11 | - class: InitialWorkDirRequirement 12 | listing: 13 | - {entry: "CONFIGVAR=$(inputs.message)\n", entryname: example.conf} 14 | - {class: InlineJavascriptRequirement} 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_linkfile.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: touch 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: src 6 | inputBinding: {position: 1, valueFrom: $(self.nameroot).class} 7 | type: File 8 | outputs: 9 | - id: classfile 10 | outputBinding: {glob: '*.class'} 11 | type: File 12 | requirements: 13 | - class: InitialWorkDirRequirement 14 | listing: [$(inputs.src)] 15 | - {class: InlineJavascriptRequirement} 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_listing_deep1.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: d, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing.length 9 | === 1)'} 10 | type: boolean 11 | requirements: 12 | - {class: LoadListingRequirement, loadListing: deep_listing} 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_listing_deep2.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: d, loadListing: deep_listing, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing.length 9 | === 1)'} 10 | type: boolean 11 | requirements: 12 | - {class: InlineJavascriptRequirement} 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_listing_none1.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: d, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {outputEval: $(inputs.d.listing === undefined)} 9 | type: boolean 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_listing_none2.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: d, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {outputEval: $(inputs.d.listing === undefined)} 9 | type: boolean 10 | requirements: 11 | - {class: LoadListingRequirement, loadListing: no_listing} 12 | - {class: InlineJavascriptRequirement} 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_listing_none3.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: d, loadListing: no_listing, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {outputEval: $(inputs.d.listing === undefined)} 9 | type: boolean 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_listing_shallow1.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: d, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing 9 | === undefined)'} 10 | type: boolean 11 | requirements: 12 | - {class: LoadListingRequirement, loadListing: shallow_listing} 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_listing_shallow2.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: d, loadListing: shallow_listing, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {outputEval: '$(inputs.d.listing.length === 1 && inputs.d.listing[0].listing 9 | === undefined)'} 10 | type: boolean 11 | requirements: 12 | - {class: InlineJavascriptRequirement} 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_loadContents-limit.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: filelist, loadContents: true, type: File} 6 | outputs: [] 7 | requirements: 8 | - {class: InlineJavascriptRequirement} 9 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_mkdir.cwl: -------------------------------------------------------------------------------- 1 | arguments: [mkdir, $(inputs.dirname)] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: dirname, type: string} 6 | outputs: 7 | - id: out 8 | outputBinding: {glob: $(inputs.dirname)} 9 | type: Directory 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_nameroot.cwl: -------------------------------------------------------------------------------- 1 | arguments: [echo, $(inputs.file1.basename), $(inputs.file1.nameroot), $(inputs.file1.nameext)] 2 | baseCommand: [] 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: 6 | - {id: file1, type: File} 7 | outputs: 8 | - {id: b, type: stdout} 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | stdout: $(inputs.file1.nameroot).xtx 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_nested-array.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: echo 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: letters 6 | inputBinding: {position: 1} 7 | type: 8 | items: {items: string, type: array} 9 | type: array 10 | outputs: 11 | - {id: echo, type: stdout} 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | stdout: echo.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_networkaccess.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - -c 3 | - {valueFrom: "import urllib.request\nassert(urllib.request.urlopen(\"http://commonwl.org\"\ 4 | ).code == 200)"} 5 | baseCommand: python 6 | class: CommandLineTool 7 | cwlVersion: v1.2 8 | inputs: [] 9 | outputs: [] 10 | requirements: 11 | - {class: DockerRequirement, dockerPull: python:3} 12 | - {class: NetworkAccess, networkAccess: true} 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_networkaccess2.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - -c 3 | - {valueFrom: "import urllib.request\nassert(urllib.request.urlopen(\"http://commonwl.org\"\ 4 | ).code == 200)"} 5 | baseCommand: python 6 | class: CommandLineTool 7 | cwlVersion: v1.2 8 | inputs: [] 9 | outputs: [] 10 | requirements: 11 | - {class: DockerRequirement, dockerPull: python:3} 12 | - {class: InlineJavascriptRequirement} 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_no-inputs-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo, cwl] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: CommandLineTool without inputs. 5 | hints: 6 | DockerRequirement: {dockerPull: debian:stretch-slim} 7 | inputs: [] 8 | outputs: 9 | - id: output 10 | outputBinding: {glob: output} 11 | type: File 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | stdout: output 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_no-outputs-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: echo 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: CommandLineTool without outputs. 5 | hints: 6 | DockerRequirement: {dockerPull: debian:stretch-slim} 7 | inputs: 8 | - id: file1 9 | inputBinding: {position: 1} 10 | label: Input File 11 | type: File 12 | outputs: [] 13 | requirements: 14 | - {class: InlineJavascriptRequirement} 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_null-defined.cwl: -------------------------------------------------------------------------------- 1 | arguments: [echo, '$(inputs.file1 === null ? "t" : "f")'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: file1 6 | type: ['null', File] 7 | outputs: 8 | - id: out 9 | outputBinding: {glob: out.txt, loadContents: true, outputEval: '$(self[0].contents)'} 10 | type: string 11 | requirements: 12 | - {class: InlineJavascriptRequirement} 13 | stdout: out.txt 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_null-expression1-tool.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | expression: "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})" 4 | inputs: 5 | - {default: the-default, id: i1, type: Any} 6 | outputs: 7 | - {id: output, type: int} 8 | requirements: 9 | - {class: InlineJavascriptRequirement} 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_null-expression2-tool.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | expression: "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})" 4 | inputs: 5 | - {id: i1, type: Any} 6 | outputs: 7 | - {id: output, type: int} 8 | requirements: 9 | - {class: InlineJavascriptRequirement} 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_null-expression3-tool.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | expression: "$({'output': null })" 4 | inputs: [] 5 | outputs: 6 | - {id: output, type: Any} 7 | requirements: 8 | - {class: InlineJavascriptRequirement} 9 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_operation.cwl: -------------------------------------------------------------------------------- 1 | class: Operation 2 | cwlVersion: v1.2 3 | doc: Reverse each line 4 | id: reverse 5 | inputs: 6 | - {id: input, type: File} 7 | outputs: 8 | - {id: output, type: File} 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_optional-numerical-output-0.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [echo, '0'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: out 7 | outputBinding: {glob: a.txt, loadContents: true, outputEval: "${\n return parseFloat(self[0].contents);\n\ 8 | }"} 9 | type: ['null', float] 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | stdout: a.txt 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_output-arrays-int.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | expression: "${return {'o': Array.apply(null, {length: inputs.i}).map(Number.call,\ 4 | \ Number)};}\n" 5 | inputs: 6 | - {id: i, type: int} 7 | outputs: 8 | - id: o 9 | type: {items: int, type: array} 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_output_reference_workflow_input.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | - {default: me, id: first, type: string} 5 | outputs: 6 | - {id: last, outputSource: first, type: string} 7 | requirements: [] 8 | steps: [] 9 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_parseInt-tool.cwl: -------------------------------------------------------------------------------- 1 | class: ExpressionTool 2 | cwlVersion: v1.2 3 | expression: "$({'output': parseInt(inputs.file1.contents)})" 4 | inputs: 5 | - {id: file1, loadContents: true, type: File} 6 | outputs: 7 | - {id: output, type: int} 8 | requirements: 9 | - {class: InlineJavascriptRequirement} 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_rename.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: 'true' 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: srcfile, type: File} 6 | - {id: newname, type: string} 7 | outputs: 8 | - id: outfile 9 | outputBinding: {glob: $(inputs.newname)} 10 | type: File 11 | requirements: 12 | - class: InitialWorkDirRequirement 13 | listing: 14 | - {entry: $(inputs.srcfile), entryname: $(inputs.newname)} 15 | - {class: InlineJavascriptRequirement} 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_revtool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: rev 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: Reverse each line using the `rev` command 5 | inputs: 6 | - id: input 7 | inputBinding: {} 8 | type: File 9 | outputs: 10 | - id: output 11 | outputBinding: {glob: output.txt} 12 | type: File 13 | requirements: 14 | - {class: InlineJavascriptRequirement} 15 | stdout: output.txt 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_runtime-outdir.cwl: -------------------------------------------------------------------------------- 1 | arguments: ['mkdir -p foo 2 | 3 | touch baz.txt 4 | 5 | touch foo/bar.txt 6 | 7 | '] 8 | baseCommand: [bash, -c] 9 | class: CommandLineTool 10 | cwlVersion: v1.2 11 | inputs: [] 12 | outputs: 13 | - id: stuff 14 | outputBinding: {glob: $(runtime.outdir)} 15 | type: Directory 16 | requirements: [] 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_runtime-paths-distinct.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: "echo \"cow\" > \"$(runtime.outdir)/foo\" &&\necho\ 3 | \ \"moo\" > \"$(runtime.tmpdir)/foo\" &&\necho '{\"foo\": {\"path\": \"$(runtime.outdir)/foo\"\ 4 | , \"class\": \"File\"} }' > cwl.output.json\n"} 5 | class: CommandLineTool 6 | cwlVersion: v1.2 7 | inputs: [] 8 | outputs: 9 | - {id: foo, type: File} 10 | requirements: 11 | - {class: ShellCommandRequirement} 12 | - {class: InlineJavascriptRequirement} 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_scatter-valueFrom-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: echo 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: scattered_message 6 | inputBinding: {position: 2} 7 | type: string 8 | - id: message 9 | inputBinding: {position: 1} 10 | type: string 11 | outputs: 12 | - {id: out_message, type: stdout} 13 | requirements: 14 | - {class: InlineJavascriptRequirement} 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_schemadef-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: echo 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: hello 6 | inputBinding: {valueFrom: $(self.a)/$(self.b)} 7 | type: 8 | fields: 9 | - {name: a, type: string} 10 | - {name: b, type: string} 11 | name: user_type_2 12 | type: record 13 | outputs: 14 | - id: output 15 | outputBinding: {glob: output.txt} 16 | type: File 17 | requirements: 18 | - {class: InlineJavascriptRequirement} 19 | stdout: output.txt 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_shellchar2.cwl: -------------------------------------------------------------------------------- 1 | arguments: [foo 1>&2] 2 | baseCommand: echo 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | doc: "Ensure that `shellQuote: true` is the default behavior when\nShellCommandRequirement\ 6 | \ is in effect.\n" 7 | inputs: [] 8 | outputs: 9 | - {id: stdout_file, type: stdout} 10 | - {id: stderr_file, type: stderr} 11 | requirements: 12 | - {class: ShellCommandRequirement} 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_sorttool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: sort 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: Sort lines using the `sort` command 5 | inputs: 6 | - id: reverse 7 | inputBinding: {position: 1, prefix: -r} 8 | type: boolean 9 | - id: input 10 | inputBinding: {position: 2} 11 | type: File 12 | outputs: 13 | - id: output 14 | outputBinding: {glob: output.txt} 15 | type: File 16 | requirements: 17 | - {class: InlineJavascriptRequirement} 18 | stdout: output.txt 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_stage-array-dirs.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [ls] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | id: stage_array_dirs 5 | inputs: 6 | - id: input_list 7 | type: {items: Directory, type: array} 8 | label: stage-array-dirs.cwl 9 | outputs: 10 | - id: output 11 | outputBinding: 12 | glob: [testdir/a, rec/B] 13 | type: {items: File, type: array} 14 | requirements: 15 | - class: InitialWorkDirRequirement 16 | listing: [$(inputs.input_list)] 17 | - {class: InlineJavascriptRequirement} 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_stderr-mediumcut.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: echo foo 1>&2} 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | doc: Test of capturing stderr output in a docker container. 6 | inputs: [] 7 | outputs: 8 | - {id: output_file, type: stderr} 9 | requirements: 10 | - {class: ShellCommandRequirement} 11 | - {class: InlineJavascriptRequirement} 12 | stderr: std.err 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_stderr-shortcut.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: echo foo 1>&2} 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | doc: Test of capturing stderr output. 6 | inputs: [] 7 | outputs: 8 | - {id: output_file, type: stderr} 9 | requirements: 10 | - {class: ShellCommandRequirement} 11 | - {class: InlineJavascriptRequirement} 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_stderr.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: echo foo 1>&2} 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | doc: Test of capturing stderr output. 6 | inputs: [] 7 | outputs: 8 | - id: output_file 9 | outputBinding: {glob: error.txt} 10 | type: File 11 | requirements: 12 | - {class: ShellCommandRequirement} 13 | - {class: InlineJavascriptRequirement} 14 | stderr: error.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_stdout_chained_commands.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - echo 3 | - a 4 | - {shellQuote: false, valueFrom: '&&'} 5 | - echo 6 | - b 7 | class: CommandLineTool 8 | cwlVersion: v1.2 9 | inputs: [] 10 | outputs: 11 | - id: out 12 | outputBinding: {glob: out.txt, loadContents: true, outputEval: '$(self[0].contents)'} 13 | type: string 14 | requirements: 15 | - {class: ShellCommandRequirement} 16 | stdout: out.txt 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_storage_float.cwl: -------------------------------------------------------------------------------- 1 | arguments: [$(runtime.ram), $(runtime.tmpdirSize), $(runtime.outdirSize)] 2 | baseCommand: echo 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | inputs: [] 6 | outputs: 7 | - {id: output, type: stdout} 8 | requirements: 9 | - {class: ResourceRequirement, outdirMax: 256.9, outdirMin: 256.1, ramMax: 254.9, 10 | ramMin: 254.1, tmpdirMax: 255.9, tmpdirMin: 255.1} 11 | - {class: InlineJavascriptRequirement} 12 | stdout: values.txt 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_synth-file.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [cat] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: names 6 | inputBinding: {position: 1} 7 | type: File 8 | outputs: 9 | - {id: sequence, type: stdout} 10 | requirements: [] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_test-cwl-out.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: "echo foo > foo && echo '{\"foo\": {\"path\": \"\ 3 | $(runtime.outdir)/foo\", \"class\": \"File\"} }' > cwl.output.json\n"} 4 | class: CommandLineTool 5 | cwlVersion: v1.2 6 | hints: 7 | DockerRequirement: {dockerPull: debian:stretch-slim} 8 | inputs: [] 9 | outputs: 10 | - {id: foo, type: File} 11 | requirements: 12 | - {class: ShellCommandRequirement} 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_test-cwl-out2.cwl: -------------------------------------------------------------------------------- 1 | arguments: 2 | - {shellQuote: false, valueFrom: "echo foo > foo && echo '{\"foo\": {\"location\"\ 3 | : \"file://$(runtime.outdir)/foo\", \"class\": \"File\"} }' > cwl.output.json\n"} 4 | class: CommandLineTool 5 | cwlVersion: v1.2 6 | hints: 7 | DockerRequirement: {dockerPull: debian:stretch-slim} 8 | inputs: [] 9 | outputs: 10 | - {id: foo, type: File} 11 | requirements: 12 | - {class: ShellCommandRequirement} 13 | - {class: InlineJavascriptRequirement} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_timelimit.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [sleep, '15'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: [] 6 | requirements: 7 | - {class: ToolTimeLimit, timelimit: 3} 8 | - {class: WorkReuse, enableReuse: false} 9 | - {class: InlineJavascriptRequirement} 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_timelimit2.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [sleep, '15'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: [] 6 | requirements: 7 | - {class: ToolTimeLimit, timelimit: -1} 8 | - {class: InlineJavascriptRequirement} 9 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_timelimit3.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [sleep, '15'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: [] 6 | requirements: 7 | - {class: ToolTimeLimit, timelimit: 0} 8 | - {class: WorkReuse, enableReuse: false} 9 | - {class: InlineJavascriptRequirement} 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_timelimit4.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [sleep, '15'] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: [] 6 | requirements: 7 | - {class: InlineJavascriptRequirement} 8 | - {class: ToolTimeLimit, timelimit: $(1+2)} 9 | - {class: WorkReuse, enableReuse: false} 10 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_tool-v12.cwl: -------------------------------------------------------------------------------- 1 | arguments: [echo, $(inputs.inp1)] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: inp1 6 | secondaryFiles: 7 | - {pattern: '.2', required: true} 8 | type: File 9 | outputs: [] 10 | requirements: 11 | - {class: ResourceRequirement, coresMin: 0.5} 12 | - {class: InlineJavascriptRequirement} 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_touch.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [touch] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | hints: 5 | DockerRequirement: {dockerPull: debian:stretch-slim} 6 | inputs: 7 | - id: name 8 | inputBinding: {position: 0} 9 | type: string 10 | outputs: 11 | - id: empty_file 12 | outputBinding: {glob: $(inputs.name)} 13 | type: File 14 | requirements: 15 | - {class: InlineJavascriptRequirement} 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_updatedir_inplace.cwl: -------------------------------------------------------------------------------- 1 | arguments: [touch, inp/blurb] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: r, type: Directory} 6 | outputs: 7 | - id: out 8 | outputBinding: {glob: inp} 9 | type: Directory 10 | requirements: 11 | - class: InitialWorkDirRequirement 12 | listing: 13 | - {entry: $(inputs.r), entryname: inp, writable: true} 14 | - {class: InplaceUpdateRequirement, inplaceUpdate: true} 15 | - {class: InlineJavascriptRequirement} 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_vf-concat.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: echo 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: file1 6 | inputBinding: {valueFrom: $("a ")$("string")} 7 | type: ['null', File] 8 | outputs: 9 | - id: out 10 | outputBinding: {glob: output.txt, loadContents: true, outputEval: '$(self[0].contents)'} 11 | type: string 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | stdout: output.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_wc-tool-shortcut.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [wc] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: file1, type: stdin} 6 | outputs: 7 | - id: output 8 | outputBinding: {glob: output} 9 | type: File 10 | requirements: 11 | - {class: DockerRequirement, dockerPull: debian:stretch-slim} 12 | - {class: InlineJavascriptRequirement} 13 | stdout: output 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_wc-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: [wc, -l] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - {id: file1, type: File} 6 | outputs: 7 | - id: output 8 | outputBinding: {glob: output} 9 | type: File 10 | requirements: 11 | - {class: InlineJavascriptRequirement} 12 | stdin: $(inputs.file1.path) 13 | stdout: output 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_wc2-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: wc 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: file1 6 | inputBinding: {} 7 | type: File 8 | outputs: 9 | - id: output 10 | outputBinding: {glob: output.txt, loadContents: true, outputEval: '$(parseInt(self[0].contents))'} 11 | type: int 12 | requirements: 13 | - {class: InlineJavascriptRequirement} 14 | stdout: output.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_wc3-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: wc 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: file1 6 | inputBinding: {} 7 | type: {items: File, type: array} 8 | outputs: 9 | - id: output 10 | outputBinding: {glob: output.txt, loadContents: true, outputEval: "${\n var s =\ 11 | \ self[0].contents.split(/\\r?\\n/);\n return parseInt(s[s.length-2]);\n}\n"} 12 | type: int 13 | requirements: 14 | - {class: InlineJavascriptRequirement} 15 | stdout: output.txt 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_wc4-tool.cwl: -------------------------------------------------------------------------------- 1 | baseCommand: wc 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: 5 | - id: file1 6 | inputBinding: {} 7 | type: File 8 | outputs: 9 | - id: output 10 | outputBinding: {glob: output.txt, loadContents: true, outputEval: "${\n var s =\ 11 | \ self[0].contents.split(/\\r?\\n/);\n return parseInt(s[s.length-2]);\n}\n"} 12 | type: int 13 | requirements: 14 | - {class: InlineJavascriptRequirement} 15 | stdout: output.txt 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_packed_writable-dir.cwl: -------------------------------------------------------------------------------- 1 | arguments: [touch, emptyWritableDir/blurg] 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | inputs: [] 5 | outputs: 6 | - id: out 7 | outputBinding: {glob: emptyWritableDir} 8 | type: Directory 9 | requirements: 10 | - {class: InlineJavascriptRequirement} 11 | - class: InitialWorkDirRequirement 12 | listing: 13 | - {entry: "$({class: 'Directory', listing: []})", entryname: emptyWritableDir, writable: true} 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_params.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: 4 | bar: 5 | type: Any 6 | default: { 7 | "baz": "zab1", 8 | "b az": 2, 9 | "b'az": true, 10 | 'b"az': null, 11 | "buz": ['a', 'b', 'c'] 12 | } 13 | 14 | outputs: {"$import": params_inc.yml} 15 | 16 | baseCommand: "true" 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_params2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | - class: InlineJavascriptRequirement # needed by params_inc.yml 5 | 6 | inputs: 7 | bar: 8 | type: Any 9 | default: { 10 | "baz": "zab1", 11 | "b az": 2, 12 | "b'az": true, 13 | 'b"az': null, 14 | "buz": ['a', 'b', 'c'] 15 | } 16 | 17 | outputs: {"$import": params_inc.yml} 18 | 19 | baseCommand: "true" 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_parseInt-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: ExpressionTool 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | cwlVersion: v1.2 7 | 8 | inputs: 9 | file1: 10 | type: File 11 | loadContents: true 12 | 13 | outputs: 14 | output: int 15 | 16 | expression: "$({'output': parseInt(inputs.file1.contents)})" 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_pass-unconnected.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | inp1: 5 | type: string 6 | default: hello inp1 7 | inp2: 8 | type: string 9 | default: hello inp2 10 | outputs: 11 | out: 12 | type: string 13 | outputSource: step1/out 14 | steps: 15 | step1: 16 | in: 17 | in: inp1 18 | in2: inp2 19 | out: [out] 20 | run: echo-tool.cwl 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_record-in-secondaryFiles-missing-wf.cwl: -------------------------------------------------------------------------------- 1 | class: Workflow 2 | cwlVersion: v1.2 3 | inputs: 4 | record_input: 5 | type: 6 | type: record 7 | fields: 8 | f1: 9 | type: File 10 | f2: 11 | type: 12 | type: array 13 | items: File 14 | outputs: [] 15 | steps: 16 | step1: 17 | in: 18 | record_input: record_input 19 | out: [] 20 | run: record-in-secondaryFiles.cwl -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_rename.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | baseCommand: "true" 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entryname: $(inputs.newname) 8 | entry: $(inputs.srcfile) 9 | inputs: 10 | srcfile: File 11 | newname: string 12 | outputs: 13 | outfile: 14 | type: File 15 | outputBinding: 16 | glob: $(inputs.newname) 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_runtime-outdir.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | baseCommand: [bash, -c] 4 | arguments: 5 | - | 6 | mkdir -p foo 7 | touch baz.txt 8 | touch foo/bar.txt 9 | inputs: [] 10 | outputs: 11 | stuff: 12 | type: Directory 13 | outputBinding: 14 | glob: $(runtime.outdir) 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_runtime-paths-distinct.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | ShellCommandRequirement: {} 5 | inputs: {} 6 | outputs: 7 | foo: File 8 | arguments: 9 | - shellQuote: false 10 | valueFrom: | 11 | echo "cow" > "$(runtime.outdir)/foo" && 12 | echo "moo" > "$(runtime.tmpdir)/foo" && 13 | echo '{"foo": {"path": "$(runtime.outdir)/foo", "class": "File"} }' > cwl.output.json 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_scatter-valueFrom-tool.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | inputs: 4 | scattered_message: 5 | type: string 6 | inputBinding: 7 | position: 2 8 | message: 9 | type: string 10 | inputBinding: 11 | position: 1 12 | outputs: 13 | out_message: 14 | type: stdout 15 | baseCommand: echo 16 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_schemadef-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | 5 | requirements: 6 | - $import: schemadef-type.yml 7 | 8 | inputs: 9 | - id: hello 10 | type: "schemadef-type.yml#HelloType" 11 | inputBinding: 12 | valueFrom: $(self.a)/$(self.b) 13 | 14 | outputs: 15 | - id: output 16 | type: File 17 | outputBinding: 18 | glob: output.txt 19 | 20 | stdout: output.txt 21 | baseCommand: echo 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_schemadef-wf.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | cwlVersion: v1.2 4 | class: Workflow 5 | 6 | requirements: 7 | - $import: schemadef-type.yml 8 | 9 | inputs: 10 | hello: "schemadef-type.yml#HelloType" 11 | 12 | outputs: 13 | output: 14 | type: File 15 | outputSource: step1/output 16 | 17 | steps: 18 | step1: 19 | in: 20 | hello: hello 21 | out: [output] 22 | run: schemadef-tool.cwl 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_shellchar.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: | 5 | Ensure that arguments containing shell directives are not interpreted and 6 | that `shellQuote: false` has no effect when ShellCommandRequirement is not in 7 | effect. 8 | inputs: [] 9 | outputs: 10 | stdout_file: stdout 11 | stderr_file: stderr 12 | baseCommand: echo 13 | arguments: [{valueFrom: "foo 1>&2", shellQuote: false}] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_shellchar2.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: | 5 | Ensure that `shellQuote: true` is the default behavior when 6 | ShellCommandRequirement is in effect. 7 | requirements: 8 | ShellCommandRequirement: {} 9 | inputs: [] 10 | outputs: 11 | stdout_file: stdout 12 | stderr_file: stderr 13 | baseCommand: echo 14 | arguments: ["foo 1>&2"] 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_stage-array-dirs.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | id: stage_array_dirs 6 | baseCommand: 7 | - ls 8 | inputs: 9 | - id: input_list 10 | type: Directory[] 11 | outputs: 12 | - id: output 13 | type: File[] 14 | outputBinding: 15 | glob: 16 | - testdir/a 17 | - rec/B 18 | label: stage-array-dirs.cwl 19 | requirements: 20 | - class: InitialWorkDirRequirement 21 | listing: 22 | - $(inputs.input_list) 23 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_stderr-mediumcut.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: "Test of capturing stderr output in a docker container." 5 | requirements: 6 | ShellCommandRequirement: {} 7 | inputs: [] 8 | outputs: 9 | output_file: 10 | type: stderr 11 | arguments: 12 | - { valueFrom: "echo foo 1>&2", shellQuote: False } 13 | stderr: std.err 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_stderr-shortcut.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: "Test of capturing stderr output." 5 | requirements: 6 | ShellCommandRequirement: {} 7 | inputs: [] 8 | outputs: 9 | output_file: 10 | type: stderr 11 | arguments: 12 | - { valueFrom: "echo foo 1>&2", shellQuote: False } 13 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_stderr.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | doc: "Test of capturing stderr output." 5 | requirements: 6 | ShellCommandRequirement: {} 7 | inputs: [] 8 | outputs: 9 | output_file: 10 | type: File 11 | outputBinding: {glob: error.txt} 12 | arguments: 13 | - { valueFrom: "echo foo 1>&2", shellQuote: False } 14 | stderr: error.txt 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_stdout_chained_commands.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | requirements: 4 | - class: ShellCommandRequirement 5 | inputs: [] 6 | outputs: 7 | out: 8 | type: string 9 | outputBinding: 10 | glob: out.txt 11 | loadContents: true 12 | outputEval: $(self[0].contents) 13 | stdout: out.txt 14 | arguments: 15 | - echo 16 | - a 17 | - {valueFrom: '&&', shellQuote: false} 18 | - echo 19 | - b 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_synth-file.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | 4 | inputs: 5 | names: 6 | type: File 7 | inputBinding: 8 | position: 1 9 | 10 | baseCommand: [ cat ] 11 | 12 | outputs: 13 | sequence: 14 | type: stdout 15 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_test-cwl-out.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | - class: ShellCommandRequirement 5 | hints: 6 | DockerRequirement: 7 | dockerPull: "debian:stretch-slim" 8 | 9 | inputs: [] 10 | 11 | outputs: 12 | - id: foo 13 | type: File 14 | 15 | arguments: 16 | - valueFrom: > 17 | echo foo > foo && echo '{"foo": {"path": "$(runtime.outdir)/foo", "class": "File"} }' > cwl.output.json 18 | shellQuote: false 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_test-cwl-out2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | requirements: 4 | - class: ShellCommandRequirement 5 | hints: 6 | DockerRequirement: 7 | dockerPull: "debian:stretch-slim" 8 | 9 | inputs: [] 10 | 11 | outputs: 12 | - id: foo 13 | type: File 14 | 15 | arguments: 16 | - valueFrom: > 17 | echo foo > foo && echo '{"foo": {"location": "file://$(runtime.outdir)/foo", "class": "File"} }' > cwl.output.json 18 | shellQuote: false 19 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_timelimit.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ToolTimeLimit: 7 | timelimit: 3 8 | WorkReuse: 9 | enableReuse: false 10 | baseCommand: [sleep, "15"] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_timelimit2.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ToolTimeLimit: 7 | timelimit: -1 8 | baseCommand: [sleep, "15"] 9 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_timelimit3.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | ToolTimeLimit: 7 | timelimit: 0 8 | WorkReuse: 9 | enableReuse: false 10 | baseCommand: [sleep, "15"] 11 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_timelimit4.cwl: -------------------------------------------------------------------------------- 1 | class: CommandLineTool 2 | cwlVersion: v1.2 3 | inputs: [] 4 | outputs: [] 5 | requirements: 6 | InlineJavascriptRequirement: {} 7 | ToolTimeLimit: 8 | timelimit: $(1+2) 9 | WorkReuse: 10 | enableReuse: false 11 | baseCommand: [sleep, "15"] 12 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_tool-v12.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | inputs: 4 | inp1: 5 | type: File 6 | secondaryFiles: 7 | - pattern: ".2" 8 | required: true 9 | requirements: 10 | ResourceRequirement: 11 | coresMin: .5 12 | outputs: [] 13 | arguments: [echo, $(inputs.inp1)] 14 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_touch.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | cwlVersion: v1.2 3 | class: CommandLineTool 4 | 5 | hints: 6 | DockerRequirement: 7 | dockerPull: debian:stretch-slim 8 | 9 | inputs: 10 | name: 11 | type: string 12 | inputBinding: 13 | position: 0 14 | 15 | outputs: 16 | empty_file: 17 | type: File 18 | outputBinding: 19 | glob: $(inputs.name) 20 | 21 | baseCommand: [touch] 22 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_updatedir_inplace.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entry: $(inputs.r) 8 | entryname: inp 9 | writable: true 10 | InplaceUpdateRequirement: 11 | inplaceUpdate: true 12 | inputs: 13 | r: Directory 14 | outputs: 15 | out: 16 | type: Directory 17 | outputBinding: 18 | glob: inp 19 | arguments: [touch, inp/blurb] 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_vf-concat.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | requirements: 4 | - class: InlineJavascriptRequirement 5 | 6 | baseCommand: echo 7 | inputs: 8 | file1: 9 | type: File? 10 | inputBinding: 11 | valueFrom: $("a ")$("string") 12 | outputs: 13 | out: 14 | type: string 15 | outputBinding: 16 | glob: output.txt 17 | loadContents: true 18 | outputEval: $(self[0].contents) 19 | stdout: output.txt 20 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_wc-tool-shortcut.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | 6 | requirements: 7 | - class: DockerRequirement 8 | dockerPull: debian:stretch-slim 9 | 10 | inputs: 11 | file1: stdin 12 | 13 | outputs: 14 | output: 15 | type: File 16 | outputBinding: { glob: output } 17 | 18 | baseCommand: [wc] 19 | 20 | stdout: output 21 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_wc-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | 6 | inputs: 7 | file1: File 8 | 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | 14 | baseCommand: [wc, -l] 15 | 16 | stdin: $(inputs.file1.path) 17 | stdout: output 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_wc2-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | 7 | inputs: 8 | - { id: file1, type: File, inputBinding: {} } 9 | outputs: 10 | - id: output 11 | type: int 12 | outputBinding: 13 | glob: output.txt 14 | loadContents: true 15 | outputEval: "$(parseInt(self[0].contents))" 16 | stdout: output.txt 17 | baseCommand: wc 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/valid_writable-dir.cwl: -------------------------------------------------------------------------------- 1 | cwlVersion: v1.2 2 | class: CommandLineTool 3 | requirements: 4 | InlineJavascriptRequirement: {} 5 | InitialWorkDirRequirement: 6 | listing: 7 | - entryname: emptyWritableDir 8 | writable: true 9 | entry: "$({class: 'Directory', listing: []})" 10 | inputs: [] 11 | outputs: 12 | out: 13 | type: Directory 14 | outputBinding: 15 | glob: emptyWritableDir 16 | arguments: [touch, emptyWritableDir/blurg] 17 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/wc-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | 3 | class: CommandLineTool 4 | cwlVersion: v1.2 5 | 6 | inputs: 7 | file1: File 8 | 9 | outputs: 10 | output: 11 | type: File 12 | outputBinding: { glob: output } 13 | 14 | baseCommand: [wc, -l] 15 | 16 | stdin: $(inputs.file1.path) 17 | stdout: output 18 | -------------------------------------------------------------------------------- /src/test/resources/org/w3id/cwl/cwl1_2/utils/wc2-tool.cwl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env cwl-runner 2 | class: CommandLineTool 3 | cwlVersion: v1.2 4 | requirements: 5 | - class: InlineJavascriptRequirement 6 | 7 | inputs: 8 | - { id: file1, type: File, inputBinding: {} } 9 | outputs: 10 | - id: output 11 | type: int 12 | outputBinding: 13 | glob: output.txt 14 | loadContents: true 15 | outputEval: "$(parseInt(self[0].contents))" 16 | stdout: output.txt 17 | baseCommand: wc 18 | --------------------------------------------------------------------------------