+ def upload_docker(self, tool):
+ pass
+
+ def submit(self, tool, job_order, input_basedir, args, **kwargs):
+ files = set()
+ def visitFiles(self, path):
+ files.add(path)
+
+ adjustFiles(process.scandeps("", tool.tool,
+ set(("run")),
+ set(("$schemas", "path"))),
+ visitFiles)
+ adjustFiles(job_order, visitFiles)
+
+ mapper = ArvPathMapper(self, files, "",
+ "$(task.keep)/%s",
+ "$(task.keep)/%s/%s",
+ **kwargs)
+
+ job_order = adjustFiles(job_order, lambda p: mapper.mapper(p))
+
+ response = self.api.jobs().create(body={
+ "script": "cwl-runner",
+ "script_version": "8654-arv-jobs-cwl-runner",
+ "repository": "arvados",
+ "script_parameters": job_order,
+ "runtime_constraints": {
+ "docker_image": "arvados/jobs"
+ }
+ }, find_or_create=args.enable_reuse).execute(num_retries=self.num_retries)
+ print response["uuid"]
+ return None
+
+