Documentation
¶
Overview ¶
importcheck dwingt de importrichting van docs/archief/indeling.md af — als buildfout, niet als reviewtaak (zelfde filosofie als de compile-time contract-assertie in kern/slotmgr). tools/test.sh draait het vóór de tests:
go run ../tools/importcheck.go (cwd = metal/)
Het leest ELKE .go-file (ook achter build-tags — juist die randen drijven af) en toetst alle hop-os/metal-imports tegen de laag-regels. De regels zijn hier datavorm; de uitleg en het waarom staan in docs/archief/indeling.md — wijzigt de indeling, pas dan BEIDE aan.
loc telt de regels van HopOS zoals de compiler ze ziet — per release-smaak een `go list -deps` met de échte GOOS/GOARCH/tags, zodat een file die maar voor één board of één ISA bouwt ook alleen dáár meetelt. Geen cloc-schatting over de hele boom: wat niet gelinkt wordt, telt niet.
go run ../tools/loc.go (cwd = metal/; TAMAGO wijst de toolchain aan)
De uitkomst voedt de regeltelling in docs/technical/isolation.md en op gethop.org — wijzigt de indeling of komt er een board bij, draai dit en neem de nieuwe nummers over. Telling: .go via go/scanner (commentaar en lege regels vallen weg), .s met een eigen //- en /* */-stripper.
Emmers, in de volgorde van de ladder op de site:
- portable: in élke smaak gelinkt, uitgesplitst per laag (kern, runtime, drivers, net, fw/boot)
- arch-gemeenschappelijk: in alle boards van één ISA, board-onafhankelijk
- per board: wat alleen déze smaak linkt — board-support plus zijn drivers (igb hoort bij de Altra-stick, genet bij de Pi 4, dwmac4+PHY bij de RK3566). Dít is de swappable buitenlaag.