feat: Add set-default option#1017
Conversation
This option allows to install an additional JDK without making it the default one. I have wanted this for quite a long time as I'm running custom GitHub Actions with Java, which might require a specific JDK and I don't want to pollute the JDK that is used by the overall workflow calling the action. And I'm apparently not alone as there was a preexisting issue. Fixes actions#560
- Refactor setJavaDefault to delegate shared output/env logic to setJavaEnvironment, avoiding duplication between the two. - Document that set-default applies to all JDKs in a multiline java-version, and that installed JDKs remain registered in Maven toolchains regardless of set-default. Co-authored-by: Copilot <[email protected]>
|
Cross-linking for coordination: this
The one piece #553 covered that this PR does not is a Maven toolchains-only install (register the JDK in No change requested here — just establishing the lineage: #560 (this PR) and #552 → #1047. |
|
@brunoborges thanks for taking good care of this PR. Let me know if you need anything from me. |
Resolves the failing 'Basic validation / build' format-check on __tests__/distributors/base-installer.test.ts (line exceeded print width). Co-authored-by: Copilot <[email protected]>
# Conflicts: # README.md # action.yml # dist/cleanup/index.js # dist/setup/index.js # src/constants.ts # src/distributions/base-installer.ts # src/distributions/base-models.ts # src/setup-java.ts
|
Awesome! Thanks for merging! |
Bumps the github-actions group with 2 updates: [actions/setup-java](https://github.com/actions/setup-java) and [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action). Updates `actions/setup-java` from 5.4.0 to 5.5.0 Release notes *Sourced from [actions/setup-java's releases](https://github.com/actions/setup-java/releases).* > v5.5.0 > ------ > > What's Changed > -------------- > > * chore: enforce pre-PR validation (aggregate scripts, git hooks, PR checklist) by [`@brunoborges`](https://github.com/brunoborges) in [actions/setup-java#1061](https://redirect.github.com/actions/setup-java/pull/1061) > * Bump github/codeql-action from 3 to 4 by [`@dependabot`](https://github.com/dependabot)[bot] in [actions/setup-java#1069](https://redirect.github.com/actions/setup-java/pull/1069) > * Bump actions/checkout from 6 to 7 by [`@dependabot`](https://github.com/dependabot)[bot] in [actions/setup-java#1068](https://redirect.github.com/actions/setup-java/pull/1068) > * Bump actions/setup-python from 5 to 6 by [`@dependabot`](https://github.com/dependabot)[bot] in [actions/setup-java#1067](https://redirect.github.com/actions/setup-java/pull/1067) > * Bump `@typescript-eslint/parser` from 8.61.1 to 8.62.0 by [`@dependabot`](https://github.com/dependabot)[bot] in [actions/setup-java#1062](https://redirect.github.com/actions/setup-java/pull/1062) > * feat: Add verify-signature plumbing and Temurin+Microsoft verification support by [`@johnoliver`](https://github.com/johnoliver) in [actions/setup-java#1060](https://redirect.github.com/actions/setup-java/pull/1060) > * Updated jetbrains test: https.request() now catches errors. This fixes leaking tests as well by [`@jmjaffe37`](https://github.com/jmjaffe37) in [actions/setup-java#1070](https://redirect.github.com/actions/setup-java/pull/1070) > * Fix arm64 e2e workflow tests mislabeled as x64 by [`@brunoborges`](https://github.com/brunoborges) with [`@Copilot`](https://github.com/Copilot) in [actions/setup-java#1073](https://redirect.github.com/actions/setup-java/pull/1073) > * feat: suppress Maven transfer progress via MAVEN\_ARGS by default (add show-download-progress input) by [`@brunoborges`](https://github.com/brunoborges) in [actions/setup-java#1053](https://redirect.github.com/actions/setup-java/pull/1053) > * feat: Disable interactiveMode in generated Maven settings.xml by [`@brunoborges`](https://github.com/brunoborges) with [`@Copilot`](https://github.com/Copilot) in [actions/setup-java#1052](https://redirect.github.com/actions/setup-java/pull/1052) > * Bump prettier from 3.6.2 to 3.9.1 by [`@dependabot`](https://github.com/dependabot)[bot] in [actions/setup-java#1066](https://redirect.github.com/actions/setup-java/pull/1066) > * chore(deps-dev): bump eslint-plugin-jest from 29.0.1 to 29.15.4 by [`@dependabot`](https://github.com/dependabot)[bot] in [actions/setup-java#1074](https://redirect.github.com/actions/setup-java/pull/1074) > * fix: Maven Toolchains grows unexpectedly by [`@Okeanos`](https://github.com/Okeanos) in [actions/setup-java#534](https://redirect.github.com/actions/setup-java/pull/534) > * dist: Support Tencent Kona JDK by [`@johnshajiang`](https://github.com/johnshajiang) in [actions/setup-java#672](https://redirect.github.com/actions/setup-java/pull/672) > * feat: Add set-default option by [`@gsmet`](https://github.com/gsmet) in [actions/setup-java#1017](https://redirect.github.com/actions/setup-java/pull/1017) > * docs: document problem matcher (and how to disable it), Maven Wrapper caching, and generated interactiveMode by [`@brunoborges`](https://github.com/brunoborges) in [actions/setup-java#1075](https://redirect.github.com/actions/setup-java/pull/1075) > * feat: Add distribution detection support to .sdkmanrc file by [`@lukaszgyg`](https://github.com/lukaszgyg) in [actions/setup-java#975](https://redirect.github.com/actions/setup-java/pull/975) > > New Contributors > ---------------- > > * [`@jmjaffe37`](https://github.com/jmjaffe37) made their first contribution in [actions/setup-java#1070](https://redirect.github.com/actions/setup-java/pull/1070) > * [`@gsmet`](https://github.com/gsmet) made their first contribution in [actions/setup-java#1017](https://redirect.github.com/actions/setup-java/pull/1017) > * [`@lukaszgyg`](https://github.com/lukaszgyg) made their first contribution in [actions/setup-java#975](https://redirect.github.com/actions/setup-java/pull/975) > > **Full Changelog**: <actions/setup-java@v5...v5.5.0> Commits * [`0f481fc`](actions/setup-java@0f481fc) feat: Add distribution detection support to .sdkmanrc file ([#975](https://redirect.github.com/actions/setup-java/issues/975)) * [`c4922bf`](actions/setup-java@c4922bf) docs: document problem matcher (and how to disable it), Maven Wrapper caching... * [`6657b99`](actions/setup-java@6657b99) feat: Add set-default option ([#1017](https://redirect.github.com/actions/setup-java/issues/1017)) * [`a50fdcc`](actions/setup-java@a50fdcc) dist: Support Tencent Kona JDK ([#672](https://redirect.github.com/actions/setup-java/issues/672)) * [`77ee41d`](actions/setup-java@77ee41d) fix: Maven Toolchains grows unexpectedly ([#534](https://redirect.github.com/actions/setup-java/issues/534)) * [`0765b15`](actions/setup-java@0765b15) chore(deps-dev): bump eslint-plugin-jest from 29.0.1 to 29.15.4 ([#1074](https://redirect.github.com/actions/setup-java/issues/1074)) * [`c712b2f`](actions/setup-java@c712b2f) Bump prettier from 3.6.2 to 3.9.1 ([#1066](https://redirect.github.com/actions/setup-java/issues/1066)) * [`733efae`](actions/setup-java@733efae) feat: Disable interactiveMode in generated Maven settings.xml ([#1052](https://redirect.github.com/actions/setup-java/issues/1052)) * [`6c4d4a5`](actions/setup-java@6c4d4a5) feat: suppress Maven transfer progress via MAVEN\_ARGS by default (add show-do... * [`324b333`](actions/setup-java@324b333) Fix arm64 e2e workflow tests mislabeled as x64 ([#1073](https://redirect.github.com/actions/setup-java/issues/1073)) * Additional commits viewable in [compare view](actions/setup-java@1bcf9fb...0f481fc) Updates `anthropics/claude-code-action` from 1.0.165 to 1.0.168 Release notes *Sourced from [anthropics/claude-code-action's releases](https://github.com/anthropics/claude-code-action/releases).* > v1.0.168 > -------- > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.168> > > v1.0.167 > -------- > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.167> > > v1.0.166 > -------- > > What's Changed > -------------- > > * Drop buffered inline comment when it is posted live ([#1405](https://redirect.github.com/anthropics/claude-code-action/issues/1405)) by [`@archievi`](https://github.com/archievi) in [anthropics/claude-code-action#1412](https://redirect.github.com/anthropics/claude-code-action/pull/1412) > * Use modern noreply email for co-author trailers by [`@tarunag10`](https://github.com/tarunag10) in [anthropics/claude-code-action#1369](https://redirect.github.com/anthropics/claude-code-action/pull/1369) > * fix(restore): handle symlinked CLAUDE.md paths during config snapshot by [`@syf2211`](https://github.com/syf2211) in [anthropics/claude-code-action#1441](https://redirect.github.com/anthropics/claude-code-action/pull/1441) > * fix: preserve repeated add-dir flags in claude args by [`@Jerry2003826`](https://github.com/Jerry2003826) in [anthropics/claude-code-action#1256](https://redirect.github.com/anthropics/claude-code-action/pull/1256) > * fix: propagate curl failures in install pipeline by [`@akhilesharora`](https://github.com/akhilesharora) in [anthropics/claude-code-action#1241](https://redirect.github.com/anthropics/claude-code-action/pull/1241) > * chore: fix prettier formatting by [`@ashwin-ant`](https://github.com/ashwin-ant) in [anthropics/claude-code-action#1463](https://redirect.github.com/anthropics/claude-code-action/pull/1463) > > New Contributors > ---------------- > > * [`@archievi`](https://github.com/archievi) made their first contribution in [anthropics/claude-code-action#1412](https://redirect.github.com/anthropics/claude-code-action/pull/1412) > * [`@syf2211`](https://github.com/syf2211) made their first contribution in [anthropics/claude-code-action#1441](https://redirect.github.com/anthropics/claude-code-action/pull/1441) > * [`@akhilesharora`](https://github.com/akhilesharora) made their first contribution in [anthropics/claude-code-action#1241](https://redirect.github.com/anthropics/claude-code-action/pull/1241) > > **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.166> Commits * [`ba0aafd`](anthropics/claude-code-action@ba0aafd) chore: bump Claude Code to 2.1.204 and Agent SDK to 0.3.204 * [`0fe28cd`](anthropics/claude-code-action@0fe28cd) chore: bump Claude Code to 2.1.203 and Agent SDK to 0.3.203 * [`f87768c`](anthropics/claude-code-action@f87768c) chore: bump Claude Code to 2.1.202 and Agent SDK to 0.3.202 * [`58a2944`](anthropics/claude-code-action@58a2944) chore: fix prettier formatting ([#1463](https://redirect.github.com/anthropics/claude-code-action/issues/1463)) * [`beb753e`](anthropics/claude-code-action@beb753e) fix: propagate curl failures in install pipeline ([#1241](https://redirect.github.com/anthropics/claude-code-action/issues/1241)) * [`235b39b`](anthropics/claude-code-action@235b39b) fix: preserve repeated add-dir flags in claude args ([#1256](https://redirect.github.com/anthropics/claude-code-action/issues/1256)) * [`d060ddc`](anthropics/claude-code-action@d060ddc) fix(restore): handle symlinked CLAUDE.md paths during config snapshot ([#1441](https://redirect.github.com/anthropics/claude-code-action/issues/1441)) * [`0f07aee`](anthropics/claude-code-action@0f07aee) Use modern noreply email for co-author trailers ([#1369](https://redirect.github.com/anthropics/claude-code-action/issues/1369)) * [`a221ad2`](anthropics/claude-code-action@a221ad2) Drop buffered inline comment when it is posted live ([#1405](https://redirect.github.com/anthropics/claude-code-action/issues/1405)) ([#1412](https://redirect.github.com/anthropics/claude-code-action/issues/1412)) * See full diff in [compare view](anthropics/claude-code-action@558b1d6...ba0aafd) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Description:
Add a
set-defaultoption allowing to install an additional JDK without making it the default one.I have wanted this for quite a long time as I'm running custom GitHub Actions with Java, which might require a specific JDK and I don't want to pollute the JDK that is used by the overall workflow calling the action.
And I'm apparently not alone as there was a preexisting issue.
Related issue:
Fixes #560
Check list: