-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding map
and named union
types to Schema SALAD
#672
Conversation
ad17121
to
2577930
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #672 +/- ##
==========================================
- Coverage 83.68% 83.62% -0.07%
==========================================
Files 22 22
Lines 4580 4850 +270
Branches 1239 1311 +72
==========================================
+ Hits 3833 4056 +223
- Misses 483 516 +33
- Partials 264 278 +14 ☔ View full report in Codecov by Sentry. |
map
type to Schema SALADmap
and named union
types to Schema SALAD
1ea4307
to
70a2bfa
Compare
9d86f0b
to
bf96061
Compare
ebe9b8a
to
f421354
Compare
This commit introduces support for the `noLinkCheck` `jsonldPredicate` in the Schema SALAD codegen toolchain, and in particular in the `URILoader` stack. When `noLinkCheck` is set to `true`, no link checking is performed for all the underlying objects hierarchy. The need to propagate its value to the hierarchy makes it necessary to modify also the `LoadingOptions` data structure. All parsers but the Python one never perform link checking up to now, so this update makes no modification to their actual behaviour. However, it enables the `URILoader` classes to receive the `noLinkCheck` parameter for future implementations.
This commit removes an erroneous null check, which caused parsers to evaluate as erroneous some correct documents.
7cbc261
to
043b5ca
Compare
de73e1e
to
127fa8a
Compare
829ea84
to
bc718b6
Compare
bc718b6
to
13ab8d8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using common-workflow-language/cwl-utils#199 , I ran cwltool through the CWL v1.2 conformance test using --fast-parser
and everything passed!
This commit adds the
map
and namedunion
types to represent arbitrary dictionaries (see https://avro.apache.org/docs/1.11.1/specification/#maps and https://avro.apache.org/docs/1.11.1/specification/#unions).This will provide a way to model CWL inputs as valid Schema SALAD definitions, solving #276. Indeed, introducing a named union like the following:
it is possible to represent any CWL object, e.g. the
default
value injectd in anInputParameter
. Also, a CWLjobfile
can be represented as amap<string, CWLObjectType>
.