Skip to content

Add the JVM stack (1.3.0)#8

Merged
BoxingOctopus merged 3 commits into
mainfrom
jvm-stack
Jul 4, 2026
Merged

Add the JVM stack (1.3.0)#8
BoxingOctopus merged 3 commits into
mainfrom
jvm-stack

Conversation

@BoxingOctopus

Copy link
Copy Markdown
Contributor

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

BoxingOctopus and others added 3 commits July 4, 2026 10:35
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>
@BoxingOctopus BoxingOctopus merged commit 6b88265 into main Jul 4, 2026
3 checks passed
@BoxingOctopus BoxingOctopus deleted the jvm-stack branch July 4, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant