Skip to content

Commit 6c0ac5b

Browse files
author
Peter Amstutz
committed
Add support for "resources" field to expressions.
1 parent 365496b commit 6c0ac5b

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

cwltool/builder.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,4 +156,7 @@ def generate_arg(self, binding):
156156
return [a for a in args if a is not None]
157157

158158
def do_eval(self, ex, context=None, pull_image=True):
159-
return expression.do_eval(ex, self.job, self.requirements, self.outdir, self.tmpdir, context=context, pull_image=pull_image)
159+
return expression.do_eval(ex, self.job, self.requirements,
160+
self.outdir, self.tmpdir,
161+
self.resources,
162+
context=context, pull_image=pull_image)

cwltool/expression.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212

1313
_logger = logging.getLogger("cwltool")
1414

15-
def exeval(ex, jobinput, requirements, outdir, tmpdir, context, pull_image):
15+
def exeval(ex, jobinput, requirements, outdir, tmpdir, context, pull_image, resources):
1616
if ex["engine"] == "https://w3id.org/cwl/cwl#JsonPointer":
1717
try:
18-
obj = {"job": jobinput, "context": context, "outdir": outdir, "tmpdir": tmpdir}
18+
obj = {"job": jobinput, "context": context, "outdir": outdir, "tmpdir": tmpdir, "resources": resources}
1919
return schema_salad.ref_resolver.resolve_json_pointer(obj, ex["script"])
2020
except ValueError as v:
2121
raise WorkflowException("%s in %s" % (v, obj))
@@ -52,6 +52,7 @@ class DR(object):
5252
"context": context,
5353
"outdir": outdir,
5454
"tmpdir": tmpdir,
55+
"resources": resources
5556
}
5657

5758
_logger.debug("Invoking expression engine %s with %s",
@@ -72,8 +73,8 @@ class DR(object):
7273

7374
raise WorkflowException("Unknown expression engine '%s'" % ex["engine"])
7475

75-
def do_eval(ex, jobinput, requirements, outdir, tmpdir, context=None, pull_image=True):
76+
def do_eval(ex, jobinput, requirements, outdir, tmpdir, resources, context=None, pull_image=True):
7677
if isinstance(ex, dict) and "engine" in ex and "script" in ex:
77-
return exeval(ex, jobinput, requirements, outdir, tmpdir, context, pull_image)
78+
return exeval(ex, jobinput, requirements, outdir, tmpdir, context, pull_image, resources)
7879
else:
7980
return ex

0 commit comments

Comments
 (0)