CLERK

NAME

clerk - Build system for Catala, a specification language for tax and social benefits computation rules.

SYNOPSIS

clerk COMMAND â¦

DESCRIPTION

clerk is a build system for Catala, a specification language for tax and social benefits computation rules

COMMANDS

build [OPTION]⦠[TARGET(S)]â¦

Build command for either individual files or clerk targets.

ci [OPTION]â¦

Scan the project and run all possible actions. This includes the interpretation of all catala tests and CLI tests (equivalent to running the clerk test command), and also, the build of all clerk targets (equivalent to running the clerk build command) alongside the execution of their tests against all their defined backend. This command is useful for the execution of continuous integrations (CIs) where all build and test actions are often meant to be executed. Run with --debug for the full log of events.

clean [OPTION]â¦

Removes files and directories previously generated by clerk if any.

list-vars [OPTION]â¦

List pre-defined build variables that can be overriden using the --var flag, or in the [variables] section of clerk.toml.

raw-target [OPTION]⦠[TARGET]â¦

Low-level build command: can be used to forward build targets or options directly to Ninja. Without a target argument, lists all available raw targets to stdout.

report [OPTION]⦠[FILE]â¦

Mainly for internal purposes. Reads a test report file and displays a summary of the results, returning 0 on success and 1 if any test failed.

run [OPTION]⦠[FILE]â¦

Runs the Catala interpreter on the given files, after building their dependencies. The scope to be executed can be specified using the -s option.

runtest [OPTION]⦠FILE [OUTFILE]

Mainly for internal purposes. Runs cli tests and annotated test scopes from a Catala file, and outputs their results to stdout

start [OPTION]â¦

This command prepares the local build environment of the project with objects that are needed by Catala, including the runtime and stdlib. It is never needed before running another Clerk command, but may be useful before direct calls to the catala compiler.

test [OPTION]⦠[TARGET(S)]â¦

Scan the given files, directories or clerk targets for catala tests, build their requirements and run them all. If --backend is unspecified or interpret, both scope tests and CLI tests are run ; --reset can be used to rewrite the expected results of CLI tests to their current result. For any other --backend, CLI tests are skipped and scope tests are compiled to the specified backend with the catala option --autotest, and then run, ensuring the consistency of results. When clerk targets are provided, only their specifically defined tests will be executed.

typecheck [OPTION]⦠[FILE]â¦

Runs the Catala type-checker on the given files.

COMMON OPTIONS

--help[=FMT] (default=auto)

Show this help in format FMT. The value FMT must be one of auto, pager, groff or plain. With auto, the format is pager or plain whenever the TERM env var is dumb or undefined.

--version

Show version information.

EXIT STATUS

clerk exits with:

0

on success.

1

on error.

123

on indiscriminate errors reported on standard error.

124

on command line parsing errors.

125

on unexpected internal errors (bugs).

AUTHORS

Denis Merigoux <denis.merigoux@inria.fr>

Emile Rolley <emile.rolley@tuta.io>

Louis Gesbert <louis.gesbert@inria.fr>

EXAMPLES

Typical usage:

clerk test file.catala_en

BUGS

Please file bug reports at https://github.com/CatalaLang/catala/issues