@@ -74,6 +74,12 @@ $graph:
74
74
dependencies of a tool.
75
75
* The common `description` field has been renamed to `doc`.
76
76
77
+ ## Errata
78
+
79
+ Post v1.0 release changes to the spec.
80
+
81
+ * 13 July 2016: Mark `baseCommand` as optional and update descriptive text.
82
+
77
83
## Purpose
78
84
79
85
Standalone programs are a flexible and interoperable form of code reuse.
@@ -511,18 +517,24 @@ $graph:
511
517
type : string
512
518
- name : baseCommand
513
519
doc : |
514
- Specifies the program to execute. If the value is an array, the first
515
- element is the program to execute, and subsequent elements are placed
516
- at the beginning of the command line in prior to any command line
517
- bindings. If the program includes a path separator character it must
520
+ Specifies the program to execute. If an array, the first element of
521
+ the array is the command to execute, and subsequent elements are
522
+ mandatory command line arguments. The elements in `baseCommand` must
523
+ appear before any command line bindings from `inputBinding` or
524
+ `arguments`.
525
+
526
+ If `baseCommand` is not provided or is an empty array, the first
527
+ element of the command line produced after processing `inputBinding` or
528
+ `arguments` must be used as the program to execute.
529
+
530
+ If the program includes a path separator character it must
518
531
be an absolute path, otherwise it is an error. If the program does not
519
532
include a path separator, search the `$PATH` variable in the runtime
520
533
environment of the workflow runner find the absolute path of the
521
534
executable.
522
535
type :
523
- - string
524
- - type : array
525
- items : string
536
+ - string?
537
+ - string[]?
526
538
jsonldPredicate :
527
539
" _id " : " cwl:baseCommand"
528
540
" _container " : " @list"
0 commit comments