aboutsummaryrefslogtreecommitdiff
path: root/ccwl/cwl.scm
diff options
context:
space:
mode:
authorArun Isaac2021-11-02 01:17:41 +0530
committerArun Isaac2021-11-02 01:31:56 +0530
commit0b359cf2c32cde81b4311d55273c8f6c14ca6b93 (patch)
tree50def438dc8033db14804f33a2aef7fcffa2d9ec /ccwl/cwl.scm
parent179925c5d88ae38bc28baf470d350461d49ebede (diff)
downloadccwl-0b359cf2c32cde81b4311d55273c8f6c14ca6b93.tar.gz
ccwl-0b359cf2c32cde81b4311d55273c8f6c14ca6b93.tar.lz
ccwl-0b359cf2c32cde81b4311d55273c8f6c14ca6b93.zip
ccwl: Support external CWL workflows.
* ccwl/ccwl.scm: Import (yaml). Export cwl-workflow?, cwl-workflow, cwl-workflow-file, cwl-workflow-inputs and cwl-workflow-outputs. (<cwl-workflow>): New type. (cwl-workflow, function-input-keys, function-outputs, function-object): New functions. (command-input-keys, command-object): Delete functions. (collect-steps): Replace command-object with function-object, command-input-keys with function-input-keys and command-outputs with function-outputs. * ccwl/cwl.scm (workflow->cwl-scm): Handle <cwl-workflow> objects. * tests/ccwl.scm ("read all forms of inputs and outputs from a CWL workflow"): New test. * guix.scm: Import (gnu packages guile-xyz) and (guix utils). (guile-libyaml): New variable. (ccwl)[inputs]: Add guile-libyaml.
Diffstat (limited to 'ccwl/cwl.scm')
-rw-r--r--ccwl/cwl.scm2
1 files changed, 2 insertions, 0 deletions
diff --git a/ccwl/cwl.scm b/ccwl/cwl.scm
index 47b30da..e4d03bc 100644
--- a/ccwl/cwl.scm
+++ b/ccwl/cwl.scm
@@ -86,6 +86,8 @@ association list."
(run . ,(match (step-run step)
((? command? command)
(command->cwl-scm command))
+ ((? cwl-workflow? cwl-workflow)
+ (cwl-workflow-file cwl-workflow))
(tree tree)))))
(workflow-steps workflow)))))