arunisaac / ccwl Goto Github PK
View Code? Open in Web Editor NEWConcise Common Workflow Language
Home Page: https://ccwl.systemreboot.net
License: GNU General Public License v3.0
Concise Common Workflow Language
Home Page: https://ccwl.systemreboot.net
License: GNU General Public License v3.0
Sorry for creating many issues in short time. I'm willing to make PR if I have enough time.
When #:default
is provided as argument on command or workflow, the argument should be optional. However, ccwl
requires all arguments is provided even when default value is set.
For example, a scheme script below:
(define print
(command #:inputs (message #:type string #:default "Hello")
#:run "echo" message
#:outputs (printed-message #:type stdout)))
(workflow ()
(print))
causes error:
Backtrace:
2 (primitive-load "/home/rocktakey/sandbox/ccwl/aa.scm")
1 (_ #<procedure 7f9adeb96300 at ice-9/eval.scm:330:13 ()> #<procedure 7f9adeb962e0 at ice-9/eval.scm:336:13 (a b)> #<procedure call-with-valu…>)
In ccwl/ccwl.scm:
378:10 0 (_ _ _ _)
ccwl/ccwl.scm:378:10: Step `print' missing required parameters `(message)'
The https://systemreboot.net/files/misc/arunisaac.pub link to the
signing key on https://ccwl.systemreboot.net/ is broken.
Thanks to Hendur Saga for reporting this!
Automatically convert pipe
constructs to a Unix pipeline. This is only possible in the special case when an stdout type output of one command is connected to the stdin of a later command. Nevertheless, this could be a powerful feature to improve performance by never touching the disk. For cases when a Unix pipeline is undesirable, for example when such a pipeline may run out of memory, we should provide an option to disable this automatic conversion.
Thanks to @pjotrp for suggesting this feature.
Something like #:run ("-pop" "$(inputs.population.nameroot)")
is compiled to
arguments:
- position: 3
valueFrom: "-pop"
- position: 4
valueFrom: $(inputs.population.nameroot)
It should rather be compiled to
- position: 3
prefix: "-pop"
valueFrom: $(inputs.population.nameroot)
Thanks to glassofwhiskey for reporting this in the Matrix CWL room!
Check website for broken links in CI job, perhaps using a tool like
linkchecker. This will
help early detection of broken links.
Hi, thanks for your maintenance. This is pretty better than raw cwl.
I would like to use multiple ccwl files and import command
or workflow
object to a ccwl file from another ccwl file. Is it possible? Or just cwl-workflow
is recommended?
This link: https://ccwl.systemreboot.net/manual/dev/en/ gives a 404 as of today (4 February 2022).
I would like to use an existing command or workflow with constant argument like:
(define print
(command #:inputs (message #:type string)
#:run "echo" message
#:outputs (printed-message #:type stdout)))
(workflow ()
(print #:message "Hello"))
but it causes error:
ccwl/ccwl.scm:396:22: ccwl step `print' supplied with unknown key `"Hello"'. Known keys at this step are `()'.
It seems that all values on the command arguments are regarded as symbol which should be corresponding to former output or workflow input.
Is it possible to pass constant value as command argument?
Hi Arun,
In the section Manually from source, one reads:
$ ./bootstrap.sh
$ ./configure; make; make install
but the file bootstrap
is not in the repository. Is it on purpose?
Please provide instructions on how to build and install ccwl.
Thank you.
Make secondary files a first class citizen. Currently, it needs to be passed in through the #:other
parameter of inputs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.