X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/060d38d627bd1e51dd2b3c6e7de9af6aa7d7b6f3..540ecd0ae604df1cf02a63515e6e9e8e04e6e64a:/sdk/cwl/arvados_cwl/arvtool.py?ds=inline diff --git a/sdk/cwl/arvados_cwl/arvtool.py b/sdk/cwl/arvados_cwl/arvtool.py index 8ab86c173f..de329796e4 100644 --- a/sdk/cwl/arvados_cwl/arvtool.py +++ b/sdk/cwl/arvados_cwl/arvtool.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: Apache-2.0 -from cwltool.draft2tool import CommandLineTool +from cwltool.command_line_tool import CommandLineTool from .arvjob import ArvadosJob from .arvcontainer import ArvadosContainer from .pathmapper import ArvPathMapper @@ -15,7 +15,7 @@ class ArvadosCommandTool(CommandLineTool): self.arvrunner = arvrunner self.work_api = kwargs["work_api"] - def makeJobRunner(self): + def makeJobRunner(self, **kwargs): if self.work_api == "containers": return ArvadosContainer(self.arvrunner) elif self.work_api == "jobs": @@ -36,8 +36,13 @@ class ArvadosCommandTool(CommandLineTool): def job(self, joborder, output_callback, **kwargs): if self.work_api == "containers": - kwargs["outdir"] = "/var/spool/cwl" - kwargs["docker_outdir"] = "/var/spool/cwl" + dockerReq, is_req = self.get_requirement("DockerRequirement") + if dockerReq and dockerReq.get("dockerOutputDirectory"): + kwargs["outdir"] = dockerReq.get("dockerOutputDirectory") + kwargs["docker_outdir"] = dockerReq.get("dockerOutputDirectory") + else: + kwargs["outdir"] = "/var/spool/cwl" + kwargs["docker_outdir"] = "/var/spool/cwl" elif self.work_api == "jobs": kwargs["outdir"] = "$(task.outdir)" kwargs["docker_outdir"] = "$(task.outdir)"