The published codeanalyzer-java wheel already provides canjv and a bundled JVM through jdk4py>=21,<22, but Java releases do not update the shared Homebrew tap.
Add a Homebrew job after successful PyPI publication, following codeanalyzer-python's version-pinned uvx launcher pattern. Generate Formula/codeanalyzer-java.rb from the published universal wheel URL and SHA256, and push it to codellm-devkit/homebrew-tap. Document installation and the first-use download of the package and JVM.
Acceptance criteria:
- Successful PyPI publication updates the tap for the same version; failed publication does not.
- Tap failures can be retried, and unchanged formulas are a successful no-op.
brew install codellm-devkit/homebrew-tap/codeanalyzer-java exposes canjv without requiring system Java.
- Workflow and formula validation pass.
Ship the automation with the next release; do not cut a new Java release for this change. Backfill the tap now with the existing PyPI release 3.0.2.
Deployment prerequisite: HOMEBREW_TAP_TOKEN must be available to codeanalyzer-java with write access to the shared tap. No repository-level secret with this name was listed during verification; an organization secret may supply it.
The published
codeanalyzer-javawheel already providescanjvand a bundled JVM throughjdk4py>=21,<22, but Java releases do not update the shared Homebrew tap.Add a Homebrew job after successful PyPI publication, following codeanalyzer-python's version-pinned
uvxlauncher pattern. GenerateFormula/codeanalyzer-java.rbfrom the published universal wheel URL and SHA256, and push it tocodellm-devkit/homebrew-tap. Document installation and the first-use download of the package and JVM.Acceptance criteria:
brew install codellm-devkit/homebrew-tap/codeanalyzer-javaexposescanjvwithout requiring system Java.Ship the automation with the next release; do not cut a new Java release for this change. Backfill the tap now with the existing PyPI release 3.0.2.
Deployment prerequisite:
HOMEBREW_TAP_TOKENmust be available to codeanalyzer-java with write access to the shared tap. No repository-level secret with this name was listed during verification; an organization secret may supply it.