@@ -627,26 +627,43 @@ $graph:
627
627
628
628
629
629
- type : record
630
- name : LooseDependencyHint
630
+ name : SoftwareRequirement
631
631
extends : " #ProcessRequirement"
632
632
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
643
653
fields :
644
654
- name : name
645
- type : [" string"]
655
+ type : string
646
656
doc : " The name of the software to be configured."
657
+ jsonldPredicate : " @id"
647
658
- name : " version"
648
- type : ["null", " string"]
659
+ type : string?
649
660
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`
650
667
651
668
- name : CreateFileRequirement
652
669
type : record
0 commit comments