chore(profile): split build-gate commands per toolchain (#40 follow-through)
The repo hosts Kotlin at root and a Node app in frontend/, but the profile still pointed every flat alias at npm — so a Kotlin run's auto-gate would have run 'npm --prefix frontend run build'. #40 shipped [commands.<toolchain>] resolution in 6e844ef1; this migrates the profile to actually use it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+20
-6
@@ -14,13 +14,27 @@ test-all = "./gradlew check --rerun-tasks"
|
||||
test-module = "./gradlew :core:<module>:test --rerun-tasks"
|
||||
context-lookup = "python scripts/ctx.py <query>"
|
||||
epic-status = "bash scripts/epic-status.sh"
|
||||
# Build-gate aliases (BuildExpectation → commandAlias): MODULE→typecheck, PROJECT→build, TESTS→test.
|
||||
# Build-gate aliases (BuildExpectation → commandAlias): MODULE→typecheck, PROJECT→build, TESTS→test,
|
||||
# plus `setup` run before each gate. This repo hosts TWO toolchains — Kotlin at root, a Node app in
|
||||
# frontend/ — so the flat aliases below are the jvm default and the [commands.*] sections below take
|
||||
# precedence when the gate can tell what a stage wrote (#40, BuildGateToolchain.stageProducedToolchain).
|
||||
# The gate runner is whitespace-split / no-shell and runs at workspace_root (the repo), so `--prefix
|
||||
# frontend` targets the Node subproject without a `cd`. `npm run build` = `tsc && vite build` (npm's
|
||||
# own shell handles the &&), which fails on a dangling asset import — exactly the COMPLETED-lie hole.
|
||||
# QA runs clear frontend/ before each run, so node_modules is absent when the terminal build gate
|
||||
# fires. Without this the gate fails on missing deps instead of on the code it exists to verify.
|
||||
# `install`, not `ci`: a fresh scaffold has no package-lock.json yet.
|
||||
# frontend` targets the Node subproject without a `cd`.
|
||||
typecheck = "./gradlew compileKotlin"
|
||||
build = "./gradlew assemble"
|
||||
test = "./gradlew check"
|
||||
|
||||
[commands.jvm]
|
||||
typecheck = "./gradlew compileKotlin"
|
||||
build = "./gradlew assemble"
|
||||
test = "./gradlew check"
|
||||
|
||||
[commands.node]
|
||||
# `npm run build` = `tsc && vite build` (npm's own shell handles the &&), which fails on a dangling
|
||||
# asset import — exactly the COMPLETED-lie hole the terminal build gate exists to catch.
|
||||
# QA runs clear frontend/ before each run, so node_modules is absent when that gate fires; without
|
||||
# `setup` it fails on missing deps instead of on the code. `install`, not `ci`: a fresh scaffold has
|
||||
# no package-lock.json yet.
|
||||
setup = "npm --prefix frontend install"
|
||||
typecheck = "npm --prefix frontend run build"
|
||||
build = "npm --prefix frontend run build"
|
||||
|
||||
Reference in New Issue
Block a user