summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2021-03-06 01:00:09 +0530
committerArun Isaac2021-03-06 02:11:57 +0530
commit3df1beff308d8b0fdbc6a32cf17dc5908d39fcb8 (patch)
treea54e1392edf9baec8c4e44123680a40f6339a30c
parentd09c5227b2fb8ab2747e3e57ad90c5f0976211f9 (diff)
downloadccwl-3df1beff308d8b0fdbc6a32cf17dc5908d39fcb8.tar.gz
ccwl-3df1beff308d8b0fdbc6a32cf17dc5908d39fcb8.tar.lz
ccwl-3df1beff308d8b0fdbc6a32cf17dc5908d39fcb8.zip
Introduce <command> type.
* ccwl/ccwl.scm (<command>): New type. (command): New function.
-rw-r--r--ccwl/ccwl.scm19
1 files changed, 19 insertions, 0 deletions
diff --git a/ccwl/ccwl.scm b/ccwl/ccwl.scm
index 1d44dfc..e73b9e6 100644
--- a/ccwl/ccwl.scm
+++ b/ccwl/ccwl.scm
@@ -9,6 +9,7 @@
#:use-module (srfi srfi-9 gnu)
#:use-module (ice-9 match)
#:export (clitool
+ command
workflow
input
output
@@ -126,6 +127,24 @@
(in step-in set-step-in)
(out step-out set-step-out))
+(define-immutable-record-type <command>
+ (make-command inputs outputs args stdin other)
+ command?
+ (inputs command-inputs set-command-inputs)
+ (outputs command-outputs set-command-outputs)
+ (args command-args)
+ (stdin command-stdin set-command-stdin)
+ (other command-other))
+
+(define* (command id arguments #:key (additional-inputs '()) (outputs '()) (other '()))
+ (make-step id
+ (make-command (append (filter input? arguments)
+ additional-inputs)
+ outputs arguments #f other)
+ (append (filter input? arguments)
+ additional-inputs)
+ outputs))
+
"Build a Workflow class CWL workflow."
`((cwlVersion . "v1.1")
(class . Workflow)