Bruno Borges
a7d1de6676
Add Tencent Kona SDKMAN mapping and format sdkmanrc docs as a table
...
- Map SDKMAN 'kona' identifier to the 'kona' distribution (added in #672 )
- Add a .sdkmanrc test case for the kona suffix
- Convert the inline SDKMAN suffix mapping in advanced-usage.md to a table
- Rebuild dist bundles
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-07-07 14:32:36 -04:00
lukaszgyg
bdc498b503
fix: support SDKMAN albba identifier
2026-06-22 12:41:53 -04:00
lukaszgyg
433b953ac8
fix: align SDKMAN sem identifier mapping
2026-06-22 12:41:53 -04:00
Lukasz
6d0d45b0d2
feat: Add distribution detection support to .sdkmanrc file
...
Extends .sdkmanrc support to automatically detect Java distribution from SDKMAN identifiers (e.g., java=21.0.5-tem maps to temurin distribution).
Makes distribution input optional when using .sdkmanrc with distribution suffix.
2026-06-22 12:41:53 -04:00
Sean Proctor
baa1691374
fix: reject non-semver candidate versions in isVersionSatisfies ( #1009 )
...
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (jetbrains, jre+jcef, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (jetbrains, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (jetbrains, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (jetbrains, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jdk+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre+fx, ubuntu-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (liberica, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (sapmachine, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (semeru, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (temurin, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jdk+fx, ubuntu-latest, 21.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre+fx, ubuntu-latest, 21) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, macos-15-intel, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, ubuntu-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} (zulu, jre, windows-latest, 17.0) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (corretto, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (corretto, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (liberica, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (liberica, windows-latest, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (zulu, ubuntu-22.04, 11) (push) Has been cancelled
Validate Java e2e / ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }} (zulu, windows-latest, 11) (push) Has been cancelled
Update configuration files / Update configuration files (push) Has been cancelled
Distributions like JetBrains Runtime publish 4-segment versions such as
'17.0.8.1+1080.1' that the semver package rejects. Both compareBuild and
satisfies throw on these, which surfaced to users as "Error: Invalid
Version: 17.0.8.1+1080.1" and aborted the whole install when any
available version was non-semver. Guard with an early semver.valid check
so unparseable versions are treated as a non-match.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-17 22:47:02 -05:00
John
43120bc3c3
Implement pagination with link headers for Adoptium based apis ( #1014 )
...
* Use Link headers for Adoptium pagination
* Fix nullable pagination URL types and rebuild dist
* Add 1000-page safeguard for JetBrains pagination
* Adjust plan for pagination safeguard scope
* Move pagination safeguard to non-JetBrains installers
* Add 1000-page safeguard to Adopt Temurin and Semeru pagination
* Fix Prettier formatting in adopt, semeru, and temurin installer files
* Fix CI audit failure by updating vulnerable transitive deps
* Address PR review: RFC-compliant Link parsing, SSRF validation, centralized constant
- Make getNextPageUrlFromLinkHeader RFC 8288 compliant by splitting
link-values and checking for rel=next anywhere in the parameters,
not just as the first parameter after the semicolon.
- Add validatePaginationUrl utility to reject pagination URLs that
point to unexpected origins (SSRF mitigation).
- Centralize MAX_PAGINATION_PAGES in util.ts instead of duplicating
across Adopt, Semeru, and Temurin installers.
- Add tests for rel not being the first parameter, and for URL
origin validation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address code review feedback on pagination implementation
- Tighten rel regex with word boundary to prevent false positives
(e.g., rel="nextsomething" no longer matches).
- Use parsed.origin comparison in validatePaginationUrl to correctly
handle explicit default ports (e.g., :443 for HTTPS).
- Fix pagination safeguard tests to use same-origin URLs so they
actually exercise the 1000-page limit instead of being rejected
by origin validation on the first request.
- Add test for rel="nextsomething" not matching.
- Add test for explicit default port acceptance.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix prettier formatting in util.test.ts
* Rebuild dist/ to fix check-dist CI failure
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-12 11:50:16 +01:00
guicamest
4e7e684fbb
feat: Add support for .sdkmanrc file in java-version-file parameter ( #736 )
...
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 4s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (corretto, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (microsoft, .tool-versions, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .java-version, ubuntu-latest) (push) Failing after 5s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (temurin, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (adopt-openj9, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .java-version, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .sdkmanrc, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (adopt, .tool-versions, ubuntu-latest) (push) Failing after 6s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .java-version, ubuntu-latest) (push) Failing after 9s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .sdkmanrc, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (liberica, .tool-versions, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .java-version, ubuntu-latest) (push) Failing after 7s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .sdkmanrc, ubuntu-latest) (push) Failing after 8s
Validate Java e2e / ${{ matrix.distribution }} version from file '${{ matrix.java-version-file }}' - ${{ matrix.os }} (zulu, .tool-versions, ubuntu-latest) (push) Failing after 6s
* chore(e2e-versions): Add e2e test scenario on `setup-java-version-from-file-major-minor-patch-with-dist` for `.sdkmanrc`
* chore(e2e-versions): Update `setup-java-version-from-file-major-minor-patch-with-dist` test to include the file name of the java-version-file that is used
* feat: Add support for `.sdkmanrc` as *Java Version File*
* chore: Add test for the latest known sdkman java versions
* docs(advanced-usage): Document support for `.sdkmanrc` as java-version-file
* chore(docs): Anyone can contribute and maintain 🤷
* Update advanced-usage.md
Add example step/file for `.sdkmanrc`
* Update advanced-usage.md
* Update util.ts
* chore: format and rebuild
* chore: untouch toolchains.ts
* fix check dist error
---------
Co-authored-by: mahabaleshwars <147705296+mahabaleshwars@users.noreply.github.com>
2025-11-25 13:36:29 -06:00
John Wesley Walker III
8df1039502
Refine isGhes logic ( #697 )
2024-10-21 19:57:52 +02:00
Ivan
ddb82ce8a6
Corretto toolcache folder name fix ( #480 )
2023-04-10 10:29:19 +02:00
Ivan
0de5c66fc0
Add and configure ESLint and update configuration for Prettier ( #458 )
...
* Add ESLint config and update Prettier
* Update test files
* Rebuild action
* Update docs
* Update licenses
* Update tsconfig
* Rebuild action
* Update tsconfig.json
* Fix console.time calls
* Rebuild action
* Rebuild action on Linux
2023-03-09 14:49:35 +02:00
Jongwoo Han
545223a83e
refactor: Use early return pattern to avoid nested conditions ( #428 )
2022-12-16 15:04:57 +01:00
Shubham Tiwari
dc1a9f2791
Caching on GHES ( #308 )
...
* initial changes
* review comments
* updated with correct message
* linting
* update version
* updated version
2022-03-31 15:09:57 -04:00
Maxim Lobanov
b53500dabc
Merge "v2-preview" branch into "main" ( #150 )
...
* actions/setup-java@v2 - Support different distributions (#132 )
* Implement support for custom vendors in setup-java
* minor improvements
* minor refactoring
* Add unit tests and e2e tests
* Update documentation for setup-java@v2 release
* minor improvements
* regenerate dist
* fix comments
* resolve comments
* resolve comments
* fix tests
* Update README.md
Co-authored-by: George Adams <george.adams@microsoft.com>
* Apply suggestions from code review
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
* fix minor nitpicks
* handle 4th digit
* pull latest main
* Update README.md
* rename adoptium to adopt
* rename adoptium to adopt
* rename adoptium to adopt
* Update README.md
* make java-version and distribution required for action
* update readme
* fix tests
* fix e2e tests
Co-authored-by: George Adams <george.adams@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
* Add "overwrite-settings" input parameter (#136 )
* add overwrite-settings parameter
* fix e2e tests
* print debug
* fix e2e tests
* add comment
* remove comment
* Add "Contents/Home" postfix on macOS if provider creates it (#139 )
* Update e2e-versions.yml
* Update e2e-versions.yml
* implement fix
* Update e2e-versions.yml
* Update installer.ts
* fix filter logic
* Update e2e-versions.yml
* remove extra logic
* Update e2e-versions.yml
* Add check-latest flag (#141 )
* add changes for check-latest
* run prerelease script
* resolving comments
* fixing tests
* fix spelling
* improve core.info messages
* run format
* run prerelease
* change version to fix test
* resolve comment for check-latest
* Update README.md
* added hosted tool cache section
* Apply suggestions from code review
Co-authored-by: Maxim Lobanov <v-malob@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
* Avoid "+" sign in Java path in v2-preview (#145 )
* try to handle _ versions
* more logs
* more debug
* test 1
* more fixes
* fix typo
* Update e2e-versions.yml
* add unit-tests
* remove debug info from tests
* debug pre-cached versions
* change e2e tests to ubuntu-latest
* update npm licenses
Co-authored-by: George Adams <george.adams@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
Co-authored-by: Dmitry Shibanov <dmitry-shibanov@github.com>
2021-04-05 13:02:27 +03:00
Jared Petersen
d94db22179
Added support for GPG
2020-05-15 23:40:06 -07:00