Skip to content

Commit fcc5374

Browse files
committed
Merge remote-tracking branch 'origin/master' into directory
2 parents cae0407 + a90b71f commit fcc5374

6 files changed

+147
-28
lines changed

draft-4/CommandLineTool.yml

+39
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,45 @@ $graph:
591591
Docker container.
592592
593593
594+
- type: record
595+
name: SoftwareRequirement
596+
extends: "#ProcessRequirement"
597+
doc: |
598+
Software that should be configured in the environment of the defined
599+
process.
600+
601+
While absolute portability between platforms can be achieved with container
602+
technologies like Docker, this mechanism provides an inexact and imprecise
603+
fallback. The inexact nature is due to this standard not specifying the
604+
base operating environment of the process or how the that environment is to
605+
be configured as a result of these hints. The imprecise nature of these
606+
hints is due to the `name` and `version` fields being unstructured and not
607+
namespaced. The optional `identifier` field is recommended so that users
608+
and platforms can distinguish between software that has the same name.
609+
fields:
610+
- name: spec
611+
type:
612+
type: array
613+
items: SoftwareSpec
614+
doc: "The list of software to be configured."
615+
616+
- name: SoftwareSpec
617+
type: record
618+
fields:
619+
- name: name
620+
type: string
621+
doc: "The name of the software to be configured."
622+
jsonldPredicate: "@id"
623+
- name: "version"
624+
type: string?
625+
doc: "The (optional) version of the software to configured."
626+
- name: "identifier"
627+
type: string?
628+
doc: |
629+
The (optional) identifier of the software to be configured. Should be a
630+
IRI such as an [RRID](http://www.identifiers.org/rrid/SCR_001156).
631+
Example: `http://identifiers.org/rrid/RRID:SCR_001156`
632+
594633
- name: DirentExt
595634
type: record
596635
doc: |

draft-4/Process.yml

+22-23
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,29 @@ $graph:
253253
- name: SchemaBase
254254
type: record
255255
abstract: true
256+
257+
258+
- name: Parameter
259+
type: record
260+
extends: "#SchemaBase"
261+
abstract: true
262+
doc: |
263+
Define an input or output parameter to a process.
264+
256265
fields:
266+
- name: label
267+
type:
268+
- "null"
269+
- string
270+
jsonldPredicate: "rdfs:label"
271+
doc: "A short, human-readable label of this parameter object."
272+
273+
- name: description
274+
type:
275+
- "null"
276+
- string
277+
jsonldPredicate: "rdfs:comment"
278+
doc: "A long, human-readable description of this parameter object."
257279
- name: secondaryFiles
258280
type:
259281
- "null"
@@ -312,29 +334,6 @@ $graph:
312334
pipe. Default: `false`.
313335
314336
315-
- name: Parameter
316-
type: record
317-
extends: "#SchemaBase"
318-
abstract: true
319-
doc: |
320-
Define an input or output parameter to a process.
321-
322-
fields:
323-
- name: label
324-
type:
325-
- "null"
326-
- string
327-
jsonldPredicate: "rdfs:label"
328-
doc: "A short, human-readable label of this parameter object."
329-
330-
- name: description
331-
type:
332-
- "null"
333-
- string
334-
jsonldPredicate: "rdfs:comment"
335-
doc: "A long, human-readable description of this parameter object."
336-
337-
338337
- type: enum
339338
name: Expression
340339
doc: |

draft-4/Workflow.yml

+7-5
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,12 @@ $graph:
255255
the value of the parameter(s) specified in the `source` field, or
256256
null if there is no `source` field.
257257
258-
The value of `inputs` in the parameter reference or expression is the
259-
input object to the workflow step after assigning the `source` values,
260-
but before evaluating any step with `valueFrom`. The order of
261-
evaluating `valueFrom` among step input parameters is undefined.
258+
The value of `inputs` in the parameter reference or expression must be
259+
the input object to the workflow step after assigning the `source`
260+
values and then scattering. The order of evaluating `valueFrom` among
261+
step input parameters is undefined and the result of evaluating
262+
`valueFrom` on a parameter must not be visible to evaluation of
263+
`valueFrom` on other parameters.
262264
263265
264266
- type: record
@@ -502,7 +504,7 @@ $graph:
502504
extends: ProcessRequirement
503505
doc: |
504506
Indicates that the workflow platform must support nested workflows in
505-
the `run` field of (WorkflowStep)(#WorkflowStep).
507+
the `run` field of [WorkflowStep](#WorkflowStep).
506508
507509
- name: ScatterFeatureRequirement
508510
type: record

draft-4/conformance_test_draft-4.yaml

+19
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
class: File
6565
checksum: sha1$47a013e660d408619d894b20806b1d5086aab03b
6666
location:
67+
path: Any
6768
size: 13
6869
doc: Test command execution in Docker with simplified syntax stdout redirection
6970

@@ -88,6 +89,12 @@
8889
}
8990
tool: draft-4/egrep-stderr.cwl
9091
doc: Test command line with stderr redirection
92+
output:
93+
output_file:
94+
class: File
95+
checksum: sha1$cec7b8746a78c42060c96505887449bca0142976
96+
size: 84
97+
path: error.txt
9198

9299
- job:
93100
output: {
@@ -100,6 +107,12 @@
100107
}
101108
tool: draft-4/egrep-stderr-shortcut.cwl
102109
doc: Test command line with stderr redirection, brief syntax
110+
output:
111+
output_file:
112+
class: File
113+
checksum: sha1$cec7b8746a78c42060c96505887449bca0142976
114+
size: 84
115+
path: Any
103116

104117
- output:
105118
output_file:
@@ -690,6 +703,12 @@
690703
tool: "draft-4/scatter-valuefrom-wf4.cwl#main"
691704
doc: Test workflow scatter with two scatter parameters and dotproduct join method and valueFrom on step input
692705

706+
- job: draft-4/scatter-valuefrom-job1.json
707+
output:
708+
out: ["foo one one", "foo two two", "foo three three", "foo four four"]
709+
tool: draft-4/scatter-valuefrom-wf5.cwl
710+
doc: Test workflow scatter with single scatter parameter and valueFrom on step input
711+
693712
- job: draft-4/conflict-job.json
694713
output: {
695714
"fileout": {

draft-4/draft-4/cat1-tool.cwl

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ description: "Print the contents of a file to stdout using 'cat' running in a do
55
hints:
66
DockerRequirement:
77
dockerPull: debian:wheezy
8+
SoftwareRequirement:
9+
name: cat
810
inputs:
911
file1:
1012
type: File
+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/usr/bin/env cwl-runner
2+
cwlVersion: cwl:draft-4.dev2
3+
class: Workflow
4+
inputs:
5+
inp:
6+
type:
7+
type: array
8+
items:
9+
type: record
10+
name: instr
11+
fields:
12+
- name: instr
13+
type: string
14+
outputs:
15+
out:
16+
type:
17+
type: array
18+
items: string
19+
outputSource: step1/echo_out
20+
21+
requirements:
22+
- class: ScatterFeatureRequirement
23+
- class: StepInputExpressionRequirement
24+
25+
steps:
26+
step1:
27+
in:
28+
echo_in:
29+
source: inp
30+
valueFrom: $(self.instr)
31+
first:
32+
source: inp
33+
valueFrom: $(inputs.echo_in.instr)
34+
out: [echo_out]
35+
scatter: echo_in
36+
run:
37+
class: CommandLineTool
38+
inputs:
39+
first:
40+
type: string
41+
inputBinding:
42+
position: 1
43+
echo_in:
44+
type: string
45+
inputBinding:
46+
position: 2
47+
outputs:
48+
echo_out:
49+
type: string
50+
outputBinding:
51+
glob: "step1_out"
52+
loadContents: true
53+
outputEval: $(self[0].contents)
54+
baseCommand: "echo"
55+
arguments:
56+
- "-n"
57+
- "foo"
58+
stdout: "step1_out"

0 commit comments

Comments
 (0)