summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ccwl/ccwl.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/ccwl/ccwl.scm b/ccwl/ccwl.scm
index b1fa485..120edcd 100644
--- a/ccwl/ccwl.scm
+++ b/ccwl/ccwl.scm
@@ -7,13 +7,16 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-9)
   #:use-module (srfi srfi-9 gnu)
+  #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
+  #:use-module (ccwl yaml)
   #:export (command
             workflow
             input
             output
             step
-            pipeline))
+            pipeline
+            write-cwl))
 
 (define-immutable-record-type <input>
   (make-input id type label default source other)
@@ -252,3 +255,7 @@ re-matched."
                                      (input-id (command-stdin command))
                                      ".path)")))
           '())))
+
+(define (write-cwl step file)
+  (call-with-output-file file
+    (cut scm->yaml (step-run step) <>)))