Age | Commit message (Collapse) | Author |
|
* 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.
|
|
I forgot to add this file in my previous commit.
* doc/scatter-gather.scm: New file.
|
|
* 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.
|
|
This file was required by the previous commit, but I forgot to commit
it!
* doc/staging-input-files.scm: New file.
|
|
* 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/skribilo.scm (scheme-source-form): Search source-path.
|
|
* 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/skribilo.scm (scheme-source-form): New public function.
|
|
* 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.
|
|
This allows us to do sophisticated syntax checking at an early stage,
very close to the user interface. That way error messages from ccwl
will make a lot more sense.
* ccwl/ccwl.scm (output): Re-implement as macro.
(command): Use the new macro interface.
* 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: Use new quoting syntax for output
types.
|
|
* 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.
|
|
This allows us to do sophisticated syntax checking at an early stage,
very close to the user interface. That way error messages from ccwl
will make a lot more sense.
* ccwl/ccwl.scm (input): Re-implement as macro.
(<input>): Add new functional setters set-input-position and
set-input-prefix.
(input-spec-id, run-arg-position, run-arg-prefix): New functions.
(command, workflow): Use the new macro interface.
* 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,
doc/pass-stdin.scm: Use new quoting syntax for input types.
|
|
* 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.
|
|
* doc/skribilo.scm: Import (skribilo parameters).
(source-ref): Search for files in source-path.
|
|
* doc/skribilo.scm (source-ref): Remove redundant file open.
|
|
* 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.
|
|
* doc/ccwl.texi: Add table of contents.
|
|
* doc/ccwl.texi: Add title and copyright pages.
|
|
* doc/ccwl.texi (Top): Move introduction into ifnottex block.
|
|
* doc/ccwl.texi: Include version.texi.
(Top): Mention version.
|
|
* doc/ccwl.texi (Workflow with multiple steps): New node.
(Tutorial): Link to "Workflow with multiple steps" node from menu.
|
|
* doc/ccwl.texi (Capturing output files): New section.
(Tutorial): Link to "Capturing output files" node from menu.
|
|
* doc/ccwl.texi (Capturing the standard output stream of a command):
New section.
* doc/ccwl.texi (Tutorial): Link to "Capturing stdout" node from menu.
|
|
* doc/ccwl.texi (First example): New section.
(Tutorial): Link to "First example" node from menu.
|
|
* doc/ccwl.texi (Tutorial): New chapter.
(Top): Link to "Tutorial" node from menu.
|
|
* doc/ccwl.texi: New file.
* Makefile.am (bin_SCRIPTS): Add doc/ccwl.texi.
|