summaryrefslogtreecommitdiff
path: root/doc/decompress-compile-run.scm
AgeCommit message (Collapse)Author
2023-11-18ccwl: Restrict #:binding parameter to YAML serializable trees.Arun Isaac
* 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.
2023-10-15ccwl: Make #:stderr and #:stdout first class parameters.Arun Isaac
#: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.
2021-08-17ccwl: Define output objects using a macro instead of a function.Arun Isaac
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.
2021-08-16ccwl: Define input objects using a macro instead of a function.Arun Isaac
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.
2021-06-22doc: Specify command inputs in a separate argument.Arun Isaac
* 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.
2021-06-15doc: Move documentation from texinfo to skribilo.Arun Isaac
* 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.