-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathdune
More file actions
35 lines (32 loc) · 2.07 KB
/
Copy pathdune
File metadata and controls
35 lines (32 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
; Dune's default source-tree scan skips every directory whose name starts with a dot, and
; `test/operations/shell_scripts_parse` discovers the repository's shell scripts through a
; `(glob_files_rec ../../*.sh)` dependency -- so a tracked script under `.github/` was invisible to
; it, and the check's floor did not notice because the twelve visible scripts kept it satisfied
; (Codex review round 3 on PR #454). Naming `.github` here puts it in the scan, which is what makes
; "a new script is covered the day it lands" true rather than nearly true.
;
; `:standard` first, so this ADDS to the default rather than replacing it. `.github` itself contains
; only workflows and issue templates, no dune file, so nothing new is built; it becomes visible, not
; compiled. `.claude` is visible only so config_usage_scan can depend on checked-in skill Markdown;
; its own dune file admits `skills/` alone. In particular, `.claude/worktrees/` can hold entire
; checkouts of this repository and MUST stay outside Dune's source tree.
(dirs :standard .github .claude)
; Warning 50 is ocamlformat's refusal criterion, spelled as a compiler check.
; ocamlformat declines to format a file whose doc comments the compiler cannot
; attach ("ignoring <file> (misplaced documentation comments - warning 50)") and
; exits nonzero, so ONE such file anywhere makes `dune build @fmt` permanently
; unclean -- and tools/format-sweep.sh, whose convergence test is exactly that,
; can then only report a fixed point it will never reach. Three files were
; enough to block every sweep for four days.
;
; Enabling the warning moves that from an unattended discovery to a build error
; at the site, in front of the author, who is the only one who knows which
; definition an orphaned block was written about -- the judgment call is trivial
; there and unreviewable anywhere else. Dune's dev `:standard` carries `@49..57`,
; so `+50` lands as an ERROR under it; the release profile's `:standard` is a
; bare `-w -40`, where it stays an ordinary warning and cannot fail an opam
; consumer's build.
(env
(_
(flags
(:standard -w +50))))