@@ -193,7 +193,8 @@ def validate_document(document_loader, # type: Loader
193193 fetcher_constructor = None , # type: FetcherConstructorType
194194 skip_schemas = None , # type: bool
195195 overrides = None , # type: List[Dict]
196- metadata = None # type: Optional[Dict]
196+ metadata = None , # type: Optional[Dict]
197+ do_validate = True
197198 ):
198199 # type: (...) -> Tuple[Loader, Names, Union[Dict[Text, Any], List[Dict[Text, Any]]], Dict[Text, Any], Text]
199200 """Validate a CWL document."""
@@ -209,7 +210,7 @@ def validate_document(document_loader, # type: Loader
209210 jobobj = None
210211 if "cwl:tool" in workflowobj :
211212 job_loader = default_loader (fetcher_constructor ) # type: ignore
212- jobobj , _ = job_loader .resolve_all (workflowobj , uri )
213+ jobobj , _ = job_loader .resolve_all (workflowobj , uri , checklinks = do_validate )
213214 uri = urllib .parse .urljoin (uri , workflowobj ["https://w3id.org/cwl/cwl#tool" ])
214215 del cast (dict , jobobj )["https://w3id.org/cwl/cwl#tool" ]
215216
@@ -262,7 +263,7 @@ def validate_document(document_loader, # type: Loader
262263 _add_blank_ids (workflowobj )
263264
264265 workflowobj ["id" ] = fileuri
265- processobj , new_metadata = document_loader .resolve_all (workflowobj , fileuri )
266+ processobj , new_metadata = document_loader .resolve_all (workflowobj , fileuri , checklinks = do_validate )
266267 if not isinstance (processobj , (CommentedMap , CommentedSeq )):
267268 raise ValidationException ("Workflow must be a dict or list." )
268269
@@ -277,7 +278,8 @@ def validate_document(document_loader, # type: Loader
277278 if preprocess_only :
278279 return document_loader , avsc_names , processobj , new_metadata , uri
279280
280- schema .validate_doc (avsc_names , processobj , document_loader , strict )
281+ if do_validate :
282+ schema .validate_doc (avsc_names , processobj , document_loader , strict )
281283
282284 if new_metadata .get ("cwlVersion" ) != update .LATEST :
283285 processobj = cast (CommentedMap , cmap (update .update (
0 commit comments