From 4fa4157fe865029a01d69d45d6eca6dee7244af5 Mon Sep 17 00:00:00 2001 From: "Jeremiah H. Savage" Date: Thu, 2 Jun 2016 18:34:57 -0500 Subject: [PATCH 1/2] when secondaryFiles is in an array, pass to each item --- cwltool/builder.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cwltool/builder.py b/cwltool/builder.py index 36d4663b4..e4da44a1a 100644 --- a/cwltool/builder.py +++ b/cwltool/builder.py @@ -107,8 +107,13 @@ def bind_input(self, schema, datum, lead_pos=[], tail_pos=[]): if binding: b2 = copy.deepcopy(binding) b2["valueFrom"] = item - bindings.extend(self.bind_input({"type": schema["items"], "inputBinding": b2}, - item, lead_pos=n, tail_pos=tail_pos)) + if "secondaryFiles" in schema: + bindings.extend(self.bind_input({"type": schema["items"], "inputBinding": b2, + "secondaryFiles" : schema["secondaryFiles"]}, + item, lead_pos=n, tail_pos=tail_pos)) + else: + bindings.extend(self.bind_input({"type": schema["items"], "inputBinding": b2}, + item, lead_pos=n, tail_pos=tail_pos)) binding = None if schema["type"] == "File": From 583889991e6aa815bbaaf6fde4148f0790380b13 Mon Sep 17 00:00:00 2001 From: "Jeremiah H. Savage" Date: Tue, 19 Jul 2016 15:36:20 -0500 Subject: [PATCH 2/2] stage files to outdir when using docker --- cwltool/job.py | 2 +- cwltool/process.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cwltool/job.py b/cwltool/job.py index 1a0b51548..5017d86de 100644 --- a/cwltool/job.py +++ b/cwltool/job.py @@ -183,7 +183,7 @@ def linkoutdir(src, tgt): # the container) for _, item in self.pathmapper.items(): if src == item.resolved: - os.symlink(item.target, tgt) + os.symlink(src, tgt) break stageFiles(generatemapper, linkoutdir) diff --git a/cwltool/process.py b/cwltool/process.py index a2b63115c..36e05fe66 100644 --- a/cwltool/process.py +++ b/cwltool/process.py @@ -420,7 +420,7 @@ def _init_job(self, joborder, **kwargs): raise WorkflowException("Document has DockerRequirement under 'requirements' but use_container is false. DockerRequirement must be under 'hints' or use_container must be true.") if dockerReq and kwargs.get("use_container"): - builder.outdir = kwargs.get("docker_outdir") or "/var/spool/cwl" + builder.outdir = kwargs.get("outdir") or "/var/spool/cwl" builder.tmpdir = kwargs.get("docker_tmpdir") or "/tmp" builder.stagedir = kwargs.get("docker_stagedir") or "/var/lib/cwl" else: