@@ -480,7 +480,7 @@ $graph:
480
480
The value of `inputs` in the parameter reference or expression must be
481
481
the input object to the previous iteration of the workflow step (or the initial
482
482
inputs for the first iteration).
483
-
483
+
484
484
485
485
- name : ScatterMethod
486
486
type : enum
@@ -504,6 +504,7 @@ $graph:
504
504
- name : AbstractWorkflowStep
505
505
type : record
506
506
extends : [Identified, Labeled, sld:Documented]
507
+ abstract : true
507
508
docParent : " #Workflow"
508
509
doc : |
509
510
A workflow step is an executable element of a workflow. It specifies the
@@ -655,9 +656,9 @@ $graph:
655
656
producing a job for every combination of the scattered inputs. The
656
657
output arrays must be flattened to a single level, but otherwise listed in the
657
658
order that the input arrays are listed in the `scatter` field.
658
-
659
+
659
660
# Conditional execution (Optional)
660
-
661
+
661
662
The condition is evaluated after `scatter`, using the input object
662
663
of each individual scatter job. This means over a set of scatter
663
664
jobs, some may be executed and some may be skipped. When the
@@ -689,30 +690,30 @@ $graph:
689
690
docParent : " #Workflow"
690
691
doc : |
691
692
# Iterative execution (Optional)
692
-
693
+
693
694
The `loop` field controls iterative execution. It defines the input
694
695
parameters of the loop iterations after the first one (inputs of the
695
696
first iteration are the step input parameters, as usual). If no
696
697
`loop` rule is specified for a given step `in` field, the initial
697
698
value is kept constant among all iterations.
698
-
699
+
699
700
When a `loop` field is present, the `when` field is mandatory. It is
700
701
evaluated before each loop iteration and acts as a termination condition:
701
702
as soon as the `when` expression evaluates to `false`, the loop terminates
702
703
and the step outputs are propagated to the subsequent workflow steps.
703
-
704
+
704
705
The `outputMethod` field describes how to deal with loop outputs after
705
706
termination:
706
707
707
708
* **last** specifies that only the last computed element for each output
708
- parameter should be propagated to the subsequent steps. This is the
709
+ parameter should be propagated to the subsequent steps. This is the
709
710
default value.
710
-
711
+
711
712
* **all** specifies that an array with all output values computed at the
712
713
end of each loop iteration should be propagated to the subsequent steps.
713
714
Elements in the array must be ordered according to the loop iterations
714
715
that produced them.
715
-
716
+
716
717
Iterative execution in CWL is an optional feature and is not required
717
718
to be implemented by all consumers of CWL documents. An implementation that
718
719
does not support iterative executions must return a fatal error when
0 commit comments