Age | Commit message (Collapse) | Author |
|
Curly quotation marks are better typography than straight quotation
marks. Straight quotation marks were introduced only due to the
physical limitations of the typewriter.
* doc/ccwl.skb: Use curly single quotation marks.
|
|
* doc/ccwl.skb (Guide to the source code): New chapter.
(Contributing): Demote to section inside "Guide to the source code".
|
|
* doc/ccwl.skb (Cookbook)[Javascript expressions via ExpressionTool]:
Markup "0" and "n-1" as code.
|
|
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.
|
|
* ccwl/ccwl.scm (collect-steps): Implement identity construct.
* doc/ccwl.skb (Cookbook)[The identity construct]: New section.
* doc/identity-construct.scm: New file.
|
|
* ccwl/ccwl.scm (<input>)[separator]: New field.
* ccwl/ccwl.scm (run-arg-position, run-args): Support array input
specifiers.
(run-arg-separator): New function.
(command): Set separator on input objects.
* ccwl/cwl.scm (input->cwl-scm): Serialize itemSeparator.
* tests/ccwl.scm ("commands with non-string #:separator parameters
must raise a &ccwl-violation condition"): New test.
* doc/ccwl.skb (Cookbook)[Array input item separators]: New section.
* doc/array-input-item-separators.scm: New file.
|
|
* doc/ccwl.skb (Tutorial)[Let's write a spell check workflow]: Update
source reference to rename.
|
|
Identifiers are important so the generated HTML documentation can have
permanent URIs to all chapters and sections. We are not too concerned
with adding identifiers to subsections since we don't list them in the
table of contents.
* doc/ccwl.skb: Add chapter and section identifiers to all chapters
and sections.
|
|
* ccwl/ccwl.scm (construct-type-syntax): Construct types recursively
to support nested arrays.
(key->output): Recursively convert stdout types to File types.
* ccwl/cwl.scm (type->cwl): New function.
(input->cwl-scm, output->cwl-scm): Use type->cwl.
* tests/ccwl.scm (make-array-type): New function.
(construct-type-syntax-wrapper): New syntax.
("construct-type-syntax on primitive types", "construct-type-syntax on
array types", "construct-type-syntax on nested array types"): New
tests.
* tests/cwl.scm, doc/array-types.scm, doc/nested-array-types.scm: New
files.
* doc/ccwl.skb (Cookbook)[Array types]: New section.
|
|
* ccwl/ccwl.scm (<step>): Wrap constructor make-step.
[scattered-inputs, scatter-method]: New fields.
(collect-scatter-step): New function.
(collect-steps): Implement scatter.
(key->output): If step scatters, convert output to an array type.
(workflow): Add syntax to initialize scattered-inputs and
scatter-method fields of <step> object.
* ccwl/cwl.scm (workflow->cwl-scm): Add ScatterFeatureRequirement if
workflow contains scattering steps. Serialize scattered-inputs and
scatter-method.
* doc/ccwl.skb (Cookbook)[Scatter/gather]: New section.
|
|
* ccwl/ccwl.scm (<input>)[stage?]: New field.
* ccwl/ccwl.scm (input): Add #:stage argument.
* ccwl/cwl.scm (command->cwl-scm): Serialize requirements for staged
inputs.
* doc/ccwl.skb (Cookbook)[Stage input files]: New section.
* tests/ccwl.scm ("inputs with an invalid #:stage? parameter must
raise a &ccwl-violation condition"): New test.
|
|
#:stderr and #:stdout, especially #:stdout, are commonly
required. They ought to be first class parameters and not tucked away
into #:other.
* ccwl/ccwl.scm (<command>)[stderr, stdout]: New fields.
* ccwl/ccwl.scm (command): Accept #:stderr and #:stdout as first class
parameters.
* ccwl/cwl.scm (command->cwl-scm): Serialize stderr and stdout fields.
* doc/capture-stdout.scm (print),
doc/decompress-compile-run.scm (run), doc/checksum.scm (md5sum,
sha1sum, sha256sum), doc/spell-check.scm (find-misspellings): Capture
stdout in file.
* doc/checksum.scm, doc/decompress-compile-run.scm:
* doc/ccwl.skb (Tutorial)[Capturing the standard output stream of a
command]: Document #:stdout first class parameter.
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Capture
stdout in explicitly named files.
* tests/ccwl.scm ("commands with non-string #:stderr parameters must
raise a &ccwl-violation condition", "commands with non-string #:stdout
parameters must raise a &ccwl-violation condition"): New tests.
|
|
* doc/ccwl.skb: Add table of contents.
|
|
* doc/ccwl.skb (Tutorial)[Let's write a spell check workflow]: New
section.
* Makefile.am (doc/spell-check.out): New target.
(EXTRA_DIST): Add doc/spell-check-text.txt and doc/dictionary.
* doc/dictionary, doc/spell-check-text.txt,
doc/spell-check-workflow-1.scm, doc/spell-check-workflow-2.scm,
doc/spell-check.scm: New files.
|
|
* doc/ccwl.skb (Cookbook): New chapter.
* doc/external-cwl-workflow.scm, doc/echo.cwl: New files.
* .gitignore: Add !doc/echo.cwl.
|
|
Workflow inputs are now global. It is misleading to say that they come
into the first expression, namely pipe and tee, in these examples.
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Say that
inputs, not workflow inputs, come into pipe and tee.
|
|
* Makefile.am (CLEANFILES): Add doc/*.out.
(CLEAN_DIRECTORIES): Add doc/cwl-output.
(GENERATE_CWL_OUTPUT): New variable.
(doc/capture-output-file.out,
doc/capture-output-file-with-parameter-reference.out,
doc/capture-stdout.out, doc/checksum.out,
doc/decompress-compile-run.out, doc/hello-world.out,
doc/pass-stdin.out, doc/hello.tar.out): New targets.
* doc/capture-output-file-with-parameter-reference.out,
doc/capture-output-file.out, doc/capture-stdout.out, doc/checksum.out,
doc/decompress-compile-run.out, doc/hello-world.out,
doc/hello.tar.out, doc/pass-stdin.out: Delete files.
* build-aux/generate-cwl-output.sh.in, doc/hello.c.gz, doc/hello.tar,
doc/hello.txt: New files.
* configure.ac: Configure build-aux/generate-cwl-output.sh.
* doc/ccwl.skb (Tutorial)[Passing input into the standard input stream
of a command]: Replace file "foo" with "hello.txt".
* .gitignore: Add build-aux/generate-cwl-output.sh, doc/*.out and
doc/cwl-output.
|
|
* doc/ccwl.skb (Tutorial)[Important concepts]: Inline code snippets.
|
|
* doc/ccwl.skb (Tutorial)[Important concepts]: Add python named
arguments example.
|
|
PNG images are supported by both the info and html engines.
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Use PNG
images instead of SVG.
* Makefile.am (CLEANFILES): Replace doc/*.svg with doc/*.png.
(%.svg): Delete rule.
(%.png): New rule.
* .gitignore: Replace doc/*.svg with doc/*.png.
|
|
* Makefile.am (SKRIBILO_BUILD_DIR): Delete variable.
(CLEANFILES): Add doc/*.cwl, doc/*.dot, doc/*.svg, doc/ccwl.info,
doc/skribilo.go.
($(SKRIBILO_BUILD_DIR)/%.cwl): Rename to %.cwl.
(info-local, install-info-local): Depend on doc/ccwl.info instead of
$(SKRIBILO_BUILD_DIR)/ccwl.info.
(html-local, install-html-local, website/manual/dev/en): Depend on
doc/ccwl.html instead of $(SKRIBILO_BUILD_DIR)/ccwl.html.
($(SKRIBILO_BUILD_DIR)/ccwl.info): Rename to doc/ccwl.info.
($(SKRIBILO_BUILD_DIR)/ccwl.html): Rename to doc/ccwl.html.
(clean-local): Do not delete doc/skribilo.go and
$(SKRIBILO_BUILD_DIR).
* .gitignore: Add doc/*.cwl, doc/*.html, doc/*.info, doc/*.svg. Remove
doc/skribilo.
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Reference
images in the doc directory instead of in the doc/skribilo directory.
|
|
* doc/ccwl.skb (Tutorial)[First example, Capturing the standard output
stream of a command]: Use emph instead of double quotes for emphasis.
|
|
* ccwl/skribilo.scm: Move to ...
* doc/skribilo.scm: ... here.
* doc/ccwl.skb: Import (doc skribilo) instead of (ccwl skribilo).
* Makefile.am ($(SKRIBILO_BUILD_DIR)/ccwl.info,
$(SKRIBILO_BUILD_DIR)/ccwl.html): Depend on doc/skribilo.go instead of
ccwl/skribilo.go.
* Makefile.am (clean-local): Delete doc/skribilo.go instead of
ccwl/skribilo.go.
|
|
* doc/ccwl.skb (Tutorial)[Capturing output files]: Squeeze double
space.
|
|
* doc/ccwl.skb: Add copyright headers.
|
|
* doc/ccwl.skb (Tutorial)[Passing input into the standard input stream
of a command]: New section.
* doc/pass-stdin.scm, doc/pass-stdin.out: New files.
|
|
* Makefile.am (DOC_IMAGES): Add checksum.svg and
decompres-compile-run.svg.
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Add workflow
graphs checksum.svg and decompres-compile-run.svg.
|
|
* doc/capture-output-file-with-parameter-reference.scm,
doc/capture-output-file.scm, doc/capture-stdout.scm, doc/checksum.scm,
doc/decompress-compile-run.scm, doc/hello-world.scm: Specify command
inputs in a separate argument.
* doc/ccwl.skb (Tutorial)[First example]: Update description of
command definition accordingly.
|
|
Lispy mode normalizes comma positions incorrectly for Skribilo
mode. This needs to be fixed upstream or elsewhere.
* doc/ccwl.skb (Tutorial)[Important concepts, Capturing the standard
output stream of a command, Capturing output files, Workflow with
multiple steps]: Fix comma position.
|
|
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Fill
paragraph.
|
|
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Link to
source for pipe and tee.
|
|
* doc/ccwl.texi: Delete file.
* ccwl/skribilo.scm, doc/ccwl.skb,
doc/capture-output-file-with-parameter-reference.out,
doc/capture-output-file-with-parameter-reference.scm,
doc/capture-output-file.out, doc/capture-output-file.scm,
doc/capture-stdout.out, doc/capture-stdout.scm, doc/checksum.out,
doc/checksum.scm, doc/decompress-compile-run.out,
doc/decompress-compile-run.scm, doc/hello-world.out,
doc/hello-world.scm, doc/hello.tar.out: New files.
* configure.ac: Check for skribilo.
* Makefile.am: Unregister doc/ccwl.texi. Add documentation build
rules.
* guix.scm (ccwl)[native-inputs]: Replace texinfo with skribilo.
* .gitignore: Add doc/skribilo. Remove doc/version.texi, doc/*.html,
doc/*.info.
|