diff options
author | Arun Isaac | 2024-03-22 01:29:40 +0000 |
---|---|---|
committer | Arun Isaac | 2024-03-22 01:48:25 +0000 |
commit | e430937727b881be2b2428ad0f09a32ea0aaf198 (patch) | |
tree | f824400ca255da28d25a23b8e4486de7c14b4f0b /scripts | |
parent | d005c17106add8bd9ab07eddc30e9cf9b17de544 (diff) | |
download | ccwl-e430937727b881be2b2428ad0f09a32ea0aaf198.tar.gz ccwl-e430937727b881be2b2428ad0f09a32ea0aaf198.tar.lz ccwl-e430937727b881be2b2428ad0f09a32ea0aaf198.zip |
ccwl: Implement js-expression.
js-expression corresponds to ExpressionTool in the CWL specification.
* ccwl/ccwl.scm (<js-expression>): New type.
(js-expression): New macro.
(function-inputs, function-outputs, function-object): Support
<js-expression> objects.
(function-input-keys): Mention <js-expression> objects in docstring.
* ccwl/cwl.scm (function->cwl, workflow->cwl-scm): Support
<js-expression> objects.
(command->cwl-scm): Move staging requirements handling to ...
(staging-requirements): ... this new function.
(js-expression->cwl, js-expression->cwl-scm): New functions.
* ccwl/graphviz.scm (function->dot): Support <js-expression> objects.
(command->graph): Abstract to ...
(single-node-workflow->graph): ... this new function.
(js-expression->dot, js-expression->graph): New functions.
* scripts/ccwl (main): Support <js-expression> objects.
* doc/ccwl.skb (Cookbook){Javascript expressions via ExpressionTool}:
New section.
* doc/js-expression-iota.scm: New file.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/ccwl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/ccwl b/scripts/ccwl index 43cf224..984d22a 100755 --- a/scripts/ccwl +++ b/scripts/ccwl @@ -123,10 +123,11 @@ Compile SOURCE-FILE. (let ((result (load (canonicalize-path (assq-ref args 'source-file)) read-syntax))) (if (or (command? result) + (js-expression? result) (workflow? result)) result (raise-exception - (condition (formatted-message "Last expression in file ~a returns neither workflow nor command" + (condition (formatted-message "Last expression in file ~a returns none of workflow, command or js-expression" (assq-ref args 'source-file))))))) (current-output-port))))) ((program args ...) |