common-workflow-language / cwl-v1.2

Released CWL v1.2.1 specification
https://www.commonwl.org/v1.2/
Apache License 2.0
33 stars 22 forks source link

test for parameter references in CommandLineTool.arguments #264

Closed mr-c closed 1 year ago

mr-c commented 1 year ago

Fixes: https://github.com/common-workflow-language/common-workflow-language/pull/706

netlify[bot] commented 1 year ago

Deploy Preview for cwl-v1-2-dev ready!

Name Link
Latest commit 4caad14d13f6a57c2e1a8e41c685e5d4e9b9a1b8
Latest deploy log https://app.netlify.com/sites/cwl-v1-2-dev/deploys/64e389c93bd455000777435e
Deploy Preview https://deploy-preview-264--cwl-v1-2-dev.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

mr-c commented 1 year ago

@fmigneault can you amend the JSON schema to allow these new conformance tests?

https://github.com/common-workflow-language/cwl-v1.2/actions/runs/5892148874/job/15980769336?pr=264#step:8:135

fmigneault commented 1 year ago

@mr-c

@fmigneault can you amend the JSON schema to allow these new conformance tests?

common-workflow-language/cwl-v1.2/actions/runs/5892148874/job/15980769336?pr=264#step:8:135

I'll look into it. Does self/$self have a special meaning here (must be exactly those names), or anything equivalent such as this/$this would behave the same way?

mr-c commented 1 year ago

@mr-c

@fmigneault can you amend the JSON schema to allow these new conformance tests?

common-workflow-language/cwl-v1.2/actions/runs/5892148874/job/15980769336?pr=264#step:8:135

I'll look into it. Does self/$self have a special meaning here (must be exactly those names), or anything equivalent such as this/$this would behave the same way?

I was imprecise in my commit message. self, inputs, and runtime are the only objects that are available (and must be available, even if their value is null in the case of inputs or self sometimes) in CWL Expressions / CWL Parameter References.

https://www.commonwl.org/v1.2/CommandLineTool.html#Parameter_references

https://www.commonwl.org/v1.2/CommandLineTool.html#Expressions_(Optional)

The most concise way to reference any of these would be $(self), $(inputs), $(runtime). But references to them could be anywhere inside $( ) or ${ }.