diff --git a/cwltool/builder.py b/cwltool/builder.py index d66b98888..c36a096c6 100644 --- a/cwltool/builder.py +++ b/cwltool/builder.py @@ -96,8 +96,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": 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: