Age | Commit message (Collapse) | Author |
|
* ccwl/ccwl.scm: Do not export step and pipeline.
|
|
* ccwl/ccwl.scm: Do not export input and output.
(<input>): Delete source field. Add position field.
(input): Accept position and prefix fields in constructor. Do not
initialize non-existent source field.
(<command>): Delete additional-inputs field. Add inputs field. Delete
set-command-outputs and set-command-stdin setters.
(command): Rewrite as macro that accepts new command definition
syntax.
(<cli-element>): Delete type.
(command->cwl): Generate CWL from new <command> type.
(command-input-keys): Simplify to support new <command> type.
|
|
* ccwl/ccwl.scm: Do not export input-with-prefix.
(<input>): Delete set-input-prefix.
(<step>): Delete set-step-run, set-step-id, set-step-out.
(input-with-prefix, field-appender, modify-step-run, append-step-in,
append-step-out, append-command-outputs): Delete functions.
|
|
Earlier, the input keys would only be passed to the first
expression. The second expression would only receive the output keys
from the first expression. Passing input keys through to all
expressions is a common use case, since expressions often need to
access global inputs. If the original behavior is desired, we can
always introduce a new construct, say `pipe-strict'.
* ccwl/ccwl.scm (workflow-steps): In pipe, pass through input keys to
all expressions.
|
|
* ccwl/ccwl.scm (key->output): New function.
(workflow-steps): Filter out global workflow inputs from
workflow-outputs.
|
|
* ccwl/utils.scm (filter-mapi): New public function.
|
|
* ccwl/utils.scm (syntax-lambda**): New public macro.
|
|
* ccwl/utils.scm (lambda**): Avoid using datum->syntax whenever
possible.
|
|
* ccwl/utils.scm (unsyntax-keywords): New function.
|
|
* .gitignore: Add doc/*.html, doc/*.info, doc/.dirstamp and
doc/stamp-vti.
|
|
* guix.scm: Import (gnu packages texinfo).
Add texinfo to native-inputs.
|
|
* 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.
|
|
* README.org (Documentation): New section.
|
|
* README.org: Rewrite introduction.
|
|
* Makefile.am (website/manual/dev/en): New target.
(website): Require website/manual/dev/en.
(AM_MAKEINFOHTMLFLAGS): Add --css-ref=/style.css to include CSS.
|
|
* Makefile.am (website/style.css): New target.
(website): Require website/style.css.
* style.css: New file.
|
|
* Makefile.am (website, website/index.html, clean-local): New targets.
* build-aux/build-home-page.el: New file.
|
|
* README.org (Contributing): New section.
|
|
* README.org: Downcase ccwl.
|
|
* pre-inst-env.in: Add --no-auto-compile flag to shebang.
|
|
* pre-inst-env.in, scripts/ccwl.in: Remove unnecessary -s flag from
shebang.
|
|
Suffix rules are deprecated and should not be used. Pattern rules are
clearer and more general.
* Makefile.am: Replace suffix rule to build scheme files with pattern
rule.
|
|
* pre-inst-env.in: Do not bind command line argument 0 to a variable.
|
|
* pre-inst-env.in: Append scripts directory to PATH.
|
|
* doc/ccwl.texi (Workflow with multiple steps): New node.
(Tutorial): Link to "Workflow with multiple steps" node from menu.
|
|
* Makefile.am (bin_SCRIPTS): Add scripts/ccwl.
|
|
* 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.
|
|
* ccwl/ccwl.scm (command-variable, command-syntax->object): Delete
functions.
(command-object): New function.
(workflow-steps): Use command-object instead of command-variable and
command-syntax->object.
|
|
* doc/ccwl.texi: New file.
* Makefile.am (bin_SCRIPTS): Add doc/ccwl.texi.
|
|
* ccwl/ccwl.scm (workflow): When input has no properties, support only
specifying the symbol.
|
|
* ccwl/ccwl.scm (command-syntax->object): When command accepts only a
single input and there is only a single key available, support
implicit key pairing.
|
|
* ccwl/ccwl.scm (workflow-steps): When command does not specify step
identifier, assume the step identifier is the same as the command
symbol.
|
|
* ccwl/ccwl.scm (command-variable, command-syntax->object): New
functions.
(workflow-steps): Use command-variable and command-syntax->object.
|
|
* ccwl/ccwl.scm (%stdin, %stdout): Delete variables.
|
|
* .dir-locals.el (scheme-mode): Set scheme-indent-function of workflow
to 1.
|
|
* ccwl/ccwl.scm: Import (srfi srfi-71).
(command-input-keys, workflow-steps): New function.
(workflow): Support general Directed Acyclic Graph (DAG) workflows.
|
|
* ccwl/ccwl.scm (<key>): New type.
(key, cwl-key-address): New functions.
|
|
* ccwl/ccwl.scm (make-workflow): Accept inputs explicitly.
|
|
* ccwl/ccwl.scm (input=?): Compare using eq? instead of string=?.
(command->cwl, write-cwl): Convert input-id to string before
appending.
|
|
* ccwl/ccwl.scm (command): Make stdin a unary key.
|
|
Doing this conversion effectively forbids kebab case symbols in YAML.
* ccwl/yaml.scm (kebab->camel): Delete function.
(display-atom): Do not convert symbols from kebab case to camel case.
* ccwl/ccwl.scm (make-workflow, output->cwl, command->cwl): Write
camel case explicitly.
|
|
* ccwl/utils.scm (mapn, append-mapn, foldn): New public functions.
|
|
Scheme code is more readable than arcane bash.
* pre-inst-env.in: Rewrite in scheme.
|
|
* ccwl/ccwl.scm (pipeline): Delete function.
|