Skip to content

Commit 0b12a24

Browse files
committed
soften description, allow for list of specs, add identifier
1 parent 43b5fb9 commit 0b12a24

File tree

2 files changed

+32
-13
lines changed

2 files changed

+32
-13
lines changed

draft-4/CommandLineTool.yml

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -627,26 +627,43 @@ $graph:
627627
628628
629629
- type: record
630-
name: LooseDependencyHint
630+
name: SoftwareRequirement
631631
extends: "#ProcessRequirement"
632632
doc: |
633-
If a CommandLineTool is executed by a platform that is not configured to use
634-
Docker, this dependency can annotate hints about the software that should
635-
be configured in the environment of the defined process.
636-
637-
Absolute portability between platforms should be achieved with Docker, this
638-
mechanism provides an inexact and imprecise fallback. The inexact nature of these
639-
hints is due to this standard not specifying the base operating environment of
640-
the process or how the that environment is to be configured as a result of these
641-
hints. The imprecise nature of these hints is due to the `name` and `version`
642-
fields being unstructured and not namespaced.
633+
Software that should be configured in the environment of the defined
634+
process.
635+
636+
While absolute portability between platforms can be achieved with container
637+
technologies like Docker, this mechanism provides an inexact and imprecise
638+
fallback. The inexact nature is due to this standard not specifying the
639+
base operating environment of the process or how the that environment is to
640+
be configured as a result of these hints. The imprecise nature of these
641+
hints is due to the `name` and `version` fields being unstructured and not
642+
namespaced. The optional `identifier` field is recommended so that users
643+
and platforms can distinguish between software that has the same name.
644+
fields:
645+
- name: spec
646+
type:
647+
type: array
648+
items: SoftwareSpec
649+
doc: "The list of software to be configured."
650+
651+
- name: SoftwareSpec
652+
type: record
643653
fields:
644654
- name: name
645-
type: ["string"]
655+
type: string
646656
doc: "The name of the software to be configured."
657+
jsonldPredicate: "@id"
647658
- name: "version"
648-
type: ["null", "string"]
659+
type: string?
649660
doc: "The (optional) version of the software to configured."
661+
- name: "identifier"
662+
type: string?
663+
doc: |
664+
The (optional) identifier of the software to be configured. Should be a
665+
IRI such as an [RRID](http://www.identifiers.org/rrid/SCR_001156).
666+
Example: `http://identifiers.org/rrid/RRID:SCR_001156`
650667
651668
- name: CreateFileRequirement
652669
type: record

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

Lines changed: 2 additions & 0 deletions
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

0 commit comments

Comments
 (0)