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.
|
|
* ccwl/ccwl.scm (ensure-yaml-serializable): Accept parameter name for
&formatted-message condition.
(input): Explicitly pass parameter name #:other. Restrict #:binding
parameter to YAML serializable trees.
*
doc/capture-output-file-with-parameter-reference.scm (extract-specific-file),
doc/capture-output-file.scm (extract),
doc/decompress-compile-run.scm (compile): Pass an YAML serializable
tree, not an expression, as the #:binding parameter.
|
|
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.
|
|
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.
|