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