@@ -304,6 +304,8 @@ def fast_validator(workflowobj, fileuri, uri, loadingContext: LoadingContext):
304
304
else :
305
305
metadata [k ] = v
306
306
307
+ loadingContext .loader .graph += loadopt .graph
308
+
307
309
return cmap (processobj ), cmap (metadata )
308
310
309
311
def resolve_and_validate_document (
@@ -420,6 +422,8 @@ def resolve_and_validate_document(
420
422
doc_cache = loadingContext .doc_cache ,
421
423
)
422
424
425
+ loadingContext .loader = document_loader
426
+
423
427
if cwlVersion == "v1.0" :
424
428
_add_blank_ids (workflowobj )
425
429
@@ -460,7 +464,6 @@ def resolve_and_validate_document(
460
464
if isinstance (jobobj , CommentedMap ):
461
465
loadingContext .jobdefaults = jobobj
462
466
463
- loadingContext .loader = document_loader
464
467
loadingContext .avsc_names = avsc_names
465
468
loadingContext .metadata = metadata
466
469
@@ -496,7 +499,11 @@ def make_tool(
496
499
"""Make a Python CWL object."""
497
500
if loadingContext .loader is None :
498
501
raise ValueError ("loadingContext must have a loader" )
499
- resolveduri , metadata = loadingContext .loader .resolve_ref (uri )
502
+
503
+ if loadingContext .fast_validator :
504
+ resolveduri , metadata = fast_validator (None , None , uri , loadingContext )
505
+ else :
506
+ resolveduri , metadata = loadingContext .loader .resolve_ref (uri )
500
507
501
508
processobj = None
502
509
if isinstance (resolveduri , MutableSequence ):
0 commit comments