diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 01:13:53 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 01:13:53 +0200 |
| commit | 9725195fc4a1050ded151854f6653459dacc35b0 (patch) | |
| tree | 86ae7de30af42d1caa06751da6c715536f7ebc48 /lib/kernel/layer.ml | |
| parent | 7f183c847f8b67c88ad6ea3bf2d635c5c0534651 (diff) | |
| download | colitur-9725195fc4a1050ded151854f6653459dacc35b0.tar.gz colitur-9725195fc4a1050ded151854f6653459dacc35b0.zip | |
build: materialise data/ef/*.sexp as part of the default build target
A genuinely clean rebuild -- rm -rf _build && dune build && dune exec
colitur -- day 2026 -- failed: nothing in the default build graph asked
for data/ef/sanctoral.sexp or adjustments.sexp, only test/dune's cram
stanza did (its own explicit deps), so dune build alone never
materialised them under _build/default/data/ef/, and colitur day
(bin/main.ml's data_dir, which reads them straight off the build tree)
failed to find them. dune build @runtest masked this entirely, and the
test suite could not have caught it on its own: the cram stanza supplies
its own deps regardless of whether anything else in the project needs
them.
Verified empirically that neither a plain (alias (name default) ...) in
data/ef/dune nor one in bin/dune is enough on its own -- bare 'dune
build' resolves to something narrower than either recursive alias
propagation would suggest. A root-level dune file's default alias,
explicitly depending on (alias_rec install) plus the two data files, is
what a genuinely clean rebuild actually needs.
Diffstat (limited to 'lib/kernel/layer.ml')
0 files changed, 0 insertions, 0 deletions
