aboutsummaryrefslogtreecommitdiff
path: root/scripts/ccwl
AgeCommit message (Collapse)Author
2024-03-22ccwl: Implement js-expression.Arun Isaac
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.
2024-03-22scripts: Use unified function terminology.Arun Isaac
Call workflows and commands by our unified notion of "function". This makes it more succinct when adding more kinds of functions. * ccwl/cwl.scm (workflow-or-command->cwl): Rename to function->cwl. * ccwl/graphviz.scm (workflow-or-command->dot): Rename to function->dot. * scripts/ccwl (main): Use function->cwl and function->dot.
2023-11-18scripts: When ccwl crashes, say so explicitly.Arun Isaac
* scripts/ccwl (main): When ccwl crashes, say so explicitly.
2023-09-28scripts: Raise exception when file does not return supported object.Arun Isaac
* scripts/ccwl (main): Raise exception when file returns neither workflow nor command.
2023-09-28scripts: Support returning command objects from ccwl files.Arun Isaac
* scripts/ccwl (main): Replace workflow->cwl and workflow->dot with workflow-or-command->cwl and workflow-or-command->dot.
2023-09-28scripts: Catch and report &formatted-message conditions.Arun Isaac
* scripts/ccwl (main): Catch and report &formatted-message conditions.
2023-09-20scripts: Ignore quit exceptions when requesting the user report bugs.Arun Isaac
* scripts/ccwl: Import (ice-9 exceptions). (main): Do not print backtrace or request the user to report a bug for quit exceptions.
2023-09-20scripts: Set scheme mode in Emacs.Arun Isaac
* scripts/ccwl: Set scheme mode in Emacs.
2023-09-20scripts: Catch uncaught exceptions and request the user report them.Arun Isaac
* scripts/ccwl (main): Catch uncaught exceptions and request the user report them to the issue tracker.
2023-09-20scripts: Allow script to be loaded without executing main.Arun Isaac
Call main from the shebang command instead of calling it directly. This allows us to run "guile -l scripts/ccwl" without actually running main. This seems to be important for Emacs Geiser as it freezes up without this fix. * scripts/ccwl: Call main from shebang. Do not call main directly. (main): Accept args as regular argument instead of as a rest argument.
2022-04-09scripts: Do not pass multiple arguments to env.Arun Isaac
* scripts/ccwl: Do not pass multiple arguments to env. Pass them through sh.
2022-04-09scripts: Do not auto-compile the ccwl script.Arun Isaac
* scripts/ccwl: Add --no-auto-compile to shebang.
2022-01-16scripts: Decide to not compile files ever.Arun Isaac
* scripts/ccwl (main): Remove FIXME note about compiling ccwl files.
2022-01-16scripts: Report ccwl syntax violations.Arun Isaac
* ccwl/ui.scm: New file. * scripts/ccwl: Import (rnrs exceptions), (srfi srfi-28), (ccwl conditions) and (ccwl ui). (main): Handle ccwl syntax violations by reporting them and exiting.
2022-01-16scripts: Read using read-syntax.Arun Isaac
read-syntax gives us get better source properties. * scripts/ccwl (main): Read using read-syntax.
2022-01-10Migrate to hand-written Makefiles.Arun Isaac
The autotools are really overkill for a simple Guile project like ccwl. * .gitignore: Delete autotool generated files. Add Makefile.include. * Makefile.am, Makefile, build-aux/distcheck.scm, configure, configure.ac, configure.scm: New files. * NEWS: Rename to NEWS.org. Remove Emacs file-local variable to use org mode. * bootstrap.sh: Delete file. * build-aux/generate-cwl-output.sh.in: Rename to ... * build-aux/generate-cwl-output.sh: ... this. Replace autoconf variables for cwltool and sed. * build-aux/test-driver.scm.in: Rename to ... * build-aux/test-driver.scm: ... this. Do not import (ice-9 getopt-long). (%options): Delete variable. (my-gnu-runner): Do not write to log or trs ports. Accept test files as command-line arguments. Update invocation of my-gnu-runner. Print summary of results. * guix.scm (ccwl)[native-inputs]: Remove autoconf and automake. * pre-inst-env.in: Rename to ... * pre-inst-env: ... this. Replace autoconf variables for guile, abs_top_builddir and abs_top_srcdir. * scripts/ccwl.in: Rename to ... * scripts/ccwl: ... this. Replace autoconf variable for guile.
2021-04-26Set path to guile in shebang from configure.Arun Isaac
* configure.ac: Generate scripts/ccwl. * scripts/ccwl: Rename to ... * scripts/ccwl.in: ... this. Set path to guile in shebang as an autoconf substitution.
2021-04-26Add ccwl script.Arun Isaac
* scripts/ccwl: New file.