catala/build_system
Louis Gesbert 1de18f0e04 Preserve the capitalisation of module filenames
Module names must be capitalised (start with a capital letter), and the name of
the file on disk must match ; however, matching up to capitalisation is allowed,
i.e. the file on disk can start with a lowercase letter.

A mismatch between Clerk assuming generated module artifacts would match the
capitalised module name, and `catala depends` matching the names of files on
disk (because it would otherwise mean treating dependencies differently
depending on if they originate from modules or not) was causing "file not found"
errors later on in the compilation chain.

This patch enforces that the capitalisation of the original file name on
disk (which is always known) takes precedence in Clerk, matching the behaviour
of `catala depends` and fixing the issue. It's also actually a small
simplification in Clerk code.
2024-04-15 23:00:56 +02:00
..
clerk_driver.ml Preserve the capitalisation of module filenames 2024-04-15 23:00:56 +02:00
clerk_driver.mli Reformat 2023-09-27 13:19:04 +02:00
clerk_runtest.ml Rewriting message calls to use the new intf 2024-04-10 19:26:23 +02:00
clerk_runtest.mli Tests: add catala test-scope pseudo-command for inline tests 2024-02-26 14:56:43 +01:00
clerk_scan.ml Move global options of Cli to their own module 2024-03-19 15:18:35 +01:00
clerk_scan.mli Move global options of Cli to their own module 2024-03-19 15:18:35 +01:00
clerk.ml Big reformatting 2022-03-08 15:03:14 +01:00
dune Install Python and R runtimes 2024-01-16 11:54:28 +01:00
README.md docs(clerk): add documentation about clerk and the Ninja_utils module 2022-02-24 14:05:05 +01:00

Clerk

The build system for Catala built on top of ninja.

Usage

Use clerk --help if you have installed it to get more information about the command line options available. To get the development version of the help, run make help_clerk after make build. The clerk binary corresponds to the Catala build system, responsible for testing among other things.

Under the hood

To perform tests, Clerk will first generate a build.ninja file with required rules and build statements retrieved from the given input path(s), before executing the command ninja test.

The handling of the ninja structure is done with the module Ninja_utils.