aboutsummaryrefslogtreecommitdiff
path: root/dune
Commit message (Collapse)AuthorAgeFilesLines
* build: materialise data/ef/*.sexp as part of the default build targetLukasz Kasprzak2026-08-121-0/+23
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.