dist: Support Liberica NIK (#878)#1112
Open
asm0dey wants to merge 1 commit into
Open
Conversation
Add the `liberica-nik` distribution (Liberica Native Image Kit), a GraalVM-based build from BELL Software resolved via the Bell-SW `/v1/nik/releases` API. - `java-version` matches the embedded JDK version (from the release's `liberica` component), consistent with every other distribution. - `java-package: jdk` installs the `standard` bundle; `jdk+fx` installs the `full` bundle with JavaFX/Swing support. - Supported on Linux, macOS and Windows for x64 and aarch64. Signed-off-by: asm0dey <pavel.finkelshtein@gmail.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.
Description:
Adds a new distribution
liberica-nikfor the Liberica Native Image Kit (NIK), BellSoft's GraalVM-based build. It reuses the same download/extract mechanics as the existinglibericadistribution but resolves releases through the Bell-SW/v1/nik/releasesAPI.Just like
liberica(regular vs. JavaFX), both NIK flavors are supported viajava-package:java-package: jdk(default) — the standard NIK bundle (native-image + extra languages), no JavaFX.java-package: jdk+fx— thefullNIK bundle, which adds JavaFX support.Design notes:
24.1.0) plus acomponentsarray; the embeddedlibericacomponent holds the JDK version (e.g.21.0.4).java-versionmatches the latter, sojava-version: 21behaves the same as for every other distribution.x64andaarch64(NIK ships 64-bit only).Changes:
src/distributions/liberica-nik/{installer,models}.ts— new distribution.src/distributions/distribution-factory.ts— registerliberica-nik.__tests__/distributors/liberica-nik-installer.test.ts+__tests__/data/liberica-nik.json— unit tests (URL building, arch/platform mapping, version resolution, SemVer normalization).README.md,docs/advanced-usage.md— documentation..github/workflows/e2e-versions.yml— e2e coverage (11/17/21/25 across OSes, plus ajdk+fxcase).dist/— rebuilt vianpm run build.Related issue:
Closes #878
Download URL:
Releases are resolved via the Bell-SW API:
https://api.bell-sw.com/v1/nik/releasesDownloads page: https://bell-sw.com/pages/downloads/native-image-kit/
License:
Liberica Native Image Kit EULA
Check list:
npm run checklocally (format, lint, build, test) and all checks pass.AI Disclosure: This PR was prepared with the assistance of Claude Code (Anthropic). The distribution implementation, tests, documentation, and e2e configuration were AI-assisted; the design decisions (JDK-version matching,
jdk/jdk+fx→standard/fullbundle mapping, distribution id) were made by the human contributor, who reviewed every line before submission.