Age | Commit message (Collapse) | Author |
|
Macros should not normally expand to syntax values as constant
literals. We now do more work at the macro-expansion phase so that
this is not necessary.
* ccwl/ccwl.scm (collect-steps): In the returned <step> objects, put
syntax to reference function object instead of the function object
itself.
(key->output): Return syntax to construct an <output> object instead
of the <output> object itself.
(workflow): Do not expand to syntax values as constant literals.
|
|
The out field of a <step> object can be derived from its run
field. There is no need to store it. Therefore, we remove the out
field and implement the accessor step-out as a separate function so
that we don't break existing code. We also move around some code so
that all variables are defined before they are used.
* ccwl/ccwl.scm (function-objects): Move to just after <command> and
<cwl-workflow> type definitions.
(<step>): Remove out field. Move to after function-objects.
(step-out): New function.
(collect-steps): Do not set out field of <step> object.
|
|
* scripts/ccwl (main): Remove FIXME note about compiling ccwl files.
|
|
* 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.
|
|
read-syntax gives us get better source properties.
* scripts/ccwl (main): Read using read-syntax.
|
|
* ccwl/conditions.scm (&formatted-message): New condition.
(formatted-message): New function.
|
|
This is a purely cosmetic change just to keep definitions outside the
test cases.
* tests/utils.scm (plist-ref): Move ahead of test-begin.
|
|
* ccwl/conditions.scm (&unrecognized-keyword-assertion,
&invalid-keyword-arity-assertion,
&invalid-positional-arguments-arity-assertion): New conditions.
* ccwl/utils.scm: Import (rnrs conditions), (rnrs exceptions)
and (ccwl conditions).
(group-keyword-arguments): Raise &invalid-keyword-arity-assertion on
error.
(lambda**, syntax-lambda**): Raise &unrecognized-keyword-assertion,
&invalid-keyword-arity-assertion and
&invalid-positional-arguments-arity-assertion on error.
* tests/utils.scm: Import (rnrs conditions), (rnrs exceptions), (srfi
srfi-1) and (ccwl conditions).
("lambda** should raise an &unrecognized-keyword-assertion on
unrecognized keywords in arguments with syntax objects as irritants"):
Check for &unrecognized-keyword-assertion.
("Unrecognized keyword argument passed to lambda** should raise an
&unrecognized-keyword-assertion condition", "Unary lambda** keyword
argument passed multiple arguments should raise an
&invalid-keyword-arity-assertion condition", "Wrong number of
positional arguments to lambda** should raise an
&invalid-positional-arguments-arity-assertion condition",
"syntax-lambda** should raise an &unrecognized-keyword-assertion on
unrecognized keywords in arguments", "Unrecognized keyword argument
passed to syntax-lambda** should raise an
&unrecognized-keyword-assertion condition with syntax objects as
irritants", "Unary syntax-lambda** keyword argument passed multiple
arguments should raise an &invalid-keyword-arity-assertion condition",
"Wrong number of positional arguments to syntax-lambda** should raise
an &invalid-positional-arguments-arity-assertion condition"): New
tests.
|
|
We introduce the &ccwl-violation condition. In later commits, it will
be used to indicate ccwl syntax violations and to print out useful
compiler errors.
* ccwl/conditions.scm: New file.
|
|
@@ is shorter and looks neater with fewer quotes.
* tests/ccwl.scm ("stdin input should not have inputBinding"),
tests/utils.scm ("unsyntax-keywords"): Use @@ instead of module-ref
and resolve-module.
|
|
* ccwl/utils.scm (lambda**): Indent docstring examples correctly.
|
|
* .dir-locals.el (makefile-gmake-mode): Set indent-tabs-mode to t.
|
|
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.
|
|
* ccwl/graphviz.scm (<graph-edge>): New type.
(graph-edge): New function.
(graph->dot): Support specification of edges using the <graph-edge>
type.
|
|
* ccwl/graphviz.scm (serialize-properties): New function.
(graph->dot): Use serialize-properties.
|
|
* ccwl/graphviz.scm (<graph-port>): New type.
(serialize): Support <graph-port> objects.
* tests/graphviz.scm (graph-port): New function.
("serialize ports correctly"): New test case.
|
|
* ccwl/graphviz.scm (serialize): Organize into a generic function that
dispatches on input type.
|
|
* ccwl/graphviz.scm: Import (ice-9 string-fun).
(serialize): When quoting strings, escape only the double quote
character.
* tests/graphviz.scm ("do not escape backslashes"): New test case.
|
|
* ccwl/graphviz.scm (<html-string>): New type.
(escape-id): Delete function.
(serialize): New function.
(graph->dot): Use serialize instead of escape-id.
* tests/graphviz.scm: New file.
("serialize HTML strings correctly"): New test case.
* Makefile.am (SCM_TESTS): Register it.
|
|
* guix.scm: Do not import (gnu packages graphviz), (gnu packages
guile), (gnu packages guile-xyz), (gnu packages pkg-config), (gnu
packages skribilo), (gnu packages texinfo), (guix build-system
gnu), (guix licenses) and (guix utils). Import (gnu packages
bioinformatics) with the guix: prefix.
(ccwl): Base off upstream Guix package.
|
|
* README.org (Contributing): Recommend Guix to set up a development
environment.
|
|
* README.org (Installation)[Using Guix]: Recommend upstream Guix
package.
|
|
* contrib/pggb.scm: New file.
|
|
* README.org (Installation)[Manually]: Rename to "Manually from
source".
|
|
* README.org (Installation)[Using binary software bundles]: New
subsection.
|
|
* Makefile.am (docker, pack): New targets.
|
|
* guix.scm (ccwl)[arguments]: Import target-guile-effective-version
from (guix build guile-build-system). Add a wrap phase.
|
|
* guix.scm (ccwl)[version]: Set to 0.2.0.
|
|
* guix.scm: Do not prefix import of (gnu packages guile-xyz) with
guix:
(guile-libyaml): Delete variable.
|
|
* README.org (Installation): New section.
|
|
guix environment has been superseded by guix shell.
* guix.scm: Replace guix environment with guix shell.
|
|
* configure.ac: Bump version.
* NEWS: Update news.
* website/releases/ccwl-0.2.0.tar.lz,
website/releases/ccwl-0.2.0.tar.lz.asc: New files.
|
|
* doc/skribilo.scm (scheme-source-form): Search source-path.
|
|
* build-aux/find-dependencies.scm (find-dependencies): Extract
dependencies from scheme-source-form.
|
|
* build-aux/find-dependencies.scm: Delete duplicates before printing
out dependencies.
|
|
* .gitignore: Add doc/*.dot.
|
|
* 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.
|
|
* build-aux/generate-cwl-output.sh.in: In the sed invocation, replace
doc/cwl-output too.
|
|
* website/style.css (h1, h2, h3): Delete line-height CSS property.
|
|
* Makefile.am (doc/ccwl.html): Copy images without recursion.
|
|
Without this, when recipes involving output redirection fail, their
targets are not deleted.
* Makefile.am (.DELETE_ON_ERROR): New target.
|
|
* Makefile.am (doc/.dirstamp): New target.
($(DOC_IMAGES:.png=.dot), $(DOC_OUT)): Depend on doc/.dirstamp.
(CLEAN_DIRECTORIES): Add doc/.dirstamp.
|
|
* Makefile.am (CLEANFILES): Replace doc/*.cwl, doc/*.dot, doc/*.out
and doc/*.png with DOC_SCM, DOC_IMAGES and DOC_OUT variables.
|
|
DOC_OTHER includes dependencies that are neither scm files nor out
files, but are primary sources required for the build.
* Makefile.am (EXTRA_DIST): Add DOC_OTHER.
(doc/ccwl.info, doc/ccwl.html): Depend on DOC_OTHER.
* build-aux/find-dependencies.scm: Output DOC_OTHER.
(find-dependencies): Classify source forms as type 'out or type 'other
based on extension.
|
|
* doc/ccwl.skb (Cookbook): New chapter.
* doc/external-cwl-workflow.scm, doc/echo.cwl: New files.
* .gitignore: Add !doc/echo.cwl.
|
|
These files are source files required for the build. They were missed
out in an earlier commit.
* Makefile.am (EXTRA_DIST): Add doc/hello.c.gz and doc/hello.txt.
|
|
This is required to support VPATH builds.
* Makefile.am (doc/capture-output-file.out,
doc/capture-output-file-with-parameter-reference.out,
doc/checksum.out, doc/decompress-compile-run.out, doc/pass-stdin.out):
Pass auxiliary dependencies from automatic variables.
|
|
This removes the assumption that the source tree and the build tree
are the same, and is required to support VPATH builds.
* build-aux/generate-cwl-output.sh.in: Accept and write to paths
relative to the top-level directory. Do not change directory.
* Makefile.am (doc/capture-output-file.out,
doc/capture-output-file-with-parameter-reference.out,
doc/checksum.out, doc/decompress-compile-run.out, doc/pass-stdin.out):
Pass relative paths in input arguments.
|
|
* configure.ac: Check for (yaml) guile module.
|