Add the JVM stack (1.3.0)#8
Merged
Merged
Conversation
linguo jvm manages Eclipse Temurin JDKs from the Adoptium API (per-platform tarballs with inline sha256s, including native alpine-linux musl builds; macOS Contents/Home nesting handled; install and upgrade --latest default to the newest LTS). Pins fall back to .java-version, and run/which/the shell hook wire JAVA_HOME, which the hook now exports on entry and unsets on leave. Kotlin, Groovy, and Scala are runtime-only JVM languages sharing one engine (jvmlang): Kotlin compiler zips from JetBrains releases and Scala 3 tarballs verified against GitHub asset digests, Apache Groovy zips against Apache's .sha256 sidecars. Each language resolves its JDK through a per-language [jvm] binding written by `linguo <lang> set-jvm <version>` (project linguo.toml or --global), falling back to the directory's plain jvm pin, so mixed-JDK setups work per language. Alpine and Windows CI smoke tests cover the jvm and groovy flows. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Toolchains like groovy and kotlin ship an extensionless unix launcher next to the .bat; find_in_dir preferred the exact name, handing CreateProcess a shell script (error 193). On Windows only .exe/.cmd/ .bat/.com count, extension search order otherwise. Also restores a quote my earlier edit dropped in the Alpine groovy smoke line. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Batch launchers validate JAVA_HOME with `if exist`, which rejects the mixed-separator paths that leak in when $LINGUO_ROOT is set with forward slashes (e.g. Git Bash). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Temurin JDK management via the Adoptium API (jvm language key, JAVA_HOME wiring incl. hook lifecycle), plus Kotlin/Groovy/Scala as runtime-only JVM languages with per-language set-jvm bindings falling back to the jvm pin. Alpine + Windows smoke coverage.
🤖 Generated with Claude Code