Closed denis-yuen closed 5 years ago
Thanks @denis-yuen — was starting to create this issue earlier but got distracted. I think this would make sense to include as a property for descriptor
(not necessarily for the tool entry):
ToolDescriptor:
type: object
description: A tool descriptor is a metadata document that describes one or more tools.
required:
- type
properties:
type:
$ref: '#/definitions/DescriptorType'
### PROPOSED ADDITION ###
type_version:
type: string
description: The specification version corresponding to the descriptor type (e.g., v1.0 for CWL or draft-3 for WDL).
### END ###
descriptor:
type: string
description: The descriptor that represents this version of the tool.
url:
type: string
description: >-
Optional url to the underlying tool descriptor, should include version
information, and can include a git hash
example: >-
https://raw.githubusercontent.com/ICGC-TCGA-PanCancer/pcawg_delly_workflow/ea2a5db69bd20a42976838790bc29294df3af02b/delly_docker/Delly.cwl
Not sure if we need enums (they'd need to be conditional).
As a property for ToolDescriptor, that makes sense. I'd vote for it.
Not sure about enums. That seems to mean that we'd be forced to release a new version of the schema to support a new version of cwl/wdl
ToolDescriptor isn't even part of the schema anymore
@garyluu It could be implemented on Filewrapper. But realistically, we'll probably have to punt this to the next version of TRS/Dockstore.
Does #59 provide a sensible way to expose this information (ie an optional field on DescriptorType
)?
For example, a workflow might be written in CWL draft-3 vs v1.0. And WDL also has versions. Instead of relying on knowledge of the language, we should expose a property that simply indicates what version a workflow or tool is written in (at least on a version by version basis)
Idea/pain point by @jaeddy
┆Issue is synchronized with this Jira Story ┆containerName: GA4GH tool-registry-service ┆Issue Number: TRS-8