diff --git a/json-schema/cwl.yaml b/json-schema/cwl.yaml index 8153d2ae..0ecddc21 100644 --- a/json-schema/cwl.yaml +++ b/json-schema/cwl.yaml @@ -1,7 +1,7 @@ -$schema: "http://json-schema.org/draft-07/schema#" +$schema: https://json-schema.org/draft/2020-12/schema $author: "Francis Charette-Migneault " $id: "https://raw.githubusercontent.com/common-workflow-language/cwl-v1.2/1.2.1_proposed/json-schema/cwl.yaml" - +$ref: '#/$defs/CWL' $defs: CWL: oneOf: @@ -126,8 +126,7 @@ $defs: properties: class: type: string - enum: - - DockerRequirement + const: DockerRequirement dockerPull: type: string title: Docker pull reference @@ -157,7 +156,6 @@ $defs: title: InitialWorkDirListingItems items: oneOf: - - type: 'null' - $ref: '#/$defs/CWLExpression' - $ref: '#/$defs/DirectoryListingDirent' - $ref: '#/$defs/DirectoryListingFileOrDirectory' @@ -203,8 +201,7 @@ $defs: properties: class: type: string - enum: - - InitialWorkDirRequirement + const: InitialWorkDirRequirement listing: $ref: '#/$defs/InitialWorkDirListing' required: @@ -242,12 +239,11 @@ $defs: properties: class: type: string - enum: - - InlineJavascriptRequirement + const: InlineJavascriptRequirement expressionLib: $ref: '#/$defs/InlineJavascriptLibraries' - required: - - expressionLib + required: + - expressionLib additionalProperties: false InplaceUpdateRequirement: type: object @@ -260,8 +256,7 @@ $defs: properties: class: type: string - enum: - - InplaceUpdateRequirement + const: InplaceUpdateRequirement inplaceUpdate: type: boolean title: inplaceUpdate @@ -284,8 +279,7 @@ $defs: properties: class: type: string - enum: - - LoadListingRequirement + const: LoadListingRequirement loadListing: $ref: '#/$defs/LoadListingEnum' required: @@ -305,8 +299,7 @@ $defs: class: type: string $comment: Not 'NetworkAccessRequirement' - enum: - - NetworkAccess + const: NetworkAccess networkAccess: $ref: '#/$defs/NetworkAccess' required: @@ -454,8 +447,7 @@ $defs: properties: class: type: string - enum: - - ResourceRequirement + const: ResourceRequirement coresMin: $ref: '#/$defs/ResourceCoresMinimum' coresMax: @@ -509,8 +501,7 @@ $defs: class: type: string description: CWL requirement class specification. - enum: - - ScatterFeatureRequirement + const: ScatterFeatureRequirement additionalProperties: false MultipleInputFeatureRequirement: type: object @@ -522,8 +513,7 @@ $defs: class: type: string description: CWL requirement class specification. - enum: - - MultipleInputFeatureRequirement + const: MultipleInputFeatureRequirement additionalProperties: false StepInputExpressionRequirement: type: object @@ -533,8 +523,7 @@ $defs: class: type: string description: CWL requirement class specification. - enum: - - StepInputExpressionRequirement + const: StepInputExpressionRequirement additionalProperties: false SubworkflowFeatureRequirement: type: object @@ -544,8 +533,7 @@ $defs: class: type: string description: CWL requirement class specification. - enum: - - SubworkflowFeatureRequirement + const: SubworkflowFeatureRequirement additionalProperties: false CWLFileOnlyParameters: type: object @@ -727,8 +715,7 @@ $defs: properties: class: type: string - enum: - - SchemaDefRequirement + const: SchemaDefRequirement types: type: array items: @@ -765,8 +752,7 @@ $defs: properties: class: type: string - enum: - - SoftwareRequirement + const: SoftwareRequirement packages: oneOf: - type: array @@ -786,8 +772,7 @@ $defs: properties: class: type: string - enum: - - ShellCommandRequirement + const: ShellCommandRequirement additionalProperties: false EnvironmentDef: type: object @@ -796,8 +781,7 @@ $defs: type: string minLength: 1 envValue: - type: - $ref: '#/$defs/CWLExpression' + $ref: '#/$defs/CWLExpression' required: - envName - envValue @@ -807,8 +791,7 @@ $defs: properties: class: type: string - enum: - - EnvVarRequirement + const: EnvVarRequirement envDef: oneOf: - type: array @@ -850,8 +833,7 @@ $defs: class: type: string $comment: not 'ToolTimeLimitRequirement' - enum: - - ToolTimeLimit + const: ToolTimeLimit timelimit: $ref: '#/$defs/TimeLimitValue' required: @@ -883,8 +865,7 @@ $defs: class: type: string $comment: Not 'WorkReuseRequirement'. - enum: - - WorkReuse + const: WorkReuse enableReuse: $ref: '#/$defs/EnableReuseValue' required: @@ -1018,8 +999,7 @@ $defs: properties: class: type: string - enum: - - BuiltinRequirement + const: BuiltinRequirement process: $comment: Builtin process identifier. $ref: '#/$defs/CWLTextPatternID' @@ -1060,8 +1040,7 @@ $defs: properties: class: type: string - enum: - - cwltool:CUDARequirement + const: cwltool:CUDARequirement cudaVersionMin: type: string title: CUDA version minimum @@ -1105,8 +1084,7 @@ $defs: properties: class: type: string - enum: - - OGCAPIRequirement + const: OGCAPIRequirement process: description: Process location. $ref: '#/$defs/ReferenceURL' @@ -1123,8 +1101,7 @@ $defs: properties: class: type: string - enum: - - WPS1Requirement + const: WPS1Requirement process: $comment: Process identifier of the remote WPS provider. $ref: '#/$defs/CWLTextPatternID' @@ -1441,7 +1418,7 @@ $defs: then: properties: default: - type: 'null' + type: null - $comment: Required string. if: properties: @@ -1461,7 +1438,7 @@ $defs: default: type: - string - - 'null' + - null - $comment: Required boolean. if: properties: @@ -1486,7 +1463,7 @@ $defs: default: type: - number - - 'null' + - null - $comment: Required numeric. if: properties: @@ -1516,7 +1493,7 @@ $defs: default: type: - number - - 'null' + - null - $comment: Required enum. if: properties: @@ -1541,7 +1518,7 @@ $defs: default: oneOf: - $ref: '#/$defs/CWLTypeSymbolValues' - - type: 'null' + - type: null - $comment: Required File or Directory. if: properties: @@ -1565,7 +1542,7 @@ $defs: default: oneOf: - $ref: '#/$defs/CWLDefaultLocation' - - type: 'null' + - type: null - $comment: Required array of string. if: oneOf: @@ -2037,8 +2014,7 @@ $defs: properties: class: type: string - enum: - - Workflow + const: Workflow CWLWorkflowSteps: oneOf: - $ref: '#/$defs/CWLWorkflowStepMap'