Build an installable plugin ZIP: real README/CHANGELOG, cache-poisoning recovery

- README documents install-from-disk and what actually works today
- jaitest prints the recovery steps when a poisoned build cache makes
  :test report NO-SOURCE, and AGENTS.md records the failure mode
This commit is contained in:
hgranthorner
2026-08-04 10:42:10 -04:00
parent f52b8c5899
commit 746647d27d
4 changed files with 69 additions and 137 deletions

View File

@@ -171,6 +171,20 @@ formatting is idempotent for the formatter.
`NoSuchFileException: .../in-progress-results-generic.bin`, and no XML is
written. It is infrastructure, not a test failure — `./jaitest` retries once
automatically. Do not go debugging the test that "failed".
- **A poisoned build cache can make tests silently vanish.** Symptom:
`BUILD SUCCESSFUL`, `:compileTestKotlin FROM-CACHE`, `:test NO-SOURCE`, and
`build/classes/kotlin/test` is empty. The cache stored an empty output
directory from a build whose outputs were deleted underneath it, and the entry
is keyed by input hash so it never gets replaced. This is the exact failure
mode `./jaitest`'s "total tests = 0 is a failure" rule exists to catch.
Recover with:
```bash
./jaigradle --stop
rm -rf build .gradle ~/.gradle/caches/build-cache-1
./jaitest
```
- **`timeout` does not exist on this macOS box.** Do not use it in scripts.
- **Noisy test stderr.** Fixture runs log Vue/JS `PluginException`s from bundled
plugins. Tests pass regardless, but real failures can be buried — check the