aboutsummaryrefslogtreecommitdiff
path: root/dune
diff options
context:
space:
mode:
Diffstat (limited to 'dune')
-rw-r--r--dune23
1 files changed, 23 insertions, 0 deletions
diff --git a/dune b/dune
new file mode 100644
index 0000000..de5051c
--- /dev/null
+++ b/dune
@@ -0,0 +1,23 @@
+; Makes data/ef/*.sexp part of the DEFAULT build target (`dune build`, no
+; args), not only whatever individual stanzas elsewhere happen to declare as
+; their own deps. Without this, `rm -rf _build && dune build && dune exec
+; colitur -- day 2026` failed: bare `dune build` resolves to the workspace
+; root's own `default` alias, which -- absent this file -- is implicitly
+; bound to `@install` alone and never reaches data/ef/dune's own `default`
+; alias (that alias only participates in an EXPLICIT `@default`/`@dir`
+; recursive request, e.g. `dune build @default`, not in the plain no-target
+; invocation; verified empirically -- see the task report). `test/dune`'s
+; cram stanza masked this: it declares its own (deps ../data/ef/*.sexp),
+; which materialises them as a side effect of `dune build @runtest`, so the
+; test suite could not have caught this on its own -- it took a genuinely
+; clean rebuild to surface it.
+;
+; (:standard) keeps whatever `default` would otherwise resolve to (the
+; package's own install artifacts -- executables, libraries) so this ADDS a
+; requirement rather than replacing dune's own default behaviour.
+(alias
+ (name default)
+ (deps
+ (alias_rec install)
+ data/ef/sanctoral.sexp
+ data/ef/adjustments.sexp))