-
-
Notifications
You must be signed in to change notification settings - Fork 18
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
Update for subscope and __eq__ support #167
Conversation
Codecov Report
@@ Coverage Diff @@
## main #167 +/- ##
==========================================
- Coverage 30.47% 30.46% -0.01%
==========================================
Files 28 28
Lines 22585 22584 -1
Branches 6156 6156
==========================================
- Hits 6882 6881 -1
Misses 14276 14276
Partials 1427 1427
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
f013b0d
to
e295d7a
Compare
To summarize the changes: all identifiers in embedded Process objects under In CWL v1.1+, See also |
Since we don't have a common function to load an external process (when |
This pull request fixes 1 alert when merging 53ede44 into a56a0ad - view on LGTM.com fixed alerts:
|
I vote for consistent behavior between inline and external sources. |
In my opinion, the main point here is decide if we want to put the logic inside the The second one is more flexible, but it requires users to be aware of the The last alternative is to automatically load external files in steps when parsing, calling the correct parser based on the CWL version. IMO this would be the best options for all cases. |
This doesn't affect identifiers in external processes (you mean other files, right?), it only affects the way identifiers are assigned to objects within processes that are declare inline under 'run'. cwltool currently has an explicit workaround to introduce 'id' fields to inlined processes on v1.0 documents: This results in the inlined processes getting a random id. So the best thing would probably be to retroactively add 'run' subscope to v1.0, at least on the "codegen" branch. |
Yeah, I know it doesn't change anything with external processes. But then how should we be loading these files; should we also adjust the baseuri? |
Scoped ids are always added to the fragment portion of the baseuri, relative references are added to the path portion, and when a new document is loaded, that document's URI is used as the base URI. But codegen doesn't follow 'run' and immediately load sub-documents, that's done by the cwltool Workflow class. |
Just to clarify, the semantics of |
Thanks for the information @tetron ; then this works well enough for now |
Incorporates fixes from common-workflow-language/schema_salad#594