mirror of
https://github.com/actions/setup-java.git
synced 2026-07-08 08:11:09 +03:00
Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3849c25203 | |||
| bf1fdd3036 | |||
| f06e4b4fcd | |||
| 0f481fcb61 | |||
| c4922bf809 | |||
| 6657b99340 | |||
| a50fdccef1 | |||
| 77ee41d00e | |||
| 0765b158bf | |||
| c712b2fb55 | |||
| 733efaeaca | |||
| 6c4d4a5025 | |||
| 324b33387d | |||
| 2e73c8f8cd | |||
| b150355f04 | |||
| e9339ddc84 | |||
| bf1fac860b | |||
| aff09c2230 | |||
| c5f2f2ea96 | |||
| 623c707d77 | |||
| 1bcf9fb12c | |||
| fa2c6508d1 | |||
| 1d56e31dbb | |||
| 1d25252804 | |||
| 668c1ea991 | |||
| a9a46fbe09 |
@@ -5,5 +5,6 @@ Describe your changes.
|
|||||||
Add link to the related issue.
|
Add link to the related issue.
|
||||||
|
|
||||||
**Check list:**
|
**Check list:**
|
||||||
|
- [ ] Ran `npm run check` locally (format, lint, build, test) and all checks pass.
|
||||||
- [ ] Mark if documentation changes are required.
|
- [ ] Mark if documentation changes are required.
|
||||||
- [ ] Mark if tests were added or updated to cover the changes.
|
- [ ] Mark if tests were added or updated to cover the changes.
|
||||||
@@ -11,6 +11,9 @@ on:
|
|||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- '**.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-basic-validation:
|
call-basic-validation:
|
||||||
name: Basic validation
|
name: Basic validation
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ on:
|
|||||||
- '**.md'
|
- '**.md'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-check-dist:
|
call-check-dist:
|
||||||
name: Check dist/
|
name: Check dist/
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ on:
|
|||||||
schedule:
|
schedule:
|
||||||
- cron: '0 3 * * 0'
|
- cron: '0 3 * * 0'
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-codeQL-analysis:
|
call-codeQL-analysis:
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ on:
|
|||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- '**.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -25,6 +28,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for gradle
|
- name: Run setup-java with the cache for gradle
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -52,6 +57,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for gradle
|
- name: Run setup-java with the cache for gradle
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -77,6 +84,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for gradle
|
- name: Run setup-java with the cache for gradle
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ on:
|
|||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- '**.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -25,6 +28,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for gradle
|
- name: Run setup-java with the cache for gradle
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -51,6 +56,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for gradle
|
- name: Run setup-java with the cache for gradle
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -74,6 +81,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for maven
|
- name: Run setup-java with the cache for maven
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -98,6 +107,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for maven
|
- name: Run setup-java with the cache for maven
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -125,6 +136,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for sbt
|
- name: Run setup-java with the cache for sbt
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -175,6 +188,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run setup-java with the cache for sbt
|
- name: Run setup-java with the cache for sbt
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ on:
|
|||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- '**.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
setup-java-local-file-adopt:
|
setup-java-local-file-adopt:
|
||||||
name: Validate installation from local file Adopt
|
name: Validate installation from local file Adopt
|
||||||
@@ -22,6 +25,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Download Adopt OpenJDK file
|
- name: Download Adopt OpenJDK file
|
||||||
run: |
|
run: |
|
||||||
if ($IsLinux) {
|
if ($IsLinux) {
|
||||||
@@ -46,7 +51,9 @@ jobs:
|
|||||||
java-version: '11.0.0-ea'
|
java-version: '11.0.0-ea'
|
||||||
architecture: x64
|
architecture: x64
|
||||||
- name: Verify Java version
|
- name: Verify Java version
|
||||||
run: bash __tests__/verify-java.sh "11.0.10" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "11.0.10" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-local-file-zulu:
|
setup-java-local-file-zulu:
|
||||||
@@ -59,6 +66,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Download Zulu OpenJDK file
|
- name: Download Zulu OpenJDK file
|
||||||
run: |
|
run: |
|
||||||
if ($IsLinux) {
|
if ($IsLinux) {
|
||||||
@@ -83,7 +92,9 @@ jobs:
|
|||||||
java-version: '11.0.0-ea'
|
java-version: '11.0.0-ea'
|
||||||
architecture: x64
|
architecture: x64
|
||||||
- name: Verify Java version
|
- name: Verify Java version
|
||||||
run: bash __tests__/verify-java.sh "11.0" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "11.0" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-local-file-temurin:
|
setup-java-local-file-temurin:
|
||||||
@@ -96,6 +107,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Download Eclipse Temurin file
|
- name: Download Eclipse Temurin file
|
||||||
run: |
|
run: |
|
||||||
if ($IsLinux) {
|
if ($IsLinux) {
|
||||||
@@ -120,5 +133,7 @@ jobs:
|
|||||||
java-version: '11.0.0-ea'
|
java-version: '11.0.0-ea'
|
||||||
architecture: x64
|
architecture: x64
|
||||||
- name: Verify Java version
|
- name: Verify Java version
|
||||||
run: bash __tests__/verify-java.sh "11.0.12" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "11.0.12" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ on:
|
|||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- '**.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@@ -26,6 +29,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -61,6 +66,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Create fake settings.xml
|
- name: Create fake settings.xml
|
||||||
run: |
|
run: |
|
||||||
$xmlDirectory = Join-Path $HOME ".m2"
|
$xmlDirectory = Join-Path $HOME ".m2"
|
||||||
@@ -97,6 +104,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Create fake settings.xml
|
- name: Create fake settings.xml
|
||||||
run: |
|
run: |
|
||||||
$xmlDirectory = Join-Path $HOME ".m2"
|
$xmlDirectory = Join-Path $HOME ".m2"
|
||||||
@@ -134,6 +143,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
|||||||
@@ -13,9 +13,13 @@ on:
|
|||||||
schedule:
|
schedule:
|
||||||
- cron: '0 */12 * * *'
|
- cron: '0 */12 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
setup-java-major-versions:
|
setup-java-major-versions:
|
||||||
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ contains(matrix.os, 'macos') && !contains(matrix.os, 'intel') && 'arm64' || 'x64' }}) - ${{ matrix.os }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -32,7 +36,8 @@ jobs:
|
|||||||
'corretto',
|
'corretto',
|
||||||
'dragonwell',
|
'dragonwell',
|
||||||
'sapmachine',
|
'sapmachine',
|
||||||
'jetbrains'
|
'jetbrains',
|
||||||
|
'kona'
|
||||||
] # internally 'adopt-hotspot' is the same as 'adopt'
|
] # internally 'adopt-hotspot' is the same as 'adopt'
|
||||||
version: ['21', '11', '17']
|
version: ['21', '11', '17']
|
||||||
exclude:
|
exclude:
|
||||||
@@ -74,6 +79,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -83,14 +90,17 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-alpine-linux:
|
setup-java-alpine-linux:
|
||||||
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - alpine-linux - ${{ matrix.os }}
|
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ contains(matrix.os, 'macos') && !contains(matrix.os, 'intel') && 'arm64' || 'x64' }}) - alpine-linux - ${{ matrix.os }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
container:
|
container:
|
||||||
image: alpine:latest
|
image: alpine:3.21
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -100,6 +110,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Install bash
|
- name: Install bash
|
||||||
run: apk add --no-cache bash
|
run: apk add --no-cache bash
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
@@ -109,11 +121,14 @@ jobs:
|
|||||||
java-version: ${{ matrix.version }}
|
java-version: ${{ matrix.version }}
|
||||||
distribution: ${{ matrix.distribution }}
|
distribution: ${{ matrix.distribution }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-major-minor-versions:
|
setup-java-major-minor-versions:
|
||||||
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ contains(matrix.os, 'macos') && !contains(matrix.os, 'intel') && 'arm64' || 'x64' }}) - ${{ matrix.os }}
|
||||||
needs: setup-java-major-versions
|
needs: setup-java-major-versions
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
@@ -150,6 +165,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -157,10 +174,12 @@ jobs:
|
|||||||
java-version: ${{ matrix.version }}
|
java-version: ${{ matrix.version }}
|
||||||
distribution: ${{ matrix.distribution }}
|
distribution: ${{ matrix.distribution }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
setup-java-check-latest:
|
setup-java-check-latest:
|
||||||
name: ${{ matrix.distribution }} ${{ matrix.version }} - check-latest flag - ${{ matrix.os }}
|
name: ${{ matrix.distribution }} ${{ matrix.version }} - check-latest flag - ${{ matrix.os }}
|
||||||
@@ -185,6 +204,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -195,7 +216,9 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "11" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-multiple-jdks:
|
setup-java-multiple-jdks:
|
||||||
@@ -221,6 +244,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -245,11 +270,13 @@ jobs:
|
|||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "17" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "17" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-ea-versions-zulu:
|
setup-java-ea-versions-zulu:
|
||||||
name: zulu ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
name: zulu ${{ matrix.version }} (jdk-${{ contains(matrix.os, 'macos') && !contains(matrix.os, 'intel') && 'arm64' || 'x64' }}) - ${{ matrix.os }}
|
||||||
needs: setup-java-major-minor-versions
|
needs: setup-java-major-minor-versions
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
@@ -260,6 +287,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -267,11 +296,14 @@ jobs:
|
|||||||
java-version: ${{ matrix.version }}
|
java-version: ${{ matrix.version }}
|
||||||
distribution: zulu
|
distribution: zulu
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-ea-versions-temurin:
|
setup-java-ea-versions-temurin:
|
||||||
name: temurin ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
name: temurin ${{ matrix.version }} (jdk-${{ contains(matrix.os, 'macos') && !contains(matrix.os, 'intel') && 'arm64' || 'x64' }}) - ${{ matrix.os }}
|
||||||
needs: setup-java-major-minor-versions
|
needs: setup-java-major-minor-versions
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
@@ -282,6 +314,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -289,11 +323,70 @@ jobs:
|
|||||||
java-version: ${{ matrix.version }}
|
java-version: ${{ matrix.version }}
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-temurin-signature-verification:
|
||||||
|
name: temurin ${{ matrix.version }} signature verification - ${{ matrix.os }}
|
||||||
|
needs: setup-java-major-minor-versions
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
version: ['21', '17']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- name: setup-java with signature verification
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
java-version: ${{ matrix.version }}
|
||||||
|
distribution: temurin
|
||||||
|
verify-signature: true
|
||||||
|
- name: Verify Java
|
||||||
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-microsoft-signature-verification:
|
||||||
|
name: microsoft ${{ matrix.version }} signature verification - ${{ matrix.os }}
|
||||||
|
needs: setup-java-major-minor-versions
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
version: ['21', '17']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- name: setup-java with signature verification
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
java-version: ${{ matrix.version }}
|
||||||
|
distribution: microsoft
|
||||||
|
verify-signature: true
|
||||||
|
- name: Verify Java
|
||||||
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-ea-versions-sapmachine:
|
setup-java-ea-versions-sapmachine:
|
||||||
name: sapmachine ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
name: sapmachine ${{ matrix.version }} (jdk-${{ contains(matrix.os, 'macos') && !contains(matrix.os, 'intel') && 'arm64' || 'x64' }}) - ${{ matrix.os }}
|
||||||
needs: setup-java-major-minor-versions
|
needs: setup-java-major-minor-versions
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
@@ -304,6 +397,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -311,7 +406,10 @@ jobs:
|
|||||||
java-version: ${{ matrix.version }}
|
java-version: ${{ matrix.version }}
|
||||||
distribution: sapmachine
|
distribution: sapmachine
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-custom-package-type:
|
setup-java-custom-package-type:
|
||||||
@@ -391,6 +489,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -401,7 +501,10 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
# Only Liberica and Zulu provide x86
|
# Only Liberica and Zulu provide x86
|
||||||
@@ -419,6 +522,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
@@ -427,7 +532,10 @@ jobs:
|
|||||||
java-version: ${{ matrix.version }}
|
java-version: ${{ matrix.version }}
|
||||||
architecture: 'x86'
|
architecture: 'x86'
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_VERSION: ${{ matrix.version }}
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "$JAVA_VERSION" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-version-both-version-inputs-presents:
|
setup-java-version-both-version-inputs-presents:
|
||||||
@@ -442,6 +550,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Create .java-version file
|
- name: Create .java-version file
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "17" > .java-version
|
run: echo "17" > .java-version
|
||||||
@@ -456,7 +566,9 @@ jobs:
|
|||||||
java-version: 11
|
java-version: 11
|
||||||
java-version-file: ${{matrix.java-version-file }}
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "11" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-version-from-file-major-notation:
|
setup-java-version-from-file-major-notation:
|
||||||
@@ -471,6 +583,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Create .java-version file
|
- name: Create .java-version file
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "11" > .java-version
|
run: echo "11" > .java-version
|
||||||
@@ -484,7 +598,9 @@ jobs:
|
|||||||
distribution: ${{ matrix.distribution }}
|
distribution: ${{ matrix.distribution }}
|
||||||
java-version-file: ${{matrix.java-version-file }}
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "11" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-version-from-file-major-minor-patch-notation:
|
setup-java-version-from-file-major-minor-patch-notation:
|
||||||
@@ -499,6 +615,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Create .java-version file
|
- name: Create .java-version file
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "17.0.10" > .java-version
|
run: echo "17.0.10" > .java-version
|
||||||
@@ -512,7 +630,9 @@ jobs:
|
|||||||
distribution: ${{ matrix.distribution }}
|
distribution: ${{ matrix.distribution }}
|
||||||
java-version-file: ${{matrix.java-version-file }}
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "17.0.10" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "17.0.10" "$JAVA_PATH"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
setup-java-version-from-file-major-minor-patch-with-dist:
|
setup-java-version-from-file-major-minor-patch-with-dist:
|
||||||
@@ -527,6 +647,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Create .java-version file
|
- name: Create .java-version file
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "openjdk64-17.0.10" > .java-version
|
run: echo "openjdk64-17.0.10" > .java-version
|
||||||
@@ -543,5 +665,111 @@ jobs:
|
|||||||
distribution: ${{ matrix.distribution }}
|
distribution: ${{ matrix.distribution }}
|
||||||
java-version-file: ${{matrix.java-version-file }}
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
- name: Verify Java
|
- name: Verify Java
|
||||||
run: bash __tests__/verify-java.sh "17.0.10" "${{ steps.setup-java.outputs.path }}"
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "17.0.10" "$JAVA_PATH"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-version-from-file-with-inferred-dist:
|
||||||
|
name: distribution inferred from file '${{ matrix.java-version-file }}' - ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
java-version-file: ['.java-version', '.tool-versions']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- name: Create .java-version file
|
||||||
|
shell: bash
|
||||||
|
run: echo "temurin-17.0.10" > .java-version
|
||||||
|
- name: Create .tool-versions file
|
||||||
|
shell: bash
|
||||||
|
run: echo "java temurin-17.0.10" > .tool-versions
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
|
- name: Verify Java
|
||||||
|
env:
|
||||||
|
JAVA_PATH: ${{ steps.setup-java.outputs.path }}
|
||||||
|
run: bash __tests__/verify-java.sh "17.0.10" "$JAVA_PATH"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-set-default:
|
||||||
|
name: set-default option - ${{ matrix.os }}
|
||||||
|
needs: setup-java-major-versions
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
- name: Setup Java 17 as default
|
||||||
|
uses: ./
|
||||||
|
id: setup-java-17
|
||||||
|
with:
|
||||||
|
distribution: 'temurin'
|
||||||
|
java-version: '17'
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Setup Java 21 without setting as default
|
||||||
|
uses: ./
|
||||||
|
id: setup-java-21
|
||||||
|
with:
|
||||||
|
distribution: 'temurin'
|
||||||
|
java-version: '21'
|
||||||
|
set-default: false
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Verify JAVA_HOME still points to Java 17
|
||||||
|
run: |
|
||||||
|
echo "JAVA_HOME=$JAVA_HOME"
|
||||||
|
echo "Java 17 path=${{ steps.setup-java-17.outputs.path }}"
|
||||||
|
if [ "$JAVA_HOME" != "${{ steps.setup-java-17.outputs.path }}" ]; then
|
||||||
|
echo "JAVA_HOME should still point to Java 17"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
- name: Verify java -version reports Java 17
|
||||||
|
run: |
|
||||||
|
JAVA_VERSION=$(java -version 2>&1 | head -1)
|
||||||
|
echo "java -version: $JAVA_VERSION"
|
||||||
|
if ! echo "$JAVA_VERSION" | grep -q "17"; then
|
||||||
|
echo "Default java should still be version 17"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
- name: Verify JAVA_HOME_21 env var is set
|
||||||
|
run: |
|
||||||
|
$envName = "JAVA_HOME_21_${env:RUNNER_ARCH}"
|
||||||
|
$JavaVersionPath = [Environment]::GetEnvironmentVariable($envName)
|
||||||
|
if (-not $JavaVersionPath) {
|
||||||
|
Write-Host "$envName is not set"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
if (-not (Test-Path "$JavaVersionPath")) {
|
||||||
|
Write-Host "$envName path does not exist: $JavaVersionPath"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
Write-Host "$envName=$JavaVersionPath"
|
||||||
|
shell: pwsh
|
||||||
|
- name: Verify Java 21 outputs are set
|
||||||
|
run: |
|
||||||
|
echo "Java 21 path=${{ steps.setup-java-21.outputs.path }}"
|
||||||
|
echo "Java 21 version=${{ steps.setup-java-21.outputs.version }}"
|
||||||
|
if [ -z "${{ steps.setup-java-21.outputs.path }}" ]; then
|
||||||
|
echo "Java 21 path output should be set"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -z "${{ steps.setup-java-21.outputs.version }}" ]; then
|
||||||
|
echo "Java 21 version output should be set"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ on:
|
|||||||
- main
|
- main
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-licensed:
|
call-licensed:
|
||||||
name: Licensed
|
name: Licensed
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ on:
|
|||||||
types: [released]
|
types: [released]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -16,6 +18,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checking out
|
- name: Checking out
|
||||||
uses: actions/checkout@v7
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Publish
|
- name: Publish
|
||||||
id: publish
|
id: publish
|
||||||
uses: actions/publish-immutable-action@v0.0.4
|
uses: actions/publish-immutable-action@v0.0.4
|
||||||
|
|||||||
@@ -5,7 +5,12 @@ on:
|
|||||||
- cron: '0 3 * * 0'
|
- cron: '0 3 * * 0'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-update-configuration-files:
|
call-update-configuration-files:
|
||||||
name: Update configuration files
|
name: Update configuration files
|
||||||
|
permissions:
|
||||||
|
contents: write # to push the branch with updated configuration files
|
||||||
|
pull-requests: write # to open/update the configuration update PR
|
||||||
uses: actions/reusable-workflows/.github/workflows/update-config-files.yml@main
|
uses: actions/reusable-workflows/.github/workflows/update-config-files.yml@main
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
name: Security analysis with zizmor
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/*
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
zizmor:
|
||||||
|
name: Analyze workflows with zizmor
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write # to upload SARIF results to code scanning
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v7
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v6
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
|
||||||
|
- name: Install zizmor
|
||||||
|
run: pip install zizmor
|
||||||
|
|
||||||
|
- name: Run zizmor
|
||||||
|
run: zizmor --format sarif .github/workflows/ > zizmor.sarif
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Upload SARIF results to code scanning
|
||||||
|
if: always() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
|
||||||
|
uses: github/codeql-action/upload-sarif@v4
|
||||||
|
with:
|
||||||
|
sarif_file: zizmor.sarif
|
||||||
|
category: zizmor
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
# Configuration for zizmor (https://docs.zizmor.sh)
|
||||||
|
rules:
|
||||||
|
unpinned-uses:
|
||||||
|
config:
|
||||||
|
# First-party GitHub-maintained actions are trusted and referenced by
|
||||||
|
# major-version tags (the convention used across the actions org).
|
||||||
|
# Any third-party action must be pinned to a full commit SHA.
|
||||||
|
policies:
|
||||||
|
actions/*: ref-pin
|
||||||
|
github/*: ref-pin
|
||||||
|
'*': hash-pin
|
||||||
Executable
+1
@@ -0,0 +1 @@
|
|||||||
|
npx lint-staged
|
||||||
Executable
+1
@@ -0,0 +1 @@
|
|||||||
|
npm run build && npm test
|
||||||
@@ -29,9 +29,9 @@ For more details, see the full release notes on the [releases page](https://git
|
|||||||
|
|
||||||
- `java-version`: The Java version that is going to be set up. Takes a whole or [semver](#supported-version-syntax) Java version. If not specified, the action will expect `java-version-file` input to be specified.
|
- `java-version`: The Java version that is going to be set up. Takes a whole or [semver](#supported-version-syntax) Java version. If not specified, the action will expect `java-version-file` input to be specified.
|
||||||
|
|
||||||
- `java-version-file`: The path to a file containing java version. Supported file types are `.java-version` and `.tool-versions`. See more details in [about .java-version-file](docs/advanced-usage.md#Java-version-file).
|
- `java-version-file`: The path to a file containing java version. Supported file types are `.java-version`, `.tool-versions`, and `.sdkmanrc`. See more details in [about .java-version-file](docs/advanced-usage.md#Java-version-file).
|
||||||
|
|
||||||
- `distribution`: _(required)_ Java [distribution](#supported-distributions).
|
- `distribution`: Java [distribution](#supported-distributions). Required unless `java-version-file` specifies a recognized distribution, for example a `.sdkmanrc` distribution suffix (`java=21.0.5-tem`) or a `.java-version`/`.tool-versions` distribution prefix (`temurin-21.0.5`).
|
||||||
|
|
||||||
- `java-package`: The packaging variant of the chosen distribution. Possible values: `jdk`, `jre`, `jdk+fx`, `jre+fx`. Default value: `jdk`.
|
- `java-package`: The packaging variant of the chosen distribution. Possible values: `jdk`, `jre`, `jdk+fx`, `jre+fx`. Default value: `jdk`.
|
||||||
|
|
||||||
@@ -41,6 +41,12 @@ For more details, see the full release notes on the [releases page](https://git
|
|||||||
|
|
||||||
- `check-latest`: Setting this option makes the action to check for the latest available version for the version spec.
|
- `check-latest`: Setting this option makes the action to check for the latest available version for the version spec.
|
||||||
|
|
||||||
|
- `set-default`: Set to `false` to install a JDK without making it the default. When `false`, `JAVA_HOME` and `PATH` are not updated, but `JAVA_HOME_<major>_<arch>` is still set so the JDK remains discoverable. Default value: `true`. See [Installing JDK without setting as default](docs/advanced-usage.md#Installing-JDK-without-setting-as-default) for more details.
|
||||||
|
|
||||||
|
- `verify-signature`: Verifies downloaded Java package signatures when supported by the selected distribution. Currently supported for `temurin` and `microsoft`. If set to `true` for unsupported distributions, the action fails.
|
||||||
|
|
||||||
|
- `verify-signature-public-key`: ASCII-armored GPG public key used to verify the downloaded package signature. Overrides the default bundled key for the selected distribution.
|
||||||
|
|
||||||
- `cache`: Quick [setup caching](#caching-packages-dependencies) for the dependencies managed through one of the predefined package managers. It can be one of "maven", "gradle" or "sbt".
|
- `cache`: Quick [setup caching](#caching-packages-dependencies) for the dependencies managed through one of the predefined package managers. It can be one of "maven", "gradle" or "sbt".
|
||||||
|
|
||||||
- `cache-dependency-path`: The path to a dependency file: pom.xml, build.gradle, build.sbt, etc. This option can be used with the `cache` option. If this option is omitted, the action searches for the dependency file in the entire repository. This option supports wildcards and a list of file names for caching multiple dependencies.
|
- `cache-dependency-path`: The path to a dependency file: pom.xml, build.gradle, build.sbt, etc. This option can be used with the `cache` option. If this option is omitted, the action searches for the dependency file in the entire repository. This option supports wildcards and a list of file names for caching multiple dependencies.
|
||||||
@@ -112,7 +118,9 @@ Currently, the following distributions are supported:
|
|||||||
| `dragonwell` | [Alibaba Dragonwell JDK](https://dragonwell-jdk.io/) | [`dragonwell` license](https://www.aliyun.com/product/dragonwell/)
|
| `dragonwell` | [Alibaba Dragonwell JDK](https://dragonwell-jdk.io/) | [`dragonwell` license](https://www.aliyun.com/product/dragonwell/)
|
||||||
| `sapmachine` | [SAP SapMachine JDK/JRE](https://sapmachine.io/) | [`sapmachine` license](https://github.com/SAP/SapMachine/blob/sapmachine/LICENSE)
|
| `sapmachine` | [SAP SapMachine JDK/JRE](https://sapmachine.io/) | [`sapmachine` license](https://github.com/SAP/SapMachine/blob/sapmachine/LICENSE)
|
||||||
| `graalvm` | [Oracle GraalVM](https://www.graalvm.org/) | [`graalvm` license](https://www.oracle.com/downloads/licenses/graal-free-license.html)
|
| `graalvm` | [Oracle GraalVM](https://www.graalvm.org/) | [`graalvm` license](https://www.oracle.com/downloads/licenses/graal-free-license.html)
|
||||||
|
| `graalvm-community` | [GraalVM Community](https://github.com/graalvm/graalvm-ce-builds/releases) | [`graalvm-community` license](https://github.com/oracle/graal/blob/master/LICENSE)
|
||||||
| `jetbrains` | [JetBrains Runtime](https://github.com/JetBrains/JetBrainsRuntime/) | [`jetbrains` license](https://github.com/JetBrains/JetBrainsRuntime/blob/main/LICENSE)
|
| `jetbrains` | [JetBrains Runtime](https://github.com/JetBrains/JetBrainsRuntime/) | [`jetbrains` license](https://github.com/JetBrains/JetBrainsRuntime/blob/main/LICENSE)
|
||||||
|
| `kona` | [Tencent Kona JDK](https://tencent.github.io/konajdk/) | [`kona` license](https://tencent.github.io/konajdk/LICENSE.txt)
|
||||||
| `jdkfile` | Custom JDK Installation | |
|
| `jdkfile` | Custom JDK Installation | |
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
@@ -120,6 +128,7 @@ Currently, the following distributions are supported:
|
|||||||
> - AdoptOpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from `adopt` and `adopt-openj9`, to `temurin` and `semeru` respectively, to keep receiving software and security updates. See more details in the [Good-bye AdoptOpenJDK post](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/).
|
> - AdoptOpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from `adopt` and `adopt-openj9`, to `temurin` and `semeru` respectively, to keep receiving software and security updates. See more details in the [Good-bye AdoptOpenJDK post](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/).
|
||||||
> - For Azul Zulu OpenJDK architectures x64 and arm64 are mapped to x86 / arm with proper hw_bitness.
|
> - For Azul Zulu OpenJDK architectures x64 and arm64 are mapped to x86 / arm with proper hw_bitness.
|
||||||
> - To comply with the GraalVM Free Terms and Conditions (GFTC) license, it is recommended to use GraalVM JDK 17 version 17.0.12, as this is the only version of GraalVM JDK 17 available under the GFTC license. Additionally, it is encouraged to consider upgrading to GraalVM JDK 21, which offers the latest features and improvements.
|
> - To comply with the GraalVM Free Terms and Conditions (GFTC) license, it is recommended to use GraalVM JDK 17 version 17.0.12, as this is the only version of GraalVM JDK 17 available under the GFTC license. Additionally, it is encouraged to consider upgrading to GraalVM JDK 21, which offers the latest features and improvements.
|
||||||
|
> - GraalVM Community is available as `distribution: 'graalvm-community'` for stable JDK 17 and later releases published on GitHub.
|
||||||
|
|
||||||
**NOTE:** Oracle JDK 17 licensing varies by patch level. As shown on the [JDK 17 Archive](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) (versions up to 17.0.12 are under the [NFTC](https://www.oracle.com/downloads/licenses/no-fee-license.html) license) and the [JDK 17.0.13+ Archive](https://www.oracle.com/java/technologies/javase/jdk17-0-13-later-archive-downloads.html) (versions 17.0.13 and later are under the [OTN](https://www.oracle.com/downloads/licenses/javase-license1.html) license). To stay on the free NFTC license, use `distribution: 'oracle'` with `java-version: '17.0.12'` (or earlier) instead of the floating `'17'`. Alternatively, upgrade to Oracle JDK 21+, which remains under the NFTC license.
|
**NOTE:** Oracle JDK 17 licensing varies by patch level. As shown on the [JDK 17 Archive](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) (versions up to 17.0.12 are under the [NFTC](https://www.oracle.com/downloads/licenses/no-fee-license.html) license) and the [JDK 17.0.13+ Archive](https://www.oracle.com/java/technologies/javase/jdk17-0-13-later-archive-downloads.html) (versions 17.0.13 and later are under the [OTN](https://www.oracle.com/downloads/licenses/javase-license1.html) license). To stay on the free NFTC license, use `distribution: 'oracle'` with `java-version: '17.0.12'` (or earlier) instead of the floating `'17'`. Alternatively, upgrade to Oracle JDK 21+, which remains under the NFTC license.
|
||||||
|
|
||||||
@@ -138,6 +147,8 @@ The workflow output `cache-hit` is set to indicate if an exact match was found f
|
|||||||
|
|
||||||
The cache input is optional, and caching is turned off by default.
|
The cache input is optional, and caching is turned off by default.
|
||||||
|
|
||||||
|
**Maven Wrapper:** when `cache: 'maven'` is enabled, the action also caches and restores the Maven Wrapper distribution downloaded to `~/.m2/wrapper/dists` (in addition to the local repository), so wrapper-based (`./mvnw`) builds don't re-download the wrapper on every run. This is keyed on `**/.mvn/wrapper/maven-wrapper.properties` as shown above.
|
||||||
|
|
||||||
#### Caching gradle dependencies
|
#### Caching gradle dependencies
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
@@ -275,6 +286,7 @@ In the example above multiple JDKs are installed for the same job. The result af
|
|||||||
- [SapMachine](docs/advanced-usage.md#SapMachine)
|
- [SapMachine](docs/advanced-usage.md#SapMachine)
|
||||||
- [GraalVM](docs/advanced-usage.md#GraalVM)
|
- [GraalVM](docs/advanced-usage.md#GraalVM)
|
||||||
- [JetBrains](docs/advanced-usage.md#JetBrains)
|
- [JetBrains](docs/advanced-usage.md#JetBrains)
|
||||||
|
- [Tencent Kona](docs/advanced-usage.md#Tencent-Kona)
|
||||||
- [Installing custom Java package type](docs/advanced-usage.md#Installing-custom-Java-package-type)
|
- [Installing custom Java package type](docs/advanced-usage.md#Installing-custom-Java-package-type)
|
||||||
- [Installing custom Java architecture](docs/advanced-usage.md#Installing-custom-Java-architecture)
|
- [Installing custom Java architecture](docs/advanced-usage.md#Installing-custom-Java-architecture)
|
||||||
- [Installing custom Java distribution from local file](docs/advanced-usage.md#Installing-Java-from-local-file)
|
- [Installing custom Java distribution from local file](docs/advanced-usage.md#Installing-Java-from-local-file)
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ describe('auth tests', () => {
|
|||||||
const expectedSettings = `<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
const expectedSettings = `<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||||
|
<interactiveMode>false</interactiveMode>
|
||||||
<servers>
|
<servers>
|
||||||
<server>
|
<server>
|
||||||
<id>${id}</id>
|
<id>${id}</id>
|
||||||
@@ -181,6 +182,7 @@ describe('auth tests', () => {
|
|||||||
const expectedSettings = `<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
const expectedSettings = `<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||||
|
<interactiveMode>false</interactiveMode>
|
||||||
<servers>
|
<servers>
|
||||||
<server>
|
<server>
|
||||||
<id>${id}</id>
|
<id>${id}</id>
|
||||||
|
|||||||
@@ -0,0 +1,162 @@
|
|||||||
|
{
|
||||||
|
"8": [
|
||||||
|
{
|
||||||
|
"version": "8.0.20",
|
||||||
|
"jdkVersion": "8u432",
|
||||||
|
"latest": true,
|
||||||
|
"baseUrl": "https://github.com/Tencent/TencentKona-8/releases/download/8.0.20-GA/",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona8.0.20.b1_jdk_linux-aarch64_8u432.tar.gz",
|
||||||
|
"checksum": "8e6ab38b17f98d7ba727037cb49bbd174f3103a6ddacafb1fb7c0231006a80a7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona8.0.20.b1_jdk_linux-x86_64_8u432.tar.gz",
|
||||||
|
"checksum": "384cdb36b38993f4b7292682a5dfd8d5d33ba7bdbca2d95018d1341c792d2823"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona8.0.20.b1_jdk_macosx-aarch64_8u432_notarized.tar.gz",
|
||||||
|
"checksum": "829c46691a4b519f14fedfcdca32a94d7793d3570c4a51b3a5072cc394619f25"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona8.0.20.b1_jdk_macosx-x86_64_8u432_notarized.tar.gz",
|
||||||
|
"checksum": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "windows",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona8.0.20.b1_jdk_windows-x86_64_8u432_signed.zip",
|
||||||
|
"checksum": "339646817254dbcb5c17904807bbfdeafaa8e4bac9f2aae25434870cdeaba296"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"11": [
|
||||||
|
{
|
||||||
|
"version": "11.0.25",
|
||||||
|
"jdkVersion": "11.0.25",
|
||||||
|
"latest": true,
|
||||||
|
"baseUrl": "https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.25/",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona-11.0.25.b1-jdk_linux-aarch64.tar.gz",
|
||||||
|
"checksum": "887ca5eeb675dd9b9d22833a8b0c1031ee1a031227d6cf2d8c1920cc585d2b71"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-11.0.25.b1-jdk_linux-x86_64.tar.gz",
|
||||||
|
"checksum": "6642d7cccf98f33b3ec55cdbf77979c614f0d3cbbd282e8d0df52233edc52f9a"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona-11.0.25.b1_jdk_macosx-aarch64_notarized.tar.gz",
|
||||||
|
"checksum": "8f07242d3191a35c3b2fca1122f315518c7312f0155e98ac7ae39ea083f93e21"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-11.0.25.b1_jdk_macosx-x86_64_notarized.tar.gz",
|
||||||
|
"checksum": "0832b93d8d8122cb72db85321ddd85c9a6086e0f28327733fc2da3c0ecc9c455"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "windows",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-11.0.25.b1_jdk_windows-x86_64_signed.zip",
|
||||||
|
"checksum": "05c470c5da4b3bc1844117f611ecd241d3ae9e5d01c17ffafffde0f23825aad7"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"17": [
|
||||||
|
{
|
||||||
|
"version": "17.0.13",
|
||||||
|
"jdkVersion": "17.0.13",
|
||||||
|
"latest": true,
|
||||||
|
"baseUrl": "https://github.com/Tencent/TencentKona-17/releases/download/TencentKona-17.0.13/",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona-17.0.13.b1-jdk_linux-aarch64.tar.gz",
|
||||||
|
"checksum": "372411dff5b42f6e419f1dd40772d98141a15c3d180ed1af6f2b49bdbbd32d52"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-17.0.13.b1-jdk_linux-x86_64.tar.gz",
|
||||||
|
"checksum": "b54bb023d1187737b23ca34d0857d2d40822b14e38d28c7948c8ff6b5927e523"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona-17.0.13.b1_jdk_macosx-aarch64_notarized.tar.gz",
|
||||||
|
"checksum": "22f5d296c407fc137e6af9ce275e662346ca82f1a5acfc407247efd8cedf5256"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-17.0.13.b1_jdk_macosx-x86_64_notarized.tar.gz",
|
||||||
|
"checksum": "87ace41ac9718f2a9512b24bad0f735bc5ac61b8198b4cd5634199f124883b36"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "windows",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-17.0.13.b1_jdk_windows-x86_64_signed.zip",
|
||||||
|
"checksum": "616089018151e8e5daf8e88276063633a2cb28a718a2afce49bb8fc10541e83d"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"21": [
|
||||||
|
{
|
||||||
|
"version": "21.0.5",
|
||||||
|
"jdkVersion": "21.0.5",
|
||||||
|
"latest": true,
|
||||||
|
"baseUrl": "https://github.com/Tencent/TencentKona-21/releases/download/TencentKona-21.0.5/",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona-21.0.5.b1-jdk_linux-aarch64.tar.gz",
|
||||||
|
"checksum": "d8ca108147db3f19134d7aa995bac14e1fb3d124b0300a9a7893266a8f028104"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-21.0.5.b1-jdk_linux-x86_64.tar.gz",
|
||||||
|
"checksum": "afae039d9666fadcb84940c5350b29cd061019b0cc43700f0bf0342320892adf"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"filename": "TencentKona-21.0.5.b1_jdk_macosx-aarch64_notarized.tar.gz",
|
||||||
|
"checksum": "7621a218767bfbd3023b176dc6d9dd019677f8efec0d48a4eb2b2ed2b50bd1fb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "macos",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-21.0.5.b1_jdk_macosx-x86_64_notarized.tar.gz",
|
||||||
|
"checksum": "6c54d46f979ad998b708f664c5aeeeef855660ef527d584a7c2930951cca9999"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"os": "windows",
|
||||||
|
"arch": "x86_64",
|
||||||
|
"filename": "TencentKona-21.0.5.b1_jdk_windows-x86_64_signed.zip",
|
||||||
|
"checksum": "ee1ee730fc5e02268d91b9df602b65122dad25b3d3898069331ebc8338005da1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
7.0.352-zulu, 7.0.352
|
7.0.352-zulu, 7.0.352
|
||||||
8.0.282-trava, 8.0.282
|
8.0.282-trava, 8.0.282
|
||||||
8.0.432-albba, 8.0.432
|
8.0.432-albba, 8.0.432
|
||||||
8.0.432-amzn, 8.0.432
|
8.0.432-amzn, 8
|
||||||
8.0.432-kona, 8.0.432
|
8.0.432-kona, 8.0.432
|
||||||
8.0.432-librca, 8.0.432
|
8.0.432-librca, 8.0.432
|
||||||
8.0.432-sem, 8.0.432
|
8.0.432-sem, 8.0.432
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
8.0.432-zulu, 8.0.432
|
8.0.432-zulu, 8.0.432
|
||||||
8.0.432.fx-librca, 8.0.432
|
8.0.432.fx-librca, 8.0.432
|
||||||
8.0.432.fx-zulu, 8.0.432
|
8.0.432.fx-zulu, 8.0.432
|
||||||
8.0.442-amzn, 8.0.442
|
8.0.442-amzn, 8
|
||||||
8.0.442-librca, 8.0.442
|
8.0.442-librca, 8.0.442
|
||||||
8.0.442-tem, 8.0.442
|
8.0.442-tem, 8.0.442
|
||||||
8.0.442-zulu, 8.0.442
|
8.0.442-zulu, 8.0.442
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
11.0.14.1-jbr, 11.0.14
|
11.0.14.1-jbr, 11.0.14
|
||||||
11.0.15-trava, 11.0.15
|
11.0.15-trava, 11.0.15
|
||||||
11.0.25-albba, 11.0.25
|
11.0.25-albba, 11.0.25
|
||||||
11.0.25-amzn, 11.0.25
|
11.0.25-amzn, 11
|
||||||
11.0.25-kona, 11.0.25
|
11.0.25-kona, 11.0.25
|
||||||
11.0.25-librca, 11.0.25
|
11.0.25-librca, 11.0.25
|
||||||
11.0.25-ms, 11.0.25
|
11.0.25-ms, 11.0.25
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
11.0.25-zulu, 11.0.25
|
11.0.25-zulu, 11.0.25
|
||||||
11.0.25.fx-librca, 11.0.25
|
11.0.25.fx-librca, 11.0.25
|
||||||
11.0.25.fx-zulu, 11.0.25
|
11.0.25.fx-zulu, 11.0.25
|
||||||
11.0.26-amzn, 11.0.26
|
11.0.26-amzn, 11
|
||||||
11.0.26-librca, 11.0.26
|
11.0.26-librca, 11.0.26
|
||||||
11.0.26-ms, 11.0.26
|
11.0.26-ms, 11.0.26
|
||||||
11.0.26-sapmchn, 11.0.26
|
11.0.26-sapmchn, 11.0.26
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
17.0.12-jbr, 17.0.12
|
17.0.12-jbr, 17.0.12
|
||||||
17.0.12-oracle, 17.0.12
|
17.0.12-oracle, 17.0.12
|
||||||
17.0.13-albba, 17.0.13
|
17.0.13-albba, 17.0.13
|
||||||
17.0.13-amzn, 17.0.13
|
17.0.13-amzn, 17
|
||||||
17.0.13-kona, 17.0.13
|
17.0.13-kona, 17.0.13
|
||||||
17.0.13-librca, 17.0.13
|
17.0.13-librca, 17.0.13
|
||||||
17.0.13-ms, 17.0.13
|
17.0.13-ms, 17.0.13
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
17.0.13.crac-zulu, 17.0.13
|
17.0.13.crac-zulu, 17.0.13
|
||||||
17.0.13.fx-librca, 17.0.13
|
17.0.13.fx-librca, 17.0.13
|
||||||
17.0.13.fx-zulu, 17.0.13
|
17.0.13.fx-zulu, 17.0.13
|
||||||
17.0.14-amzn, 17.0.14
|
17.0.14-amzn, 17
|
||||||
17.0.14-librca, 17.0.14
|
17.0.14-librca, 17.0.14
|
||||||
17.0.14-ms, 17.0.14
|
17.0.14-ms, 17.0.14
|
||||||
17.0.14-sapmchn, 17.0.14
|
17.0.14-sapmchn, 17.0.14
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
17.0.9-graalce, 17.0.9
|
17.0.9-graalce, 17.0.9
|
||||||
21.0.2-graalce, 21.0.2
|
21.0.2-graalce, 21.0.2
|
||||||
21.0.2-open, 21.0.2
|
21.0.2-open, 21.0.2
|
||||||
21.0.5-amzn, 21.0.5
|
21.0.5-amzn, 21
|
||||||
21.0.5-graal, 21.0.5
|
21.0.5-graal, 21.0.5
|
||||||
21.0.5-jbr, 21.0.5
|
21.0.5-jbr, 21.0.5
|
||||||
21.0.5-kona, 21.0.5
|
21.0.5-kona, 21.0.5
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
21.0.5.crac-zulu, 21.0.5
|
21.0.5.crac-zulu, 21.0.5
|
||||||
21.0.5.fx-librca, 21.0.5
|
21.0.5.fx-librca, 21.0.5
|
||||||
21.0.5.fx-zulu, 21.0.5
|
21.0.5.fx-zulu, 21.0.5
|
||||||
21.0.6-amzn, 21.0.6
|
21.0.6-amzn, 21
|
||||||
21.0.6-graal, 21.0.6
|
21.0.6-graal, 21.0.6
|
||||||
21.0.6-librca, 21.0.6
|
21.0.6-librca, 21.0.6
|
||||||
21.0.6-ms, 21.0.6
|
21.0.6-ms, 21.0.6
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
22.3.5.r17-mandrel, 22.3.5
|
22.3.5.r17-mandrel, 22.3.5
|
||||||
22.3.5.r17-nik, 22.3.5
|
22.3.5.r17-nik, 22.3.5
|
||||||
23-open, 23
|
23-open, 23
|
||||||
23.0.1-amzn, 23.0.1
|
23.0.1-amzn, 23
|
||||||
23.0.1-graal, 23.0.1
|
23.0.1-graal, 23.0.1
|
||||||
23.0.1-graalce, 23.0.1
|
23.0.1-graalce, 23.0.1
|
||||||
23.0.1-librca, 23.0.1
|
23.0.1-librca, 23.0.1
|
||||||
@@ -106,7 +106,7 @@
|
|||||||
23.0.1.crac-zulu, 23.0.1
|
23.0.1.crac-zulu, 23.0.1
|
||||||
23.0.1.fx-librca, 23.0.1
|
23.0.1.fx-librca, 23.0.1
|
||||||
23.0.1.fx-zulu, 23.0.1
|
23.0.1.fx-zulu, 23.0.1
|
||||||
23.0.2-amzn, 23.0.2
|
23.0.2-amzn, 23
|
||||||
23.0.2-graal, 23.0.2
|
23.0.2-graal, 23.0.2
|
||||||
23.0.2-graalce, 23.0.2
|
23.0.2-graalce, 23.0.2
|
||||||
23.0.2-librca, 23.0.2
|
23.0.2-librca, 23.0.2
|
||||||
|
|||||||
|
+198
-99
@@ -15,7 +15,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz",
|
"link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz.json",
|
||||||
"name": "OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz",
|
"name": "OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz",
|
||||||
"size": 205463525
|
"size": 205463525,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-16.0.2+7_adopt",
|
"scm_ref": "jdk-16.0.2+7_adopt",
|
||||||
@@ -44,7 +45,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz",
|
"link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz.json",
|
||||||
"name": "OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz",
|
"name": "OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz",
|
||||||
"size": 206621395
|
"size": 206621395,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-16.0.2+7_adopt",
|
"scm_ref": "jdk-16.0.2+7_adopt",
|
||||||
@@ -73,7 +75,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_windows_hotspot_16.0.2_7.zip",
|
"link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_windows_hotspot_16.0.2_7.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_windows_hotspot_16.0.2_7.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_windows_hotspot_16.0.2_7.zip.json",
|
||||||
"name": "OpenJDK16U-jdk_x64_windows_hotspot_16.0.2_7.zip",
|
"name": "OpenJDK16U-jdk_x64_windows_hotspot_16.0.2_7.zip",
|
||||||
"size": 203448494
|
"size": 203448494,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_windows_hotspot_16.0.2_7.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-16.0.2+7_adopt",
|
"scm_ref": "jdk-16.0.2+7_adopt",
|
||||||
@@ -113,7 +116,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz",
|
"link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz.json",
|
||||||
"name": "OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz",
|
"name": "OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz",
|
||||||
"size": 102954777
|
"size": 102954777,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk8u302-b08",
|
"scm_ref": "jdk8u302-b08",
|
||||||
@@ -142,7 +146,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u302b08.tar.gz",
|
"link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u302b08.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u302b08.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u302b08.tar.gz.json",
|
||||||
"name": "OpenJDK8U-jdk_x64_mac_hotspot_8u302b08.tar.gz",
|
"name": "OpenJDK8U-jdk_x64_mac_hotspot_8u302b08.tar.gz",
|
||||||
"size": 107303398
|
"size": 107303398,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u302b08.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk8u302-b08",
|
"scm_ref": "jdk8u302-b08",
|
||||||
@@ -171,7 +176,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip",
|
"link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip.json",
|
||||||
"name": "OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip",
|
"name": "OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip",
|
||||||
"size": 104297671
|
"size": 104297671,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk8u302-b08",
|
"scm_ref": "jdk8u302-b08",
|
||||||
@@ -211,7 +217,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 188909250
|
"size": 188909250,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-16-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-16-ge39bf269d60",
|
||||||
@@ -240,7 +247,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 192952713
|
"size": 192952713,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
||||||
@@ -260,7 +268,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 188816971
|
"size": 188816971,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-16-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-16-ge39bf269d60",
|
||||||
@@ -280,7 +289,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 182299353
|
"size": 182299353,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
||||||
@@ -300,7 +310,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 187674392
|
"size": 187674392,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-46-gea8d2c72e83",
|
"scm_ref": "jdk-17+33_adopt-46-gea8d2c72e83",
|
||||||
@@ -320,7 +331,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 179501342
|
"size": 179501342,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-21-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-21-ge39bf269d60",
|
||||||
@@ -340,7 +352,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-29-23-34.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-29-23-34.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-29-23-34.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-29-23-34.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-29-23-34.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-29-23-34.tar.gz",
|
||||||
"size": 192126971
|
"size": 192126971,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-29-23-34.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
||||||
@@ -360,7 +373,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 192015878
|
"size": 192015878,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-21-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-21-ge39bf269d60",
|
||||||
@@ -389,7 +403,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-31-00-07.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-31-00-07.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-31-00-07.tar.gz",
|
||||||
"size": 192422068
|
"size": 192422068,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-31-00-07.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
||||||
@@ -418,7 +433,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-31-00-07.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-31-00-07.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-31-00-07.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-31-00-07.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-31-00-07.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-31-00-07.zip",
|
||||||
"size": 188694175
|
"size": 188694175,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-31-00-07.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
||||||
@@ -447,7 +463,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-31-00-07.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-31-00-07.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-31-00-07.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-31-00-07.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-31-00-07.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-31-00-07.zip",
|
||||||
"size": 184618115
|
"size": 184618115,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-31-00-07.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
"scm_ref": "jdk-17+33_adopt-219-ge39bf269d60",
|
||||||
@@ -489,7 +506,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-27-23-34.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-27-23-34.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-27-23-34.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-27-23-34.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-27-23-34.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-27-23-34.tar.gz",
|
||||||
"size": 192125161
|
"size": 192125161,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-31-00-07-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-27-23-34.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-242-gce1857dd7a1",
|
"scm_ref": "jdk-17+32_adopt-242-gce1857dd7a1",
|
||||||
@@ -531,7 +549,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 188911467
|
"size": 188911467,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-42-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-42-g4596b4e9d4e",
|
||||||
@@ -560,7 +579,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 192950510
|
"size": 192950510,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
||||||
@@ -580,7 +600,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 188815685
|
"size": 188815685,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-36-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-36-g4596b4e9d4e",
|
||||||
@@ -600,7 +621,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 182307654
|
"size": 182307654,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
||||||
@@ -620,7 +642,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 187698851
|
"size": 187698851,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-36-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-36-g4596b4e9d4e",
|
||||||
@@ -640,7 +663,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 179501218
|
"size": 179501218,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-40-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-40-g4596b4e9d4e",
|
||||||
@@ -660,7 +684,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-22-23-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-22-23-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-22-23-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-22-23-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-22-23-30.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-22-23-30.tar.gz",
|
||||||
"size": 192124471
|
"size": 192124471,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-22-23-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
||||||
@@ -680,7 +705,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 192015026
|
"size": 192015026,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-40-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-40-g4596b4e9d4e",
|
||||||
@@ -709,7 +735,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-23-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-23-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-23-03-09.tar.gz",
|
||||||
"size": 193003513
|
"size": 193003513,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-23-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
||||||
@@ -738,7 +765,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-23-03-09.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-23-03-09.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-23-03-09.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-23-03-09.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-23-03-09.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-23-03-09.zip",
|
||||||
"size": 188694996
|
"size": 188694996,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-23-03-09.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
||||||
@@ -767,7 +795,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-23-03-09.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-23-03-09.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-23-03-09.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-23-03-09.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-23-03-09.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-23-03-09.zip",
|
||||||
"size": 184626937
|
"size": 184626937,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-23-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-23-03-09.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
"scm_ref": "jdk-17+32_adopt-217-g4596b4e9d4e",
|
||||||
@@ -809,7 +838,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"size": 188891565
|
"size": 188891565,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-21-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "a342f28aaec",
|
"scm_ref": "a342f28aaec",
|
||||||
@@ -829,7 +859,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"size": 188790907
|
"size": 188790907,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-21-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "a342f28aaec",
|
"scm_ref": "a342f28aaec",
|
||||||
@@ -849,7 +880,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-21-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-21-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-21-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-21-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"size": 182276594
|
"size": 182276594,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-21-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
||||||
@@ -869,7 +901,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"size": 187678422
|
"size": 187678422,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-21-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-26-ga342f28aaec",
|
"scm_ref": "jdk-17+31_adopt-26-ga342f28aaec",
|
||||||
@@ -889,7 +922,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"size": 179475721
|
"size": 179475721,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-21-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-26-ga342f28aaec",
|
"scm_ref": "jdk-17+31_adopt-26-ga342f28aaec",
|
||||||
@@ -909,7 +943,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-20-23-34.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-20-23-34.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-20-23-34.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-20-23-34.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-20-23-34.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-20-23-34.tar.gz",
|
||||||
"size": 192104689
|
"size": 192104689,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-20-23-34.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
||||||
@@ -929,7 +964,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-21-03-09.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-21-03-09.tar.gz",
|
||||||
"size": 191982821
|
"size": 191982821,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-21-03-09.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "a342f28aaec",
|
"scm_ref": "a342f28aaec",
|
||||||
@@ -958,7 +994,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-21-03-09.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-21-03-09.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-21-03-09.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-21-03-09.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-21-03-09.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-21-03-09.zip",
|
||||||
"size": 188685330
|
"size": 188685330,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-21-03-09.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
||||||
@@ -987,7 +1024,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-21-03-09.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-21-03-09.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-21-03-09.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-21-03-09.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-21-03-09.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-21-03-09.zip",
|
||||||
"size": 184607457
|
"size": 184607457,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-21-03-09-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-21-03-09.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
"scm_ref": "jdk-17+31_adopt-191-ga342f28aaec",
|
||||||
@@ -1029,7 +1067,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"size": 188896773
|
"size": 188896773,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-16-10-58.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-14-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-14-g20418a26958",
|
||||||
@@ -1058,7 +1097,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-16-10-58.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-16-10-58.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-16-10-58.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-16-10-58.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"size": 192948484
|
"size": 192948484,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-16-10-58.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
||||||
@@ -1078,7 +1118,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"size": 188791964
|
"size": 188791964,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-16-10-58.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-14-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-14-g20418a26958",
|
||||||
@@ -1098,7 +1139,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-16-10-58.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-16-10-58.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-16-10-58.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-16-10-58.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"size": 182281944
|
"size": 182281944,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-16-10-58.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
||||||
@@ -1118,7 +1160,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"size": 187650365
|
"size": 187650365,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-16-10-58.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-23-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-23-g20418a26958",
|
||||||
@@ -1138,7 +1181,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"size": 179483622
|
"size": 179483622,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-16-10-58.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-55-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-55-g20418a26958",
|
||||||
@@ -1158,7 +1202,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-15-23-34.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-15-23-34.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-15-23-34.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-15-23-34.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-15-23-34.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-15-23-34.tar.gz",
|
||||||
"size": 192108731
|
"size": 192108731,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-15-23-34.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
||||||
@@ -1178,7 +1223,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-16-10-58.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-16-10-58.tar.gz",
|
||||||
"size": 191985123
|
"size": 191985123,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-16-10-58.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-14-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-14-g20418a26958",
|
||||||
@@ -1207,7 +1253,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-16-10-58.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-16-10-58.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-16-10-58.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-16-10-58.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-16-10-58.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-16-10-58.zip",
|
||||||
"size": 188688539
|
"size": 188688539,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-16-10-58.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
||||||
@@ -1236,7 +1283,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-16-10-58.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-16-10-58.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-16-10-58.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-16-10-58.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-16-10-58.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-16-10-58.zip",
|
||||||
"size": 184612045
|
"size": 184612045,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-16-10-58-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-16-10-58.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
"scm_ref": "jdk-17+31_adopt-179-g20418a26958",
|
||||||
@@ -1278,7 +1326,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"size": 188899456
|
"size": 188899456,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-14-11-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "ce22197617d",
|
"scm_ref": "ce22197617d",
|
||||||
@@ -1307,7 +1356,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-14-11-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-14-11-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"size": 192953428
|
"size": 192953428,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-14-11-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
||||||
@@ -1327,7 +1377,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"size": 188792852
|
"size": 188792852,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-14-11-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-66-gce22197617d",
|
"scm_ref": "jdk-17+30_adopt-66-gce22197617d",
|
||||||
@@ -1347,7 +1398,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"size": 187678600
|
"size": 187678600,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-14-11-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "ce22197617d",
|
"scm_ref": "ce22197617d",
|
||||||
@@ -1367,7 +1419,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"size": 179480996
|
"size": 179480996,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-14-11-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "ce22197617d",
|
"scm_ref": "ce22197617d",
|
||||||
@@ -1387,7 +1440,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-13-23-34.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-13-23-34.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-13-23-34.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-13-23-34.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-13-23-34.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-13-23-34.tar.gz",
|
||||||
"size": 192105446
|
"size": 192105446,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-13-23-34.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
||||||
@@ -1407,7 +1461,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-14-11-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"size": 191986856
|
"size": 191986856,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-14-11-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "ce22197617d",
|
"scm_ref": "ce22197617d",
|
||||||
@@ -1436,7 +1491,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-14-11-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-14-11-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-14-11-30.tar.gz",
|
||||||
"size": 192995067
|
"size": 192995067,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-14-11-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
||||||
@@ -1465,7 +1521,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-14-11-30.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-14-11-30.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-14-11-30.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-14-11-30.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-14-11-30.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-14-11-30.zip",
|
||||||
"size": 188686556
|
"size": 188686556,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-14-11-30.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
||||||
@@ -1494,7 +1551,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-14-11-30.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-14-11-30.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-14-11-30.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-14-11-30.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-14-11-30.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-14-11-30.zip",
|
||||||
"size": 184620492
|
"size": 184620492,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-14-11-30-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-14-11-30.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
"scm_ref": "jdk-17+30_adopt-200-gce22197617d",
|
||||||
@@ -1536,7 +1594,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 188896299
|
"size": 188896299,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
||||||
@@ -1565,7 +1624,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 192941671
|
"size": 192941671,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
||||||
@@ -1585,7 +1645,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 188838708
|
"size": 188838708,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-161-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-161-g3e7e5bc2003",
|
||||||
@@ -1605,7 +1666,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 182274073
|
"size": 182274073,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-40-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-40-g3e7e5bc2003",
|
||||||
@@ -1625,7 +1687,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 187666608
|
"size": 187666608,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-40-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-40-g3e7e5bc2003",
|
||||||
@@ -1645,7 +1708,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 179472325
|
"size": 179472325,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-30-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-30-g3e7e5bc2003",
|
||||||
@@ -1665,7 +1729,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-08-23-35.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-08-23-35.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-08-23-35.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-08-23-35.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-08-23-35.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-08-23-35.tar.gz",
|
||||||
"size": 192098387
|
"size": 192098387,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-08-23-35.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
||||||
@@ -1685,7 +1750,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 191983708
|
"size": 191983708,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
||||||
@@ -1714,7 +1780,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-09-12-54.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-09-12-54.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-09-12-54.tar.gz",
|
||||||
"size": 193004476
|
"size": 193004476,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-09-12-54.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
||||||
@@ -1743,7 +1810,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-09-12-54.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-09-12-54.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-09-12-54.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-09-12-54.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-09-12-54.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-09-12-54.zip",
|
||||||
"size": 188681640
|
"size": 188681640,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-09-12-54.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
||||||
@@ -1772,7 +1840,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-09-12-54.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-09-12-54.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-09-12-54.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-09-12-54.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-09-12-54.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-09-12-54.zip",
|
||||||
"size": 184605514
|
"size": 184605514,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-09-12-54-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-09-12-54.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
"scm_ref": "jdk-17+30_adopt-164-g3e7e5bc2003",
|
||||||
@@ -1823,7 +1892,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-07-11-35.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-07-11-35.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"size": 192962903
|
"size": 192962903,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-07-11-35.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
||||||
@@ -1843,7 +1913,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"size": 188800217
|
"size": 188800217,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-07-11-35.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "06428c22b61",
|
"scm_ref": "06428c22b61",
|
||||||
@@ -1863,7 +1934,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"size": 187663978
|
"size": 187663978,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-07-11-35.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-78-g06428c22b61",
|
"scm_ref": "jdk-17+29_adopt-78-g06428c22b61",
|
||||||
@@ -1883,7 +1955,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"size": 179496669
|
"size": 179496669,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-07-11-35.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-78-g06428c22b61",
|
"scm_ref": "jdk-17+29_adopt-78-g06428c22b61",
|
||||||
@@ -1903,7 +1976,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-06-23-34.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-06-23-34.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-06-23-34.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-06-23-34.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-06-23-34.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-06-23-34.tar.gz",
|
||||||
"size": 192113242
|
"size": 192113242,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-06-23-34.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
||||||
@@ -1923,7 +1997,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-07-11-35.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-07-11-35.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"size": 192021951
|
"size": 192021951,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-07-11-35.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
||||||
@@ -1952,7 +2027,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-07-11-35.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-07-11-35.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-07-11-35.tar.gz",
|
||||||
"size": 193018554
|
"size": 193018554,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-07-11-35.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
||||||
@@ -1981,7 +2057,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-07-11-35.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-07-11-35.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-07-11-35.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-07-11-35.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-07-11-35.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-07-11-35.zip",
|
||||||
"size": 188702463
|
"size": 188702463,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-07-11-35-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-07-11-35.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
"scm_ref": "jdk-17+29_adopt-172-g06428c22b61",
|
||||||
@@ -2023,7 +2100,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 188953178
|
"size": 188953178,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2052,7 +2130,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 192957934
|
"size": 192957934,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2072,7 +2151,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 188797466
|
"size": 188797466,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-43-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-43-g6d3debb5c12",
|
||||||
@@ -2092,7 +2172,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 182292580
|
"size": 182292580,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2112,7 +2193,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 187684930
|
"size": 187684930,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-64-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-64-g6d3debb5c12",
|
||||||
@@ -2132,7 +2214,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 179484390
|
"size": 179484390,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-54-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-54-g6d3debb5c12",
|
||||||
@@ -2152,7 +2235,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-01-23-30.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-01-23-30.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-01-23-30.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-01-23-30.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-01-23-30.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-01-23-30.tar.gz",
|
||||||
"size": 192114561
|
"size": 192114561,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-07-01-23-30.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2172,7 +2256,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 192014644
|
"size": 192014644,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2201,7 +2286,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-02-12-00.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-02-12-00.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-07-02-12-00.tar.gz",
|
||||||
"size": 192425033
|
"size": 192425033,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-07-02-12-00.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2230,7 +2316,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-02-12-00.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-02-12-00.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-02-12-00.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-02-12-00.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-02-12-00.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-07-02-12-00.zip",
|
||||||
"size": 188697393
|
"size": 188697393,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-07-02-12-00.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2259,7 +2346,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-02-12-00.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-02-12-00.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-02-12-00.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-02-12-00.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-02-12-00.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-02-12-00.zip",
|
||||||
"size": 184618232
|
"size": 184618232,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-07-02-12-00-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-07-02-12-00.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
"scm_ref": "jdk-17+29_adopt-138-g6d3debb5c12",
|
||||||
@@ -2301,7 +2389,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 188940191
|
"size": 188940191,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_linux_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
||||||
@@ -2330,7 +2419,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_aarch64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 192953718
|
"size": 192953718,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_aarch64_mac_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
||||||
@@ -2350,7 +2440,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_arm_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 188795343
|
"size": 188795343,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_arm_linux_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "0fe0d0825e7",
|
"scm_ref": "0fe0d0825e7",
|
||||||
@@ -2370,7 +2461,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64_aix_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 182285782
|
"size": 182285782,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64_aix_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "0fe0d0825e7",
|
"scm_ref": "0fe0d0825e7",
|
||||||
@@ -2390,7 +2482,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_ppc64le_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 187652430
|
"size": 187652430,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_ppc64le_linux_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "0fe0d0825e7",
|
"scm_ref": "0fe0d0825e7",
|
||||||
@@ -2410,7 +2503,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_s390x_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 179489547
|
"size": 179489547,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_s390x_linux_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "0fe0d0825e7",
|
"scm_ref": "0fe0d0825e7",
|
||||||
@@ -2430,7 +2524,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-06-29-23-33.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-06-29-23-33.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-06-29-23-33.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-06-29-23-33.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-06-29-23-33.tar.gz",
|
"name": "OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-06-29-23-33.tar.gz",
|
||||||
"size": 192109453
|
"size": 192109453,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_alpine-linux_hotspot_2021-06-29-23-33.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
||||||
@@ -2450,7 +2545,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_x64_linux_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 192013559
|
"size": 192013559,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_linux_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
||||||
@@ -2479,7 +2575,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-06-30-09-16.tar.gz.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-06-30-09-16.tar.gz.json",
|
||||||
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
"name": "OpenJDK17-jdk_x64_mac_hotspot_2021-06-30-09-16.tar.gz",
|
||||||
"size": 192419518
|
"size": 192419518,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_mac_hotspot_2021-06-30-09-16.tar.gz.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
||||||
@@ -2508,7 +2605,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-06-30-09-16.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-06-30-09-16.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-06-30-09-16.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-06-30-09-16.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-06-30-09-16.zip",
|
"name": "OpenJDK17-jdk_x64_windows_hotspot_2021-06-30-09-16.zip",
|
||||||
"size": 188672489
|
"size": 188672489,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x64_windows_hotspot_2021-06-30-09-16.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
"scm_ref": "jdk-17+28_adopt-130-g0fe0d0825e7",
|
||||||
@@ -2537,7 +2635,8 @@
|
|||||||
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-06-30-09-16.zip",
|
"link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-06-30-09-16.zip",
|
||||||
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-06-30-09-16.zip.json",
|
"metadata_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-06-30-09-16.zip.json",
|
||||||
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-06-30-09-16.zip",
|
"name": "OpenJDK17-jdk_x86-32_windows_hotspot_2021-06-30-09-16.zip",
|
||||||
"size": 184626094
|
"size": 184626094,
|
||||||
|
"signature_link": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk17-2021-06-30-09-16-beta/OpenJDK17-jdk_x86-32_windows_hotspot_2021-06-30-09-16.zip.sig"
|
||||||
},
|
},
|
||||||
"project": "jdk",
|
"project": "jdk",
|
||||||
"scm_ref": "jdk-17+28_adopt-132-g23fbf51b850",
|
"scm_ref": "jdk-17+28_adopt-132-g23fbf51b850",
|
||||||
|
|||||||
@@ -464,6 +464,24 @@ describe('setupJava', () => {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
it('should fail when verify-signature is enabled for unsupported distributions', async () => {
|
||||||
|
mockJavaBase = new EmptyJavaBase({
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
verifySignature: true
|
||||||
|
});
|
||||||
|
|
||||||
|
await expect(mockJavaBase.setupJava()).rejects.toThrow(
|
||||||
|
"Input 'verify-signature' is not supported for distribution 'Empty'."
|
||||||
|
);
|
||||||
|
expect(spyTcFindAllVersions).not.toHaveBeenCalled();
|
||||||
|
expect(spyCoreAddPath).not.toHaveBeenCalled();
|
||||||
|
expect(spyCoreExportVariable).not.toHaveBeenCalled();
|
||||||
|
expect(spyCoreSetOutput).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@@ -545,6 +563,110 @@ describe('setupJava', () => {
|
|||||||
expect(spyCoreExportVariable).not.toHaveBeenCalled();
|
expect(spyCoreExportVariable).not.toHaveBeenCalled();
|
||||||
expect(spyCoreSetOutput).not.toHaveBeenCalled();
|
expect(spyCoreSetOutput).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should not set JAVA_HOME and PATH when setDefault is false', async () => {
|
||||||
|
mockJavaBase = new EmptyJavaBase({
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
setDefault: false
|
||||||
|
});
|
||||||
|
await expect(mockJavaBase.setupJava()).resolves.toEqual({
|
||||||
|
version: installedJavaVersion,
|
||||||
|
path: javaPath
|
||||||
|
});
|
||||||
|
expect(spyCoreExportVariable).not.toHaveBeenCalledWith(
|
||||||
|
'JAVA_HOME',
|
||||||
|
expect.anything()
|
||||||
|
);
|
||||||
|
expect(spyCoreAddPath).not.toHaveBeenCalled();
|
||||||
|
expect(spyCoreExportVariable).toHaveBeenCalledWith(
|
||||||
|
'JAVA_HOME_11_X86',
|
||||||
|
javaPath
|
||||||
|
);
|
||||||
|
expect(spyCoreSetOutput).toHaveBeenCalledWith(
|
||||||
|
'version',
|
||||||
|
installedJavaVersion
|
||||||
|
);
|
||||||
|
expect(spyCoreSetOutput).toHaveBeenCalledWith('path', javaPath);
|
||||||
|
expect(spyCoreSetOutput).toHaveBeenCalledWith('distribution', 'Empty');
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Installing Java ${installedJavaVersion} (not setting as default)`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should set JAVA_HOME and PATH when setDefault is true', async () => {
|
||||||
|
mockJavaBase = new EmptyJavaBase({
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
setDefault: true
|
||||||
|
});
|
||||||
|
await expect(mockJavaBase.setupJava()).resolves.toEqual({
|
||||||
|
version: installedJavaVersion,
|
||||||
|
path: javaPath
|
||||||
|
});
|
||||||
|
expect(spyCoreExportVariable).toHaveBeenCalledWith('JAVA_HOME', javaPath);
|
||||||
|
expect(spyCoreAddPath).toHaveBeenCalledWith(path.join(javaPath, 'bin'));
|
||||||
|
expect(spyCoreExportVariable).toHaveBeenCalledWith(
|
||||||
|
'JAVA_HOME_11_X86',
|
||||||
|
javaPath
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Setting Java ${installedJavaVersion} as the default`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should default to setting as default when setDefault is not specified', async () => {
|
||||||
|
mockJavaBase = new EmptyJavaBase({
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
await expect(mockJavaBase.setupJava()).resolves.toEqual({
|
||||||
|
version: installedJavaVersion,
|
||||||
|
path: javaPath
|
||||||
|
});
|
||||||
|
expect(spyCoreExportVariable).toHaveBeenCalledWith('JAVA_HOME', javaPath);
|
||||||
|
expect(spyCoreAddPath).toHaveBeenCalledWith(path.join(javaPath, 'bin'));
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Setting Java ${installedJavaVersion} as the default`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should download and not set default when setDefault is false', async () => {
|
||||||
|
mockJavaBase = new EmptyJavaBase({
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
setDefault: false
|
||||||
|
});
|
||||||
|
await expect(mockJavaBase.setupJava()).resolves.toEqual({
|
||||||
|
version: '11.0.9',
|
||||||
|
path: path.join('toolcache', 'Java_Empty_jdk', '11.0.9', 'x64')
|
||||||
|
});
|
||||||
|
expect(spyCoreExportVariable).not.toHaveBeenCalledWith(
|
||||||
|
'JAVA_HOME',
|
||||||
|
expect.anything()
|
||||||
|
);
|
||||||
|
expect(spyCoreAddPath).not.toHaveBeenCalled();
|
||||||
|
expect(spyCoreExportVariable).toHaveBeenCalledWith(
|
||||||
|
'JAVA_HOME_11_X64',
|
||||||
|
path.join('toolcache', 'Java_Empty_jdk', '11.0.9', 'x64')
|
||||||
|
);
|
||||||
|
expect(spyCoreSetOutput).toHaveBeenCalledWith('version', '11.0.9');
|
||||||
|
expect(spyCoreSetOutput).toHaveBeenCalledWith(
|
||||||
|
'path',
|
||||||
|
path.join('toolcache', 'Java_Empty_jdk', '11.0.9', 'x64')
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
'Installing Java 11.0.9 (not setting as default)'
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('normalizeVersion', () => {
|
describe('normalizeVersion', () => {
|
||||||
|
|||||||
@@ -3,7 +3,11 @@ import * as tc from '@actions/tool-cache';
|
|||||||
import * as http from '@actions/http-client';
|
import * as http from '@actions/http-client';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import {GraalVMDistribution} from '../../src/distributions/graalvm/installer';
|
import {
|
||||||
|
GraalVMCommunityDistribution,
|
||||||
|
GraalVMDistribution
|
||||||
|
} from '../../src/distributions/graalvm/installer';
|
||||||
|
import {getJavaDistribution} from '../../src/distributions/distribution-factory';
|
||||||
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
||||||
import * as util from '../../src/util';
|
import * as util from '../../src/util';
|
||||||
|
|
||||||
@@ -41,6 +45,7 @@ beforeAll(() => {
|
|||||||
|
|
||||||
describe('GraalVMDistribution', () => {
|
describe('GraalVMDistribution', () => {
|
||||||
let distribution: GraalVMDistribution;
|
let distribution: GraalVMDistribution;
|
||||||
|
let communityDistribution: GraalVMCommunityDistribution;
|
||||||
let mockHttpClient: jest.Mocked<http.HttpClient>;
|
let mockHttpClient: jest.Mocked<http.HttpClient>;
|
||||||
let spyCoreError: jest.SpyInstance;
|
let spyCoreError: jest.SpyInstance;
|
||||||
|
|
||||||
@@ -55,9 +60,11 @@ describe('GraalVMDistribution', () => {
|
|||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
|
||||||
distribution = new GraalVMDistribution(defaultOptions);
|
distribution = new GraalVMDistribution(defaultOptions);
|
||||||
|
communityDistribution = new GraalVMCommunityDistribution(defaultOptions);
|
||||||
|
|
||||||
mockHttpClient = new http.HttpClient() as jest.Mocked<http.HttpClient>;
|
mockHttpClient = new http.HttpClient() as jest.Mocked<http.HttpClient>;
|
||||||
(distribution as any).http = mockHttpClient;
|
(distribution as any).http = mockHttpClient;
|
||||||
|
(communityDistribution as any).http = mockHttpClient;
|
||||||
|
|
||||||
(util.getDownloadArchiveExtension as jest.Mock).mockReturnValue('tar.gz');
|
(util.getDownloadArchiveExtension as jest.Mock).mockReturnValue('tar.gz');
|
||||||
|
|
||||||
@@ -242,6 +249,23 @@ describe('GraalVMDistribution', () => {
|
|||||||
path: '/cached/java/path'
|
path: '/cached/java/path'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should use a dedicated toolcache folder for GraalVM Community', async () => {
|
||||||
|
const result = await (communityDistribution as any).downloadTool(
|
||||||
|
javaRelease
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(tc.cacheDir).toHaveBeenCalledWith(
|
||||||
|
path.join('/tmp/extracted', 'graalvm-jdk-17.0.5'),
|
||||||
|
'Java_GraalVM_Community_jdk',
|
||||||
|
'17.0.5',
|
||||||
|
'x64'
|
||||||
|
);
|
||||||
|
expect(result).toEqual({
|
||||||
|
version: '17.0.5',
|
||||||
|
path: '/cached/java/path'
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('findPackageForDownload', () => {
|
describe('findPackageForDownload', () => {
|
||||||
@@ -948,5 +972,121 @@ describe('GraalVMDistribution', () => {
|
|||||||
configurable: true
|
configurable: true
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('GraalVMCommunityDistribution', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
jest
|
||||||
|
.spyOn(communityDistribution, 'getPlatform')
|
||||||
|
.mockReturnValue('linux');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should resolve an exact GraalVM Community version from GitHub releases', async () => {
|
||||||
|
mockHttpClient.getJson.mockResolvedValue({
|
||||||
|
result: [
|
||||||
|
{
|
||||||
|
draft: false,
|
||||||
|
prerelease: false,
|
||||||
|
assets: [
|
||||||
|
{
|
||||||
|
name: 'graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz',
|
||||||
|
browser_download_url:
|
||||||
|
'https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.2/graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {}
|
||||||
|
});
|
||||||
|
|
||||||
|
const result = await (
|
||||||
|
communityDistribution as any
|
||||||
|
).findPackageForDownload('21.0.2');
|
||||||
|
|
||||||
|
expect(result).toEqual({
|
||||||
|
url: 'https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.2/graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz',
|
||||||
|
version: '21.0.2'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should resolve the latest GraalVM Community release for a major version', async () => {
|
||||||
|
mockHttpClient.getJson.mockResolvedValue({
|
||||||
|
result: [
|
||||||
|
{
|
||||||
|
draft: false,
|
||||||
|
prerelease: false,
|
||||||
|
assets: [
|
||||||
|
{
|
||||||
|
name: 'graalvm-community-jdk-21.0.1_linux-x64_bin.tar.gz',
|
||||||
|
browser_download_url:
|
||||||
|
'https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.1/graalvm-community-jdk-21.0.1_linux-x64_bin.tar.gz'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
draft: false,
|
||||||
|
prerelease: false,
|
||||||
|
assets: [
|
||||||
|
{
|
||||||
|
name: 'graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz',
|
||||||
|
browser_download_url:
|
||||||
|
'https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.2/graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {}
|
||||||
|
});
|
||||||
|
|
||||||
|
const result = await (
|
||||||
|
communityDistribution as any
|
||||||
|
).findPackageForDownload('21');
|
||||||
|
|
||||||
|
expect(result).toEqual({
|
||||||
|
url: 'https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.2/graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz',
|
||||||
|
version: '21.0.2'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should reject GraalVM Community early access requests', async () => {
|
||||||
|
(communityDistribution as any).stable = false;
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
(communityDistribution as any).findPackageForDownload('23')
|
||||||
|
).rejects.toThrow(
|
||||||
|
'GraalVM Community does not provide early access builds'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should surface an error when the releases listing is not an array', async () => {
|
||||||
|
mockHttpClient.getJson.mockResolvedValue({
|
||||||
|
result: {message: 'API rate limit exceeded'},
|
||||||
|
statusCode: 403,
|
||||||
|
headers: {}
|
||||||
|
});
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
(communityDistribution as any).findPackageForDownload('21')
|
||||||
|
).rejects.toThrow(
|
||||||
|
/Unexpected response while listing GraalVM Community releases.*HTTP status code: 403/s
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('distribution factory', () => {
|
||||||
|
const defaultOptions: JavaInstallerOptions = {
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
};
|
||||||
|
|
||||||
|
it('should map graalvm-community to the community installer', () => {
|
||||||
|
const community = getJavaDistribution('graalvm-community', defaultOptions);
|
||||||
|
|
||||||
|
expect(community).toBeInstanceOf(GraalVMCommunityDistribution);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -87,10 +87,26 @@ describe('findPackageForDownload', () => {
|
|||||||
const url = resolvedVersion.url;
|
const url = resolvedVersion.url;
|
||||||
const options = {method: 'HEAD'};
|
const options = {method: 'HEAD'};
|
||||||
|
|
||||||
https.request(url, options, res => {
|
await new Promise<void>((resolve, reject) => {
|
||||||
// JetBrains uses 403 for inexistent packages
|
const request = https.request(url, options, res => {
|
||||||
expect(res.statusCode).not.toBe(403);
|
let assertionError: unknown;
|
||||||
res.resume();
|
|
||||||
|
try {
|
||||||
|
// JetBrains uses 403 for non-existent packages
|
||||||
|
expect(res.statusCode).not.toBe(403);
|
||||||
|
} catch (error) {
|
||||||
|
assertionError = error;
|
||||||
|
}
|
||||||
|
|
||||||
|
res.resume();
|
||||||
|
res.once('error', reject);
|
||||||
|
res.once('end', () =>
|
||||||
|
assertionError ? reject(assertionError as Error) : resolve()
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
request.on('error', reject);
|
||||||
|
request.end();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -0,0 +1,223 @@
|
|||||||
|
import {KonaDistribution} from '../../src/distributions/kona/installer';
|
||||||
|
|
||||||
|
import manifestData from '../data/kona.json';
|
||||||
|
|
||||||
|
function mockDistr(
|
||||||
|
version: string,
|
||||||
|
os: string,
|
||||||
|
arch: string,
|
||||||
|
packageType: string
|
||||||
|
): KonaDistribution {
|
||||||
|
const distribution = new KonaDistribution({
|
||||||
|
version: version,
|
||||||
|
architecture: arch,
|
||||||
|
packageType: packageType,
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
|
||||||
|
distribution['getOs'] = () => os;
|
||||||
|
distribution['fetchReleaseInfo'] = async () => manifestData;
|
||||||
|
|
||||||
|
return distribution;
|
||||||
|
}
|
||||||
|
|
||||||
|
describe('Check getAvailableReleases', () => {
|
||||||
|
it.each([
|
||||||
|
['8', 'linux', 'aarch64', 'linux-aarch64'],
|
||||||
|
['8.0.20', 'macos', 'x86_64', 'macosx-x86_64'],
|
||||||
|
['11', 'linux', 'x86_64', 'linux-x86_64'],
|
||||||
|
['11.0.25', 'macos', 'aarch64', 'macosx-aarch64'],
|
||||||
|
['17.0.13', 'windows', 'x86_64', 'windows-x86_64'],
|
||||||
|
['21.0.5', 'linux', 'x86_64', 'linux-x86_64']
|
||||||
|
])(
|
||||||
|
'should get releases with the specified version "%s", OS "%s" and arch "%s"',
|
||||||
|
async (
|
||||||
|
version: string,
|
||||||
|
os: string,
|
||||||
|
arch: string,
|
||||||
|
expectedPattern: string
|
||||||
|
) => {
|
||||||
|
const distribution = mockDistr(version, os, arch, 'jdk');
|
||||||
|
|
||||||
|
const releases = await distribution['getAvailableReleases']();
|
||||||
|
expect(releases).not.toBeNull();
|
||||||
|
expect(releases.length).toBe(4);
|
||||||
|
releases.forEach(release =>
|
||||||
|
expect(release.downloadUrl).toContain(expectedPattern)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Check findPackageForDownload', () => {
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
'8',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-8/releases/download/8.0.20-GA/TencentKona8.0.20.b1_jdk_linux-aarch64_8u432.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8.0.20',
|
||||||
|
'linux',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-8/releases/download/8.0.20-GA/TencentKona8.0.20.b1_jdk_linux-x86_64_8u432.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8.0.20',
|
||||||
|
'macos',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-8/releases/download/8.0.20-GA/TencentKona8.0.20.b1_jdk_macosx-aarch64_8u432_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8.0.20',
|
||||||
|
'macos',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-8/releases/download/8.0.20-GA/TencentKona8.0.20.b1_jdk_macosx-x86_64_8u432_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8.0.20',
|
||||||
|
'windows',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-8/releases/download/8.0.20-GA/TencentKona8.0.20.b1_jdk_windows-x86_64_8u432_signed.zip'
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.25/TencentKona-11.0.25.b1-jdk_linux-aarch64.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11.0.25',
|
||||||
|
'linux',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.25/TencentKona-11.0.25.b1-jdk_linux-x86_64.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11.0.25',
|
||||||
|
'macos',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.25/TencentKona-11.0.25.b1_jdk_macosx-aarch64_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11.0.25',
|
||||||
|
'macos',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.25/TencentKona-11.0.25.b1_jdk_macosx-x86_64_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11.0.25',
|
||||||
|
'windows',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.25/TencentKona-11.0.25.b1_jdk_windows-x86_64_signed.zip'
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
'17',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-17/releases/download/TencentKona-17.0.13/TencentKona-17.0.13.b1-jdk_linux-aarch64.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17.0.13',
|
||||||
|
'linux',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-17/releases/download/TencentKona-17.0.13/TencentKona-17.0.13.b1-jdk_linux-x86_64.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17.0.13',
|
||||||
|
'macos',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-17/releases/download/TencentKona-17.0.13/TencentKona-17.0.13.b1_jdk_macosx-aarch64_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17.0.13',
|
||||||
|
'macos',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-17/releases/download/TencentKona-17.0.13/TencentKona-17.0.13.b1_jdk_macosx-x86_64_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17.0.13',
|
||||||
|
'windows',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-17/releases/download/TencentKona-17.0.13/TencentKona-17.0.13.b1_jdk_windows-x86_64_signed.zip'
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
'21',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-21/releases/download/TencentKona-21.0.5/TencentKona-21.0.5.b1-jdk_linux-aarch64.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21.0.5',
|
||||||
|
'linux',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-21/releases/download/TencentKona-21.0.5/TencentKona-21.0.5.b1-jdk_linux-x86_64.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21.0.5',
|
||||||
|
'macos',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/Tencent/TencentKona-21/releases/download/TencentKona-21.0.5/TencentKona-21.0.5.b1_jdk_macosx-aarch64_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21.0.5',
|
||||||
|
'macos',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-21/releases/download/TencentKona-21.0.5/TencentKona-21.0.5.b1_jdk_macosx-x86_64_notarized.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21.0.5',
|
||||||
|
'windows',
|
||||||
|
'x86_64',
|
||||||
|
'https://github.com/Tencent/TencentKona-21/releases/download/TencentKona-21.0.5/TencentKona-21.0.5.b1_jdk_windows-x86_64_signed.zip'
|
||||||
|
]
|
||||||
|
])(
|
||||||
|
'should return the download URL with the specified version "%s", OS "%s" and arch "%s"',
|
||||||
|
async (version: string, os: string, arch: string, expectedUrl: string) => {
|
||||||
|
const distribution = mockDistr(version, os, arch, 'jdk');
|
||||||
|
|
||||||
|
const availableRelease =
|
||||||
|
await distribution['findPackageForDownload'](version);
|
||||||
|
expect(availableRelease).not.toBeNull();
|
||||||
|
expect(availableRelease.url).toBe(expectedUrl);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('No release is found', () => {
|
||||||
|
it.each([
|
||||||
|
['8', 'linux', 'x86'],
|
||||||
|
['8.0.0', 'linux', 'x86_64'],
|
||||||
|
['11', 'linux', 'ppc64'],
|
||||||
|
['17', 'solaris', 'x86_64'],
|
||||||
|
['17', 'windows', 'aarch64'],
|
||||||
|
['22', 'macos', 'x86_64']
|
||||||
|
])(
|
||||||
|
`should throw an error due to no release with the specified version "%s", os "%s" and arch "%s"`,
|
||||||
|
async (version: string, os: string, arch: string) => {
|
||||||
|
const distribution = mockDistr(version, os, arch, 'jdk');
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
distribution['findPackageForDownload'](version)
|
||||||
|
).rejects.toThrow(
|
||||||
|
`No Kona release for the specified version "${version}" on OS "${os}" and arch "${arch}".`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('The package type must be jdk', () => {
|
||||||
|
it('should throw an error due to the specified package type is not jdk', async () => {
|
||||||
|
const version = '8.0.20';
|
||||||
|
const os = 'linux';
|
||||||
|
const arch = 'x86_64';
|
||||||
|
const distribution = mockDistr(version, os, arch, 'jre');
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
distribution['findPackageForDownload'](version)
|
||||||
|
).rejects.toThrow('Kona provides jdk only');
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -1,8 +1,15 @@
|
|||||||
import {MicrosoftDistributions} from '../../src/distributions/microsoft/installer';
|
import {
|
||||||
|
MicrosoftDistributions,
|
||||||
|
MICROSOFT_PUBLIC_KEY
|
||||||
|
} from '../../src/distributions/microsoft/installer';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
import data from '../data/microsoft.json';
|
import data from '../data/microsoft.json';
|
||||||
import * as httpm from '@actions/http-client';
|
import * as httpm from '@actions/http-client';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
import * as tc from '@actions/tool-cache';
|
||||||
|
import * as gpg from '../../src/gpg';
|
||||||
|
import * as util from '../../src/util';
|
||||||
|
import fs from 'fs';
|
||||||
|
|
||||||
describe('findPackageForDownload', () => {
|
describe('findPackageForDownload', () => {
|
||||||
let distribution: MicrosoftDistributions;
|
let distribution: MicrosoftDistributions;
|
||||||
@@ -102,6 +109,7 @@ describe('findPackageForDownload', () => {
|
|||||||
.replace('{{OS_TYPE}}', os)
|
.replace('{{OS_TYPE}}', os)
|
||||||
.replace('{{ARCHIVE_TYPE}}', archive);
|
.replace('{{ARCHIVE_TYPE}}', archive);
|
||||||
expect(result.url).toBe(url);
|
expect(result.url).toBe(url);
|
||||||
|
expect(result.signatureUrl).toBe(`${url}.sig`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
@@ -187,4 +195,153 @@ describe('findPackageForDownload', () => {
|
|||||||
/No matching version found for SemVer */
|
/No matching version found for SemVer */
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('uses manifest-provided signature URL when available', async () => {
|
||||||
|
spyGetManifestFromRepo.mockReturnValue({
|
||||||
|
result: [
|
||||||
|
{
|
||||||
|
version: '17.0.10',
|
||||||
|
stable: true,
|
||||||
|
release_url: 'https://example.test',
|
||||||
|
files: [
|
||||||
|
{
|
||||||
|
filename: 'microsoft-jdk-17.0.10-linux-x64.tar.gz',
|
||||||
|
arch: 'x64',
|
||||||
|
platform: 'linux',
|
||||||
|
download_url: 'https://example.test/jdk.tar.gz',
|
||||||
|
signature_url: 'https://example.test/jdk.tar.gz.custom.sig'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {}
|
||||||
|
});
|
||||||
|
jest.spyOn(os, 'platform').mockReturnValue('linux');
|
||||||
|
|
||||||
|
const result = await distribution['findPackageForDownload']('17.0.10');
|
||||||
|
|
||||||
|
expect(result.signatureUrl).toBe(
|
||||||
|
'https://example.test/jdk.tar.gz.custom.sig'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('downloadTool', () => {
|
||||||
|
let spyDownloadTool: jest.SpyInstance;
|
||||||
|
let spyExtractJdkFile: jest.SpyInstance;
|
||||||
|
let spyCacheDir: jest.SpyInstance;
|
||||||
|
let spyVerifySignature: jest.SpyInstance;
|
||||||
|
let distribution: MicrosoftDistributions;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
jest
|
||||||
|
.spyOn(os, 'platform')
|
||||||
|
.mockReturnValue(process.platform as ReturnType<typeof os.platform>);
|
||||||
|
|
||||||
|
distribution = new MicrosoftDistributions({
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
|
||||||
|
spyDownloadTool = jest.spyOn(tc, 'downloadTool');
|
||||||
|
spyDownloadTool.mockImplementation(async () => {
|
||||||
|
return '/tmp/jdk.tar.gz';
|
||||||
|
});
|
||||||
|
|
||||||
|
spyExtractJdkFile = jest.spyOn(util, 'extractJdkFile');
|
||||||
|
spyExtractJdkFile.mockImplementation(async () => {
|
||||||
|
return '/tmp/unpacked';
|
||||||
|
});
|
||||||
|
|
||||||
|
jest.spyOn(fs, 'readdirSync').mockReturnValue(['jdk'] as any);
|
||||||
|
spyCacheDir = jest.spyOn(tc, 'cacheDir');
|
||||||
|
spyCacheDir.mockImplementation(async () => {
|
||||||
|
return '/tmp/cached';
|
||||||
|
});
|
||||||
|
|
||||||
|
jest
|
||||||
|
.spyOn(util, 'renameWinArchive')
|
||||||
|
.mockImplementation((archivePath: string) => `${archivePath}.zip`);
|
||||||
|
|
||||||
|
spyVerifySignature = jest.spyOn(gpg, 'verifyPackageSignature');
|
||||||
|
spyVerifySignature.mockImplementation(async () => {});
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jest.restoreAllMocks();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('verifies signature when enabled', async () => {
|
||||||
|
const signedDistribution = new MicrosoftDistributions({
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
verifySignature: true
|
||||||
|
});
|
||||||
|
|
||||||
|
await signedDistribution['downloadTool']({
|
||||||
|
version: '17.0.14+7',
|
||||||
|
url: 'https://example.com/jdk.tar.gz',
|
||||||
|
signatureUrl: 'https://example.com/jdk.tar.gz.sig'
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(spyVerifySignature).toHaveBeenCalledWith(
|
||||||
|
'/tmp/jdk.tar.gz',
|
||||||
|
'https://example.com/jdk.tar.gz.sig',
|
||||||
|
MICROSOFT_PUBLIC_KEY
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('uses custom public key when verifySignaturePublicKey is provided', async () => {
|
||||||
|
const customKey =
|
||||||
|
'-----BEGIN PGP PUBLIC KEY BLOCK-----\ncustom\n-----END PGP PUBLIC KEY BLOCK-----';
|
||||||
|
const signedDistribution = new MicrosoftDistributions({
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
verifySignature: true,
|
||||||
|
verifySignaturePublicKey: customKey
|
||||||
|
});
|
||||||
|
|
||||||
|
await signedDistribution['downloadTool']({
|
||||||
|
version: '17.0.14+7',
|
||||||
|
url: 'https://example.com/jdk.tar.gz',
|
||||||
|
signatureUrl: 'https://example.com/jdk.tar.gz.sig'
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(spyVerifySignature).toHaveBeenCalledWith(
|
||||||
|
'/tmp/jdk.tar.gz',
|
||||||
|
'https://example.com/jdk.tar.gz.sig',
|
||||||
|
customKey
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('fails when signature is missing and verification is enabled', async () => {
|
||||||
|
const signedDistribution = new MicrosoftDistributions({
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
verifySignature: true
|
||||||
|
});
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
signedDistribution['downloadTool']({
|
||||||
|
version: '17.0.14+7',
|
||||||
|
url: 'https://example.com/jdk.tar.gz'
|
||||||
|
})
|
||||||
|
).rejects.toThrow(
|
||||||
|
"Input 'verify-signature' is enabled, but no signature URL was found for Microsoft Build of OpenJDK version 17.0.14+7."
|
||||||
|
);
|
||||||
|
expect(spyVerifySignature).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('supports signature verification', () => {
|
||||||
|
expect(distribution['supportsSignatureVerification']()).toBe(true);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
import {HttpClient} from '@actions/http-client';
|
import {HttpClient} from '@actions/http-client';
|
||||||
|
import * as tc from '@actions/tool-cache';
|
||||||
|
import fs from 'fs';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
import {
|
import {
|
||||||
TemurinDistribution,
|
TemurinDistribution,
|
||||||
TemurinImplementation
|
TemurinImplementation,
|
||||||
|
ADOPTIUM_PUBLIC_KEY
|
||||||
} from '../../src/distributions/temurin/installer';
|
} from '../../src/distributions/temurin/installer';
|
||||||
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
||||||
|
import * as util from '../../src/util';
|
||||||
|
import * as gpg from '../../src/gpg';
|
||||||
|
|
||||||
import manifestData from '../data/temurin.json';
|
import manifestData from '../data/temurin.json';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
@@ -231,6 +236,7 @@ describe('findPackageForDownload', () => {
|
|||||||
distribution['getAvailableVersions'] = async () => manifestData as any;
|
distribution['getAvailableVersions'] = async () => manifestData as any;
|
||||||
const resolvedVersion = await distribution['findPackageForDownload'](input);
|
const resolvedVersion = await distribution['findPackageForDownload'](input);
|
||||||
expect(resolvedVersion.version).toBe(expected);
|
expect(resolvedVersion.version).toBe(expected);
|
||||||
|
expect(resolvedVersion.signatureUrl).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('version is found but binaries list is empty', async () => {
|
it('version is found but binaries list is empty', async () => {
|
||||||
@@ -281,3 +287,109 @@ describe('findPackageForDownload', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('downloadTool', () => {
|
||||||
|
let spyDownloadTool: jest.SpyInstance;
|
||||||
|
let spyVerifySignature: jest.SpyInstance;
|
||||||
|
let spyExtractJdkFile: jest.SpyInstance;
|
||||||
|
let spyCacheDir: jest.SpyInstance;
|
||||||
|
let spyReadDirSync: jest.SpyInstance;
|
||||||
|
let spyRenameWinArchive: jest.SpyInstance;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
spyDownloadTool = jest.spyOn(tc, 'downloadTool');
|
||||||
|
spyDownloadTool.mockResolvedValue('/tmp/jdk.tar.gz');
|
||||||
|
spyVerifySignature = jest.spyOn(gpg, 'verifyPackageSignature');
|
||||||
|
spyVerifySignature.mockResolvedValue(undefined);
|
||||||
|
spyExtractJdkFile = jest.spyOn(util, 'extractJdkFile');
|
||||||
|
spyExtractJdkFile.mockResolvedValue('/tmp/extracted');
|
||||||
|
spyCacheDir = jest.spyOn(tc, 'cacheDir');
|
||||||
|
spyCacheDir.mockResolvedValue('/tmp/toolcache');
|
||||||
|
spyReadDirSync = jest.spyOn(fs, 'readdirSync');
|
||||||
|
spyReadDirSync.mockReturnValue(['jdk-17'] as any);
|
||||||
|
spyRenameWinArchive = jest.spyOn(util, 'renameWinArchive');
|
||||||
|
spyRenameWinArchive.mockReturnValue('/tmp/jdk.tar.gz.zip');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jest.resetAllMocks();
|
||||||
|
jest.clearAllMocks();
|
||||||
|
jest.restoreAllMocks();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('verifies signature when enabled', async () => {
|
||||||
|
const distribution = new TemurinDistribution(
|
||||||
|
{
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
verifySignature: true
|
||||||
|
},
|
||||||
|
TemurinImplementation.Hotspot
|
||||||
|
);
|
||||||
|
|
||||||
|
await distribution['downloadTool']({
|
||||||
|
version: '17.0.14+7',
|
||||||
|
url: 'https://example.com/jdk.tar.gz',
|
||||||
|
signatureUrl: 'https://example.com/jdk.tar.gz.sig'
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(spyVerifySignature).toHaveBeenCalledWith(
|
||||||
|
'/tmp/jdk.tar.gz',
|
||||||
|
'https://example.com/jdk.tar.gz.sig',
|
||||||
|
ADOPTIUM_PUBLIC_KEY
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('fails when signature is missing and verification is enabled', async () => {
|
||||||
|
const distribution = new TemurinDistribution(
|
||||||
|
{
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
verifySignature: true
|
||||||
|
},
|
||||||
|
TemurinImplementation.Hotspot
|
||||||
|
);
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
distribution['downloadTool']({
|
||||||
|
version: '17.0.14+7',
|
||||||
|
url: 'https://example.com/jdk.tar.gz'
|
||||||
|
})
|
||||||
|
).rejects.toThrow(
|
||||||
|
"Input 'verify-signature' is enabled, but no signature URL was found"
|
||||||
|
);
|
||||||
|
expect(spyVerifySignature).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('uses custom public key when verifySignaturePublicKey is provided', async () => {
|
||||||
|
const customKey =
|
||||||
|
'-----BEGIN PGP PUBLIC KEY BLOCK-----\ncustom\n-----END PGP PUBLIC KEY BLOCK-----';
|
||||||
|
const distribution = new TemurinDistribution(
|
||||||
|
{
|
||||||
|
version: '17',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false,
|
||||||
|
verifySignature: true,
|
||||||
|
verifySignaturePublicKey: customKey
|
||||||
|
},
|
||||||
|
TemurinImplementation.Hotspot
|
||||||
|
);
|
||||||
|
|
||||||
|
await distribution['downloadTool']({
|
||||||
|
version: '17.0.14+7',
|
||||||
|
url: 'https://example.com/jdk.tar.gz',
|
||||||
|
signatureUrl: 'https://example.com/jdk.tar.gz.sig'
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(spyVerifySignature).toHaveBeenCalledWith(
|
||||||
|
'/tmp/jdk.tar.gz',
|
||||||
|
'https://example.com/jdk.tar.gz.sig',
|
||||||
|
customKey
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as io from '@actions/io';
|
import * as io from '@actions/io';
|
||||||
import * as exec from '@actions/exec';
|
import * as exec from '@actions/exec';
|
||||||
|
import * as tc from '@actions/tool-cache';
|
||||||
import * as gpg from '../src/gpg';
|
import * as gpg from '../src/gpg';
|
||||||
|
|
||||||
jest.mock('@actions/exec', () => {
|
jest.mock('@actions/exec', () => {
|
||||||
@@ -9,6 +10,12 @@ jest.mock('@actions/exec', () => {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
jest.mock('@actions/tool-cache', () => {
|
||||||
|
return {
|
||||||
|
downloadTool: jest.fn()
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
const tempDir = path.join(__dirname, 'runner', 'temp');
|
const tempDir = path.join(__dirname, 'runner', 'temp');
|
||||||
process.env['RUNNER_TEMP'] = tempDir;
|
process.env['RUNNER_TEMP'] = tempDir;
|
||||||
|
|
||||||
@@ -25,6 +32,35 @@ describe('gpg tests', () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('toGpgPath', () => {
|
||||||
|
const originalPlatform = process.platform;
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
Object.defineProperty(process, 'platform', {value: originalPlatform});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('returns path unchanged on non-Windows platforms', () => {
|
||||||
|
Object.defineProperty(process, 'platform', {value: 'linux'});
|
||||||
|
expect(gpg.toGpgPath('/tmp/some/path')).toBe('/tmp/some/path');
|
||||||
|
expect(gpg.toGpgPath('D:\\a\\_temp\\file')).toBe('D:\\a\\_temp\\file');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('converts Windows backslashes and drive letter to POSIX path on Windows', () => {
|
||||||
|
Object.defineProperty(process, 'platform', {value: 'win32'});
|
||||||
|
expect(gpg.toGpgPath('D:\\a\\_temp\\gpg-home')).toBe(
|
||||||
|
'/d/a/_temp/gpg-home'
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
gpg.toGpgPath('C:\\Users\\runner\\AppData\\Local\\Temp\\key.asc')
|
||||||
|
).toBe('/c/Users/runner/AppData/Local/Temp/key.asc');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('handles uppercase and lowercase drive letters on Windows', () => {
|
||||||
|
Object.defineProperty(process, 'platform', {value: 'win32'});
|
||||||
|
expect(gpg.toGpgPath('d:\\a\\_temp\\file')).toBe('/d/a/_temp/file');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('importKey', () => {
|
describe('importKey', () => {
|
||||||
it('attempts to import private key and returns null key id on failure', async () => {
|
it('attempts to import private key and returns null key id on failure', async () => {
|
||||||
const privateKey = 'KEY CONTENTS';
|
const privateKey = 'KEY CONTENTS';
|
||||||
@@ -51,5 +87,47 @@ describe('gpg tests', () => {
|
|||||||
expect.anything()
|
expect.anything()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('verifyPackageSignature', () => {
|
||||||
|
it('imports bundled key and verifies package', async () => {
|
||||||
|
const publicKeyContent =
|
||||||
|
'-----BEGIN PGP PUBLIC KEY BLOCK-----\ntest\n-----END PGP PUBLIC KEY BLOCK-----';
|
||||||
|
(tc.downloadTool as jest.Mock).mockResolvedValue('/tmp/jdk.tar.gz.sig');
|
||||||
|
await gpg.verifyPackageSignature(
|
||||||
|
'/tmp/jdk.tar.gz',
|
||||||
|
'https://example.com/jdk.tar.gz.sig',
|
||||||
|
publicKeyContent
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(tc.downloadTool).toHaveBeenCalledWith(
|
||||||
|
'https://example.com/jdk.tar.gz.sig'
|
||||||
|
);
|
||||||
|
expect(exec.exec).toHaveBeenNthCalledWith(
|
||||||
|
1,
|
||||||
|
'gpg',
|
||||||
|
[
|
||||||
|
'--homedir',
|
||||||
|
expect.any(String),
|
||||||
|
'--batch',
|
||||||
|
'--import',
|
||||||
|
expect.stringContaining('public-key.asc')
|
||||||
|
],
|
||||||
|
expect.objectContaining({silent: true})
|
||||||
|
);
|
||||||
|
expect(exec.exec).toHaveBeenNthCalledWith(
|
||||||
|
2,
|
||||||
|
'gpg',
|
||||||
|
[
|
||||||
|
'--homedir',
|
||||||
|
expect.any(String),
|
||||||
|
'--batch',
|
||||||
|
'--verify',
|
||||||
|
'/tmp/jdk.tar.gz.sig',
|
||||||
|
'/tmp/jdk.tar.gz'
|
||||||
|
],
|
||||||
|
expect.objectContaining({silent: true})
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,104 @@
|
|||||||
|
import * as core from '@actions/core';
|
||||||
|
|
||||||
|
import {configureMavenArgs} from '../src/maven-args';
|
||||||
|
import {
|
||||||
|
INPUT_SHOW_DOWNLOAD_PROGRESS,
|
||||||
|
MAVEN_ARGS_ENV,
|
||||||
|
MAVEN_NO_TRANSFER_PROGRESS_FLAG
|
||||||
|
} from '../src/constants';
|
||||||
|
|
||||||
|
describe('configureMavenArgs', () => {
|
||||||
|
let inputs: Record<string, string>;
|
||||||
|
let spyGetInput: jest.SpyInstance;
|
||||||
|
let spyExportVariable: jest.SpyInstance;
|
||||||
|
let spyInfo: jest.SpyInstance;
|
||||||
|
let spyDebug: jest.SpyInstance;
|
||||||
|
const originalMavenArgs = process.env[MAVEN_ARGS_ENV];
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
inputs = {};
|
||||||
|
|
||||||
|
spyGetInput = jest.spyOn(core, 'getInput');
|
||||||
|
spyGetInput.mockImplementation((name: string) => inputs[name] ?? '');
|
||||||
|
|
||||||
|
spyExportVariable = jest.spyOn(core, 'exportVariable');
|
||||||
|
spyExportVariable.mockImplementation((name: string, value: string) => {
|
||||||
|
process.env[name] = value;
|
||||||
|
});
|
||||||
|
|
||||||
|
spyInfo = jest.spyOn(core, 'info');
|
||||||
|
spyInfo.mockImplementation(() => undefined);
|
||||||
|
|
||||||
|
spyDebug = jest.spyOn(core, 'debug');
|
||||||
|
spyDebug.mockImplementation(() => undefined);
|
||||||
|
|
||||||
|
delete process.env[MAVEN_ARGS_ENV];
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jest.restoreAllMocks();
|
||||||
|
if (originalMavenArgs === undefined) {
|
||||||
|
delete process.env[MAVEN_ARGS_ENV];
|
||||||
|
} else {
|
||||||
|
process.env[MAVEN_ARGS_ENV] = originalMavenArgs;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
it('sets MAVEN_ARGS with -ntp by default', () => {
|
||||||
|
configureMavenArgs();
|
||||||
|
|
||||||
|
expect(spyExportVariable).toHaveBeenCalledWith(
|
||||||
|
MAVEN_ARGS_ENV,
|
||||||
|
MAVEN_NO_TRANSFER_PROGRESS_FLAG
|
||||||
|
);
|
||||||
|
expect(process.env[MAVEN_ARGS_ENV]).toBe(MAVEN_NO_TRANSFER_PROGRESS_FLAG);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('does not modify MAVEN_ARGS when show-download-progress is true', () => {
|
||||||
|
inputs[INPUT_SHOW_DOWNLOAD_PROGRESS] = 'true';
|
||||||
|
|
||||||
|
configureMavenArgs();
|
||||||
|
|
||||||
|
expect(spyExportVariable).not.toHaveBeenCalled();
|
||||||
|
expect(process.env[MAVEN_ARGS_ENV]).toBeUndefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('preserves an existing MAVEN_ARGS value and appends -ntp', () => {
|
||||||
|
process.env[MAVEN_ARGS_ENV] = '-B -Dstyle.color=always';
|
||||||
|
|
||||||
|
configureMavenArgs();
|
||||||
|
|
||||||
|
expect(spyExportVariable).toHaveBeenCalledWith(
|
||||||
|
MAVEN_ARGS_ENV,
|
||||||
|
`-B -Dstyle.color=always ${MAVEN_NO_TRANSFER_PROGRESS_FLAG}`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('does not duplicate the flag when -ntp is already present', () => {
|
||||||
|
process.env[MAVEN_ARGS_ENV] = '-B -ntp';
|
||||||
|
|
||||||
|
configureMavenArgs();
|
||||||
|
|
||||||
|
expect(spyExportVariable).not.toHaveBeenCalled();
|
||||||
|
expect(process.env[MAVEN_ARGS_ENV]).toBe('-B -ntp');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('does not duplicate the flag when --no-transfer-progress is already present', () => {
|
||||||
|
process.env[MAVEN_ARGS_ENV] = '--no-transfer-progress -B';
|
||||||
|
|
||||||
|
configureMavenArgs();
|
||||||
|
|
||||||
|
expect(spyExportVariable).not.toHaveBeenCalled();
|
||||||
|
expect(process.env[MAVEN_ARGS_ENV]).toBe('--no-transfer-progress -B');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('keeps the existing MAVEN_ARGS when show-download-progress is true', () => {
|
||||||
|
inputs[INPUT_SHOW_DOWNLOAD_PROGRESS] = 'true';
|
||||||
|
process.env[MAVEN_ARGS_ENV] = '-B';
|
||||||
|
|
||||||
|
configureMavenArgs();
|
||||||
|
|
||||||
|
expect(spyExportVariable).not.toHaveBeenCalled();
|
||||||
|
expect(process.env[MAVEN_ARGS_ENV]).toBe('-B');
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -143,7 +143,20 @@ describe('toolchains tests', () => {
|
|||||||
</toolchain>
|
</toolchain>
|
||||||
</toolchains>`;
|
</toolchains>`;
|
||||||
const result = `<?xml version="1.0"?>
|
const result = `<?xml version="1.0"?>
|
||||||
<toolchains>
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
<toolchain>
|
<toolchain>
|
||||||
<type>jdk</type>
|
<type>jdk</type>
|
||||||
<provides>
|
<provides>
|
||||||
@@ -155,6 +168,68 @@ describe('toolchains tests', () => {
|
|||||||
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('does not discard custom elements in existing toolchain definitions', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = `<toolchains>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
<id>sun_1.6</id>
|
||||||
|
<custom>foo</custom>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
<fooHome>/usr/local/bin/bash</fooHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
<toolchain>
|
<toolchain>
|
||||||
<type>jdk</type>
|
<type>jdk</type>
|
||||||
<provides>
|
<provides>
|
||||||
@@ -166,6 +241,544 @@ describe('toolchains tests', () => {
|
|||||||
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
<id>sun_1.6</id>
|
||||||
|
<custom>foo</custom>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
<fooHome>/usr/local/bin/bash</fooHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('does not discard existing, custom toolchain definitions', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = `<toolchains>
|
||||||
|
<toolchain>
|
||||||
|
<type>foo</type>
|
||||||
|
<provides>
|
||||||
|
<custom>baz</custom>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<fooHome>/usr/local/bin/foo</fooHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
<toolchain>
|
||||||
|
<type>foo</type>
|
||||||
|
<provides>
|
||||||
|
<custom>baz</custom>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<fooHome>/usr/local/bin/foo</fooHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('does not duplicate existing toolchain definitions', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = `<toolchains>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('does not duplicate existing toolchain definitions if multiple exist', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = `<toolchains>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
<id>sun_1.6</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
<id>sun_1.6</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('handles an empty list of existing toolchains correctly', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = `<toolchains>
|
||||||
|
</toolchains>`;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('handles an empty existing toolchains.xml correctly', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = ``;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('preserves custom root attributes on existing toolchains.xml', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = `<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.0.0 http://maven.apache.org/xsd/toolchains-1.0.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
<id>sun_1.6</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.0.0 http://maven.apache.org/xsd/toolchains-1.0.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
<id>sun_1.6</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
|
||||||
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
fs.writeFileSync(toolchainsFile, originalFile);
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
|
||||||
|
await toolchains.createToolchainsSettings({
|
||||||
|
jdkInfo,
|
||||||
|
settingsDirectory: m2Dir,
|
||||||
|
overwriteSettings: true
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
|
expect(fs.existsSync(toolchainsFile)).toBe(true);
|
||||||
|
expect(fs.readFileSync(toolchainsFile, 'utf-8')).toEqual(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
toolchains.generateToolchainDefinition(
|
||||||
|
originalFile,
|
||||||
|
jdkInfo.version,
|
||||||
|
jdkInfo.vendor,
|
||||||
|
jdkInfo.id,
|
||||||
|
jdkInfo.jdkHome
|
||||||
|
)
|
||||||
|
).toEqual(result);
|
||||||
|
}, 100000);
|
||||||
|
|
||||||
|
it('keeps partially-formed jdk toolchains without an id instead of crashing', async () => {
|
||||||
|
const jdkInfo = {
|
||||||
|
version: '17',
|
||||||
|
vendor: 'Eclipse Temurin',
|
||||||
|
id: 'temurin_17',
|
||||||
|
jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64'
|
||||||
|
};
|
||||||
|
|
||||||
|
const originalFile = `<toolchains>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
</toolchains>`;
|
||||||
|
const result = `<?xml version="1.0"?>
|
||||||
|
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>17</version>
|
||||||
|
<vendor>Eclipse Temurin</vendor>
|
||||||
|
<id>temurin_17</id>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
|
<toolchain>
|
||||||
|
<type>jdk</type>
|
||||||
|
<provides>
|
||||||
|
<version>1.6</version>
|
||||||
|
<vendor>Sun</vendor>
|
||||||
|
</provides>
|
||||||
|
<configuration>
|
||||||
|
<jdkHome>/opt/jdk/sun/1.6</jdkHome>
|
||||||
|
</configuration>
|
||||||
|
</toolchain>
|
||||||
</toolchains>`;
|
</toolchains>`;
|
||||||
|
|
||||||
fs.mkdirSync(m2Dir, {recursive: true});
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
|
|||||||
+126
-10
@@ -166,15 +166,60 @@ describe('validatePaginationUrl', () => {
|
|||||||
describe('getVersionFromFileContent', () => {
|
describe('getVersionFromFileContent', () => {
|
||||||
describe('.sdkmanrc', () => {
|
describe('.sdkmanrc', () => {
|
||||||
it.each([
|
it.each([
|
||||||
['java=11.0.20.1-tem', '11.0.20'],
|
['java=11.0.20.1-tem', '11.0.20', 'temurin'],
|
||||||
['java = 11.0.20.1-tem', '11.0.20'],
|
['java = 11.0.20.1-tem', '11.0.20', 'temurin'],
|
||||||
['java=11.0.20.1-tem # a comment in sdkmanrc', '11.0.20'],
|
['java=11.0.20.1-tem # a comment in sdkmanrc', '11.0.20', 'temurin'],
|
||||||
['java=11.0.20.1-tem\n#java=21.0.20.1-tem\n', '11.0.20'], // choose first match
|
['java=11.0.20.1-tem\n#java=21.0.20.1-tem\n', '11.0.20', 'temurin'], // choose first match
|
||||||
['java=11.0.20.1-tem\njava=21.0.20.1-tem\n', '11.0.20'], // choose first match
|
['java=11.0.20.1-tem\njava=21.0.20.1-tem\n', '11.0.20', 'temurin'], // choose first match
|
||||||
['#java=11.0.20.1-tem\njava=21.0.20.1-tem\n', '21.0.20'] // first one is 'commented' in .sdkmanrc
|
['#java=11.0.20.1-tem\njava=21.0.20.1-tem\n', '21.0.20', 'temurin'], // first one is 'commented' in .sdkmanrc
|
||||||
])('parsing %s should return %s', (content: string, expected: string) => {
|
['java=21.0.5-zulu', '21.0.5', 'zulu'],
|
||||||
const actual = getVersionFromFileContent(content, 'openjdk', '.sdkmanrc');
|
['java=17.0.13-albba', '17.0.13', 'dragonwell'],
|
||||||
expect(actual).toBe(expected);
|
['java=17.0.13-amzn', '17', 'corretto'],
|
||||||
|
['java=21.0.5-graal', '21.0.5', 'graalvm'],
|
||||||
|
['java=17.0.9-graalce', '17.0.9', 'graalvm'],
|
||||||
|
['java=11.0.25-librca', '11.0.25', 'liberica'],
|
||||||
|
['java=11.0.25-ms', '11.0.25', 'microsoft'],
|
||||||
|
['java=21.0.5-oracle', '21.0.5', 'oracle'],
|
||||||
|
['java=11.0.25-sapmchn', '11.0.25', 'sapmachine'],
|
||||||
|
['java=21.0.5-jbr', '21.0.5', 'jetbrains'],
|
||||||
|
['java=11.0.25-sem', '11.0.25', 'semeru'],
|
||||||
|
['java=17.0.13-dragonwell', '17.0.13', 'dragonwell'],
|
||||||
|
['java=21.0.5-kona', '21.0.5', 'kona']
|
||||||
|
])(
|
||||||
|
'parsing %s should return version %s and distribution %s',
|
||||||
|
(content: string, expectedVersion: string, expectedDist: string) => {
|
||||||
|
const actual = getVersionFromFileContent(
|
||||||
|
content,
|
||||||
|
'openjdk',
|
||||||
|
'.sdkmanrc'
|
||||||
|
);
|
||||||
|
expect(actual?.version).toBe(expectedVersion);
|
||||||
|
expect(actual?.distribution).toBe(expectedDist);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
it('should warn and return undefined distribution for unknown identifier', () => {
|
||||||
|
const warnSpy = jest.spyOn(core, 'warning');
|
||||||
|
const actual = getVersionFromFileContent(
|
||||||
|
'java=21.0.5-unknown',
|
||||||
|
'temurin',
|
||||||
|
'.sdkmanrc'
|
||||||
|
);
|
||||||
|
expect(actual?.version).toBe('21.0.5');
|
||||||
|
expect(actual?.distribution).toBeUndefined();
|
||||||
|
expect(warnSpy).toHaveBeenCalledWith(
|
||||||
|
expect.stringContaining('Unknown SDKMAN distribution identifier')
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return version without distribution when no suffix provided', () => {
|
||||||
|
const actual = getVersionFromFileContent(
|
||||||
|
'java=11.0.20',
|
||||||
|
'temurin',
|
||||||
|
'.sdkmanrc'
|
||||||
|
);
|
||||||
|
expect(actual?.version).toBe('11.0.20');
|
||||||
|
expect(actual?.distribution).toBeUndefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('known versions', () => {
|
describe('known versions', () => {
|
||||||
@@ -193,11 +238,82 @@ describe('getVersionFromFileContent', () => {
|
|||||||
'openjdk',
|
'openjdk',
|
||||||
'.sdkmanrc'
|
'.sdkmanrc'
|
||||||
);
|
);
|
||||||
expect(actual).toBe(expected);
|
expect(actual?.version).toBe(expected);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('.java-version', () => {
|
||||||
|
it.each([
|
||||||
|
['temurin-21.0.5', '21.0.5', 'temurin'],
|
||||||
|
['temurin-17', '17', 'temurin'], // hyphen separator is not captured into the distribution
|
||||||
|
['temurin-21.0.5+11.0.LTS', '21.0.5+11.0.LTS', 'temurin'],
|
||||||
|
['zulu64-8.0.202', '8.0.202', 'zulu'],
|
||||||
|
['temurin64-17', '17', 'temurin'],
|
||||||
|
['corretto-17', '17', 'corretto'], // corretto reduced to major version
|
||||||
|
['graalvm-community-17.0.9', '17.0.9', 'graalvm-community']
|
||||||
|
])(
|
||||||
|
'parsing %s should return version %s and distribution %s',
|
||||||
|
(content: string, expectedVersion: string, expectedDist: string) => {
|
||||||
|
const actual = getVersionFromFileContent(content, '', '.java-version');
|
||||||
|
expect(actual?.version).toBe(expectedVersion);
|
||||||
|
expect(actual?.distribution).toBe(expectedDist);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
['17.0.7', '17.0.7'],
|
||||||
|
['17', '17'],
|
||||||
|
['15-ea', '15-ea'],
|
||||||
|
['15.0.0-ea', '15.0.0-ea'],
|
||||||
|
['8.0.282+8', '8.0.282+8'],
|
||||||
|
['1.8.0.202', '8.0.202'],
|
||||||
|
['openjdk64-11.0.2', '11.0.2'] // generic openjdk prefix is not a supported distribution
|
||||||
|
])(
|
||||||
|
'parsing %s should return version %s and undefined distribution',
|
||||||
|
(content: string, expectedVersion: string) => {
|
||||||
|
const actual = getVersionFromFileContent(
|
||||||
|
content,
|
||||||
|
'temurin',
|
||||||
|
'.java-version'
|
||||||
|
);
|
||||||
|
expect(actual?.version).toBe(expectedVersion);
|
||||||
|
expect(actual?.distribution).toBeUndefined();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('.tool-versions', () => {
|
||||||
|
it.each([
|
||||||
|
['java temurin-21.0.5+11.0.LTS', '21.0.5+11.0.LTS', 'temurin'],
|
||||||
|
['java corretto-11', '11', 'corretto']
|
||||||
|
])(
|
||||||
|
'parsing %s should return version %s and distribution %s',
|
||||||
|
(content: string, expectedVersion: string, expectedDist: string) => {
|
||||||
|
const actual = getVersionFromFileContent(content, '', '.tool-versions');
|
||||||
|
expect(actual?.version).toBe(expectedVersion);
|
||||||
|
expect(actual?.distribution).toBe(expectedDist);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
['java 17', '17'],
|
||||||
|
['java 17.0.10', '17.0.10'],
|
||||||
|
['java openjdk64-17.0.10', '17.0.10'] // generic openjdk prefix is ignored
|
||||||
|
])(
|
||||||
|
'parsing %s should return version %s and undefined distribution',
|
||||||
|
(content: string, expectedVersion: string) => {
|
||||||
|
const actual = getVersionFromFileContent(
|
||||||
|
content,
|
||||||
|
'temurin',
|
||||||
|
'.tool-versions'
|
||||||
|
);
|
||||||
|
expect(actual?.version).toBe(expectedVersion);
|
||||||
|
expect(actual?.distribution).toBeUndefined();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('isGhes', () => {
|
describe('isGhes', () => {
|
||||||
|
|||||||
+17
-2
@@ -10,8 +10,8 @@ inputs:
|
|||||||
description: 'The path to a file containing the Java version to set up (.java-version, .tool-versions, .sdkmanrc). Used when java-version is not set. See examples of supported syntax in README file'
|
description: 'The path to a file containing the Java version to set up (.java-version, .tool-versions, .sdkmanrc). Used when java-version is not set. See examples of supported syntax in README file'
|
||||||
required: false
|
required: false
|
||||||
distribution:
|
distribution:
|
||||||
description: 'Java distribution. See the list of supported distributions in README file'
|
description: 'Java distribution. See the list of supported distributions in README file. This input is required except when java-version-file specifies a recognized distribution (e.g., .sdkmanrc suffix java=21.0.5-tem, or .java-version/.tool-versions prefix temurin-21.0.5).'
|
||||||
required: true
|
required: false
|
||||||
java-package:
|
java-package:
|
||||||
description: 'The package type (jdk, jre, jdk+fx, jre+fx)'
|
description: 'The package type (jdk, jre, jdk+fx, jre+fx)'
|
||||||
required: false
|
required: false
|
||||||
@@ -26,6 +26,17 @@ inputs:
|
|||||||
description: 'Set this option if you want the action to check for the latest available version that satisfies the version spec'
|
description: 'Set this option if you want the action to check for the latest available version that satisfies the version spec'
|
||||||
required: false
|
required: false
|
||||||
default: false
|
default: false
|
||||||
|
set-default:
|
||||||
|
description: 'Set this option to false if you want to install a JDK but not make it the default. When false, JAVA_HOME and PATH are not updated, but JAVA_HOME_<major>_<arch> is still set.'
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
verify-signature:
|
||||||
|
description: 'Verify downloaded Java package signatures when supported by the selected distribution'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
verify-signature-public-key:
|
||||||
|
description: 'ASCII-armored GPG public key used to verify the downloaded package signature. Overrides the default bundled key for the selected distribution.'
|
||||||
|
required: false
|
||||||
server-id:
|
server-id:
|
||||||
description: 'ID of the distributionManagement repository in the pom.xml
|
description: 'ID of the distributionManagement repository in the pom.xml
|
||||||
file. Default is `github`'
|
file. Default is `github`'
|
||||||
@@ -75,6 +86,10 @@ inputs:
|
|||||||
mvn-toolchain-vendor:
|
mvn-toolchain-vendor:
|
||||||
description: 'Name of Maven Toolchain Vendor if the default name of "${distribution}" is not wanted. See examples of supported syntax in Advanced Usage file'
|
description: 'Name of Maven Toolchain Vendor if the default name of "${distribution}" is not wanted. See examples of supported syntax in Advanced Usage file'
|
||||||
required: false
|
required: false
|
||||||
|
show-download-progress:
|
||||||
|
description: 'Whether Maven should print artifact download/transfer progress to the build log. When "false" (default) the action sets "-ntp" (--no-transfer-progress) in MAVEN_ARGS to produce cleaner logs. Set to "true" to keep the progress output. Has no effect on non-Maven builds.'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
outputs:
|
outputs:
|
||||||
distribution:
|
distribution:
|
||||||
description: 'Distribution of Java that has been installed'
|
description: 'Distribution of Java that has been installed'
|
||||||
|
|||||||
Vendored
+165
-11
@@ -52241,7 +52241,7 @@ else {
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = exports.INPUT_MVN_TOOLCHAIN_VENDOR = exports.INPUT_MVN_TOOLCHAIN_ID = exports.MVN_TOOLCHAINS_FILE = exports.MVN_SETTINGS_FILE = exports.M2_DIR = exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_JOB_STATUS = exports.INPUT_CACHE_DEPENDENCY_PATH = exports.INPUT_CACHE = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_OVERWRITE_SETTINGS = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_CHECK_LATEST = exports.INPUT_JDK_FILE = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION_FILE = exports.INPUT_JAVA_VERSION = exports.MACOS_JAVA_CONTENT_POSTFIX = void 0;
|
exports.SUPPORTED_DISTRIBUTIONS = exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = exports.MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG = exports.MAVEN_NO_TRANSFER_PROGRESS_FLAG = exports.MAVEN_ARGS_ENV = exports.INPUT_SHOW_DOWNLOAD_PROGRESS = exports.INPUT_MVN_TOOLCHAIN_VENDOR = exports.INPUT_MVN_TOOLCHAIN_ID = exports.MVN_TOOLCHAINS_FILE = exports.MVN_SETTINGS_FILE = exports.M2_DIR = exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_JOB_STATUS = exports.INPUT_CACHE_DEPENDENCY_PATH = exports.INPUT_CACHE = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_OVERWRITE_SETTINGS = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = exports.INPUT_VERIFY_SIGNATURE = exports.INPUT_SET_DEFAULT = exports.INPUT_CHECK_LATEST = exports.INPUT_JDK_FILE = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION_FILE = exports.INPUT_JAVA_VERSION = exports.MACOS_JAVA_CONTENT_POSTFIX = void 0;
|
||||||
exports.MACOS_JAVA_CONTENT_POSTFIX = 'Contents/Home';
|
exports.MACOS_JAVA_CONTENT_POSTFIX = 'Contents/Home';
|
||||||
exports.INPUT_JAVA_VERSION = 'java-version';
|
exports.INPUT_JAVA_VERSION = 'java-version';
|
||||||
exports.INPUT_JAVA_VERSION_FILE = 'java-version-file';
|
exports.INPUT_JAVA_VERSION_FILE = 'java-version-file';
|
||||||
@@ -52250,6 +52250,9 @@ exports.INPUT_JAVA_PACKAGE = 'java-package';
|
|||||||
exports.INPUT_DISTRIBUTION = 'distribution';
|
exports.INPUT_DISTRIBUTION = 'distribution';
|
||||||
exports.INPUT_JDK_FILE = 'jdkFile';
|
exports.INPUT_JDK_FILE = 'jdkFile';
|
||||||
exports.INPUT_CHECK_LATEST = 'check-latest';
|
exports.INPUT_CHECK_LATEST = 'check-latest';
|
||||||
|
exports.INPUT_SET_DEFAULT = 'set-default';
|
||||||
|
exports.INPUT_VERIFY_SIGNATURE = 'verify-signature';
|
||||||
|
exports.INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = 'verify-signature-public-key';
|
||||||
exports.INPUT_SERVER_ID = 'server-id';
|
exports.INPUT_SERVER_ID = 'server-id';
|
||||||
exports.INPUT_SERVER_USERNAME = 'server-username';
|
exports.INPUT_SERVER_USERNAME = 'server-username';
|
||||||
exports.INPUT_SERVER_PASSWORD = 'server-password';
|
exports.INPUT_SERVER_PASSWORD = 'server-password';
|
||||||
@@ -52268,7 +52271,31 @@ exports.MVN_SETTINGS_FILE = 'settings.xml';
|
|||||||
exports.MVN_TOOLCHAINS_FILE = 'toolchains.xml';
|
exports.MVN_TOOLCHAINS_FILE = 'toolchains.xml';
|
||||||
exports.INPUT_MVN_TOOLCHAIN_ID = 'mvn-toolchain-id';
|
exports.INPUT_MVN_TOOLCHAIN_ID = 'mvn-toolchain-id';
|
||||||
exports.INPUT_MVN_TOOLCHAIN_VENDOR = 'mvn-toolchain-vendor';
|
exports.INPUT_MVN_TOOLCHAIN_VENDOR = 'mvn-toolchain-vendor';
|
||||||
|
exports.INPUT_SHOW_DOWNLOAD_PROGRESS = 'show-download-progress';
|
||||||
|
exports.MAVEN_ARGS_ENV = 'MAVEN_ARGS';
|
||||||
|
exports.MAVEN_NO_TRANSFER_PROGRESS_FLAG = '-ntp';
|
||||||
|
exports.MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG = '--no-transfer-progress';
|
||||||
exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = ['corretto'];
|
exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = ['corretto'];
|
||||||
|
// Distribution names supported by the `distribution` input. Used to validate
|
||||||
|
// distribution identifiers inferred from a `.java-version`/`.tool-versions` file.
|
||||||
|
exports.SUPPORTED_DISTRIBUTIONS = [
|
||||||
|
'adopt',
|
||||||
|
'adopt-hotspot',
|
||||||
|
'adopt-openj9',
|
||||||
|
'temurin',
|
||||||
|
'zulu',
|
||||||
|
'liberica',
|
||||||
|
'microsoft',
|
||||||
|
'semeru',
|
||||||
|
'corretto',
|
||||||
|
'oracle',
|
||||||
|
'dragonwell',
|
||||||
|
'sapmachine',
|
||||||
|
'graalvm',
|
||||||
|
'graalvm-community',
|
||||||
|
'jetbrains',
|
||||||
|
'kona'
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
@@ -52311,14 +52338,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.deleteKey = exports.importKey = exports.PRIVATE_KEY_FILE = void 0;
|
exports.verifyPackageSignature = exports.deleteKey = exports.importKey = exports.toGpgPath = exports.PRIVATE_KEY_FILE = void 0;
|
||||||
const fs = __importStar(__nccwpck_require__(79896));
|
const fs = __importStar(__nccwpck_require__(79896));
|
||||||
const path = __importStar(__nccwpck_require__(16928));
|
const path = __importStar(__nccwpck_require__(16928));
|
||||||
const io = __importStar(__nccwpck_require__(94994));
|
const io = __importStar(__nccwpck_require__(94994));
|
||||||
const exec = __importStar(__nccwpck_require__(95236));
|
const exec = __importStar(__nccwpck_require__(95236));
|
||||||
|
const tc = __importStar(__nccwpck_require__(33472));
|
||||||
const util = __importStar(__nccwpck_require__(54527));
|
const util = __importStar(__nccwpck_require__(54527));
|
||||||
exports.PRIVATE_KEY_FILE = path.join(util.getTempDir(), 'private-key.asc');
|
exports.PRIVATE_KEY_FILE = path.join(util.getTempDir(), 'private-key.asc');
|
||||||
const PRIVATE_KEY_FINGERPRINT_REGEX = /\w{40}/;
|
const PRIVATE_KEY_FINGERPRINT_REGEX = /\w{40}/;
|
||||||
|
// Convert a Windows path (D:\a\_temp\...) to a POSIX path (/d/a/_temp/...).
|
||||||
|
// The Git-bundled GPG on Windows (MSYS2-based) uses POSIX path conventions
|
||||||
|
// internally. Passing Windows paths with backslashes can cause fatal GPG errors
|
||||||
|
// (exit code 2), so all paths passed to GPG must be in POSIX format on Windows.
|
||||||
|
function toGpgPath(p) {
|
||||||
|
if (process.platform !== 'win32')
|
||||||
|
return p;
|
||||||
|
return p
|
||||||
|
.replace(/\\/g, '/')
|
||||||
|
.replace(/^([A-Za-z]):\//, (_, drive) => `/${drive.toLowerCase()}/`);
|
||||||
|
}
|
||||||
|
exports.toGpgPath = toGpgPath;
|
||||||
function importKey(privateKey) {
|
function importKey(privateKey) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
fs.writeFileSync(exports.PRIVATE_KEY_FILE, privateKey, {
|
fs.writeFileSync(exports.PRIVATE_KEY_FILE, privateKey, {
|
||||||
@@ -52355,6 +52395,49 @@ function deleteKey(keyFingerprint) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.deleteKey = deleteKey;
|
exports.deleteKey = deleteKey;
|
||||||
|
function verifyPackageSignature(archivePath, signatureUrl, publicKeyContent) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const signaturePath = yield tc.downloadTool(signatureUrl);
|
||||||
|
let gpgHome;
|
||||||
|
try {
|
||||||
|
gpgHome = fs.mkdtempSync(path.join(util.getTempDir(), 'verify-signature-gpg-home-'));
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
try {
|
||||||
|
yield io.rmRF(signaturePath);
|
||||||
|
}
|
||||||
|
catch (_a) {
|
||||||
|
// ignore cleanup failures
|
||||||
|
}
|
||||||
|
throw new Error(`Failed to create temporary GPG home directory for signature verification: ${error.message}`);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const publicKeyFile = path.join(gpgHome, 'public-key.asc');
|
||||||
|
fs.writeFileSync(publicKeyFile, publicKeyContent, { encoding: 'utf-8' });
|
||||||
|
const options = { silent: true };
|
||||||
|
yield exec.exec('gpg', [
|
||||||
|
'--homedir',
|
||||||
|
toGpgPath(gpgHome),
|
||||||
|
'--batch',
|
||||||
|
'--import',
|
||||||
|
toGpgPath(publicKeyFile)
|
||||||
|
], options);
|
||||||
|
yield exec.exec('gpg', [
|
||||||
|
'--homedir',
|
||||||
|
toGpgPath(gpgHome),
|
||||||
|
'--batch',
|
||||||
|
'--verify',
|
||||||
|
toGpgPath(signaturePath),
|
||||||
|
toGpgPath(archivePath)
|
||||||
|
], options);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
yield io.rmRF(signaturePath);
|
||||||
|
yield io.rmRF(gpgHome);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.verifyPackageSignature = verifyPackageSignature;
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
@@ -52509,25 +52592,48 @@ function isCacheFeatureAvailable() {
|
|||||||
}
|
}
|
||||||
exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
|
exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
|
||||||
function getVersionFromFileContent(content, distributionName, versionFile) {
|
function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||||
var _a, _b, _c, _d, _e;
|
var _a, _b, _c, _d;
|
||||||
let javaVersionRegExp;
|
let javaVersionRegExp;
|
||||||
|
let extractedDistribution;
|
||||||
function getFileName(versionFile) {
|
function getFileName(versionFile) {
|
||||||
return path_1.default.basename(versionFile);
|
return path_1.default.basename(versionFile);
|
||||||
}
|
}
|
||||||
const versionFileName = getFileName(versionFile);
|
const versionFileName = getFileName(versionFile);
|
||||||
if (versionFileName == '.tool-versions') {
|
if (versionFileName == '.tool-versions') {
|
||||||
javaVersionRegExp =
|
javaVersionRegExp =
|
||||||
/^java\s+(?:\S*-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
/^java\s+(?:(?<distribution>\S*?)-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||||
}
|
}
|
||||||
else if (versionFileName == '.sdkmanrc') {
|
else if (versionFileName == '.sdkmanrc') {
|
||||||
javaVersionRegExp = /^java\s*=\s*(?<version>[^-]+)/m;
|
// Match both version and optional distribution identifier
|
||||||
|
javaVersionRegExp =
|
||||||
|
/^java\s*=\s*(?<version>[^-\s]+)(?:-(?<distribution>[a-z0-9]+))?/m;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
|
// .java-version (jenv), version optionally prefixed with a distribution
|
||||||
|
// identifier, e.g. `temurin-21.0.5` or `openjdk64-11.0.2`.
|
||||||
|
javaVersionRegExp =
|
||||||
|
/(?:(?<distribution>[a-zA-Z][a-zA-Z0-9-]*?)-)?(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
|
||||||
}
|
}
|
||||||
const capturedVersion = ((_b = (_a = content.match(javaVersionRegExp)) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b.version)
|
const match = content.match(javaVersionRegExp);
|
||||||
? (_d = (_c = content.match(javaVersionRegExp)) === null || _c === void 0 ? void 0 : _c.groups) === null || _d === void 0 ? void 0 : _d.version
|
const capturedVersion = ((_a = match === null || match === void 0 ? void 0 : match.groups) === null || _a === void 0 ? void 0 : _a.version)
|
||||||
|
? match.groups.version
|
||||||
: '';
|
: '';
|
||||||
|
// Extract distribution from .sdkmanrc file
|
||||||
|
if (versionFileName == '.sdkmanrc' && ((_b = match === null || match === void 0 ? void 0 : match.groups) === null || _b === void 0 ? void 0 : _b.distribution)) {
|
||||||
|
const sdkmanDist = match.groups.distribution;
|
||||||
|
extractedDistribution = mapSdkmanDistribution(sdkmanDist);
|
||||||
|
core.debug(`Parsed distribution '${extractedDistribution}' from SDKMAN identifier '${sdkmanDist}'`);
|
||||||
|
}
|
||||||
|
// Extract distribution from .java-version (jenv) or .tool-versions (asdf) file
|
||||||
|
if (versionFileName != '.sdkmanrc' &&
|
||||||
|
((_c = match === null || match === void 0 ? void 0 : match.groups) === null || _c === void 0 ? void 0 : _c.distribution) &&
|
||||||
|
capturedVersion) {
|
||||||
|
const fileDistribution = match.groups.distribution;
|
||||||
|
extractedDistribution = mapJavaVersionFileDistribution(fileDistribution);
|
||||||
|
if (extractedDistribution) {
|
||||||
|
core.debug(`Parsed distribution '${extractedDistribution}' from identifier '${fileDistribution}' in '${versionFileName}'`);
|
||||||
|
}
|
||||||
|
}
|
||||||
core.debug(`Parsed version '${capturedVersion}' from file '${versionFileName}'`);
|
core.debug(`Parsed version '${capturedVersion}' from file '${versionFileName}'`);
|
||||||
if (!capturedVersion) {
|
if (!capturedVersion) {
|
||||||
return null;
|
return null;
|
||||||
@@ -52541,13 +52647,61 @@ function getVersionFromFileContent(content, distributionName, versionFile) {
|
|||||||
if (!version) {
|
if (!version) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (constants_1.DISTRIBUTIONS_ONLY_MAJOR_VERSION.includes(distributionName)) {
|
// Apply DISTRIBUTIONS_ONLY_MAJOR_VERSION logic whenever the effective distribution
|
||||||
const coerceVersion = (_e = semver.coerce(version)) !== null && _e !== void 0 ? _e : version;
|
// (either explicitly provided or extracted from the version file) is in the list.
|
||||||
|
if (constants_1.DISTRIBUTIONS_ONLY_MAJOR_VERSION.includes(extractedDistribution || distributionName)) {
|
||||||
|
const coerceVersion = (_d = semver.coerce(version)) !== null && _d !== void 0 ? _d : version;
|
||||||
version = semver.major(coerceVersion).toString();
|
version = semver.major(coerceVersion).toString();
|
||||||
}
|
}
|
||||||
return version.toString();
|
return {
|
||||||
|
version: version.toString(),
|
||||||
|
distribution: extractedDistribution
|
||||||
|
};
|
||||||
}
|
}
|
||||||
exports.getVersionFromFileContent = getVersionFromFileContent;
|
exports.getVersionFromFileContent = getVersionFromFileContent;
|
||||||
|
// Map SDKMAN distribution identifiers to setup-java distribution names
|
||||||
|
function mapSdkmanDistribution(sdkmanDist) {
|
||||||
|
const distributionMap = {
|
||||||
|
tem: 'temurin',
|
||||||
|
sem: 'semeru',
|
||||||
|
albba: 'dragonwell',
|
||||||
|
zulu: 'zulu',
|
||||||
|
amzn: 'corretto',
|
||||||
|
graal: 'graalvm',
|
||||||
|
graalce: 'graalvm',
|
||||||
|
librca: 'liberica',
|
||||||
|
ms: 'microsoft',
|
||||||
|
oracle: 'oracle',
|
||||||
|
sapmchn: 'sapmachine',
|
||||||
|
jbr: 'jetbrains',
|
||||||
|
dragonwell: 'dragonwell',
|
||||||
|
kona: 'kona'
|
||||||
|
};
|
||||||
|
const mapped = distributionMap[sdkmanDist.toLowerCase()];
|
||||||
|
if (!mapped) {
|
||||||
|
core.warning(`Unknown SDKMAN distribution identifier '${sdkmanDist}'. Please specify the distribution explicitly.`);
|
||||||
|
}
|
||||||
|
return mapped;
|
||||||
|
}
|
||||||
|
// Map a distribution identifier found in a `.java-version` (jenv) or
|
||||||
|
// `.tool-versions` (asdf) file to a setup-java distribution name.
|
||||||
|
// jenv-style identifiers may carry an architecture suffix (e.g. `openjdk64`,
|
||||||
|
// `temurin64`), which is stripped before matching. Identifiers that do not map
|
||||||
|
// to a supported distribution (e.g. the generic `openjdk`) are ignored so the
|
||||||
|
// `distribution` input is used instead.
|
||||||
|
function mapJavaVersionFileDistribution(identifier) {
|
||||||
|
const normalized = identifier.toLowerCase();
|
||||||
|
if (constants_1.SUPPORTED_DISTRIBUTIONS.includes(normalized)) {
|
||||||
|
return normalized;
|
||||||
|
}
|
||||||
|
// Strip a trailing architecture suffix (e.g. `temurin64` -> `temurin`).
|
||||||
|
const withoutArch = normalized.replace(/(32|64)$/, '');
|
||||||
|
if (constants_1.SUPPORTED_DISTRIBUTIONS.includes(withoutArch)) {
|
||||||
|
return withoutArch;
|
||||||
|
}
|
||||||
|
core.debug(`Distribution identifier '${identifier}' from version file is not a supported distribution; falling back to the 'distribution' input.`);
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
// By convention, action expects version 8 in the format `8.*` instead of `1.8`
|
// By convention, action expects version 8 in the format `8.*` instead of `1.8`
|
||||||
function avoidOldNotation(content) {
|
function avoidOldNotation(content) {
|
||||||
return content.startsWith('1.') ? content.substring(2) : content;
|
return content.startsWith('1.') ? content.substring(2) : content;
|
||||||
|
|||||||
Vendored
+837
-96
File diff suppressed because it is too large
Load Diff
+186
-5
@@ -10,14 +10,18 @@
|
|||||||
- [Alibaba Dragonwell](#Alibaba-Dragonwell)
|
- [Alibaba Dragonwell](#Alibaba-Dragonwell)
|
||||||
- [SapMachine](#SapMachine)
|
- [SapMachine](#SapMachine)
|
||||||
- [GraalVM](#GraalVM)
|
- [GraalVM](#GraalVM)
|
||||||
|
- [GraalVM Community](#GraalVM-Community)
|
||||||
- [JetBrains](#JetBrains)
|
- [JetBrains](#JetBrains)
|
||||||
|
- [Tencent Kona](#Tencent-Kona)
|
||||||
- [Installing custom Java package type](#Installing-custom-Java-package-type)
|
- [Installing custom Java package type](#Installing-custom-Java-package-type)
|
||||||
- [JavaFX Maven project](#JavaFX-Maven-project)
|
- [JavaFX Maven project](#JavaFX-Maven-project)
|
||||||
- [Installing custom Java architecture](#Installing-custom-Java-architecture)
|
- [Installing custom Java architecture](#Installing-custom-Java-architecture)
|
||||||
|
- [Installing JDK without setting as default](#Installing-JDK-without-setting-as-default)
|
||||||
- [Installing custom Java distribution from local file](#Installing-Java-from-local-file)
|
- [Installing custom Java distribution from local file](#Installing-Java-from-local-file)
|
||||||
- [Testing against different Java distributions](#Testing-against-different-Java-distributions)
|
- [Testing against different Java distributions](#Testing-against-different-Java-distributions)
|
||||||
- [Testing against different platforms](#Testing-against-different-platforms)
|
- [Testing against different platforms](#Testing-against-different-platforms)
|
||||||
- [Publishing using Apache Maven](#Publishing-using-Apache-Maven)
|
- [Publishing using Apache Maven](#Publishing-using-Apache-Maven)
|
||||||
|
- [Maven transfer progress (download logs)](#Maven-transfer-progress-download-logs)
|
||||||
- [Publishing using Gradle](#Publishing-using-Gradle)
|
- [Publishing using Gradle](#Publishing-using-Gradle)
|
||||||
- [Hosted Tool Cache](#Hosted-Tool-Cache)
|
- [Hosted Tool Cache](#Hosted-Tool-Cache)
|
||||||
- [Modifying Maven Toolchains](#Modifying-Maven-Toolchains)
|
- [Modifying Maven Toolchains](#Modifying-Maven-Toolchains)
|
||||||
@@ -174,6 +178,21 @@ steps:
|
|||||||
native-image --version
|
native-image --version
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### GraalVM Community
|
||||||
|
**NOTE:** GraalVM Community is available for stable JDK 17 and later releases.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'graalvm-community'
|
||||||
|
java-version: '21'
|
||||||
|
- run: |
|
||||||
|
java --version
|
||||||
|
native-image --version
|
||||||
|
```
|
||||||
|
|
||||||
### JetBrains
|
### JetBrains
|
||||||
|
|
||||||
**NOTE:** JetBrains is only available for LTS versions on 11 or later (11, 17, 21, etc.).
|
**NOTE:** JetBrains is only available for LTS versions on 11 or later (11, 17, 21, etc.).
|
||||||
@@ -217,6 +236,18 @@ The available package types are:
|
|||||||
- `jdk+ft` - JBRSDK (FreeType)
|
- `jdk+ft` - JBRSDK (FreeType)
|
||||||
- `jre+ft` - JBR (FreeType)
|
- `jre+ft` - JBR (FreeType)
|
||||||
|
|
||||||
|
### Tencent Kona
|
||||||
|
**NOTE:** Tencent Kona supports major versions 8, 11, 17 and 21, and provides jdk only.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'kona'
|
||||||
|
java-version: '21'
|
||||||
|
- run: java --version
|
||||||
|
```
|
||||||
|
|
||||||
## Installing custom Java package type
|
## Installing custom Java package type
|
||||||
```yaml
|
```yaml
|
||||||
@@ -267,9 +298,40 @@ steps:
|
|||||||
- run: java --version
|
- run: java --version
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Installing JDK without setting as default
|
||||||
|
|
||||||
|
When installing multiple JDKs, the last one installed becomes the default (`JAVA_HOME`, `PATH`). Use the `set-default` option to install a JDK without overriding the default. The installed JDK is still discoverable via the `JAVA_HOME_<major>_<arch>` environment variable (e.g. `JAVA_HOME_21_X64`).
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'temurin'
|
||||||
|
java-version: '17'
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
id: setup-java-21
|
||||||
|
with:
|
||||||
|
distribution: 'temurin'
|
||||||
|
java-version: '21'
|
||||||
|
set-default: false
|
||||||
|
- run: |
|
||||||
|
echo "Default java:"
|
||||||
|
java -version
|
||||||
|
echo "Java 21 home: $JAVA_HOME_21_X64"
|
||||||
|
echo "Java 21 path from output: ${{ steps.setup-java-21.outputs.path }}"
|
||||||
|
```
|
||||||
|
|
||||||
|
In this example, `JAVA_HOME` and `java` on `PATH` point to Java 17, while Java 21 is available via `JAVA_HOME_21_X64` or the step output `path`.
|
||||||
|
|
||||||
|
> **Note:** When a single step installs multiple JDKs via a multiline `java-version`, the `set-default` value applies to all of them. With `set-default: false`, none of those JDKs become the default; each remains discoverable through its `JAVA_HOME_<major>_<arch>` variable. Regardless of `set-default`, installed JDKs are still registered in the Maven toolchains file, so they can be selected via Maven toolchains.
|
||||||
|
|
||||||
## Installing Java from local file
|
## Installing Java from local file
|
||||||
If your use-case requires a custom distribution or a version that is not provided by setup-java, you can download it manually and setup-java will take care of the installation and caching on the VM:
|
If your use-case requires a custom distribution or a version that is not provided by setup-java, you can download it manually and setup-java will take care of the installation and caching on the VM:
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> This approach also lets you use builds that setup-java does not provide directly, such as **Early Access (EA)** or other unreleased JDK builds (for example, an upcoming feature release or a Loom/Valhalla preview build). Download the desired archive in a prior step and point `jdkFile` at it; setup-java will extract, install, and cache it just like a supported distribution. When targeting multiple architectures, select the correct binary per architecture in your workflow (for example, with a build matrix).
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
- run: |
|
||||||
@@ -285,6 +347,23 @@ steps:
|
|||||||
- run: java --version
|
- run: java --version
|
||||||
```
|
```
|
||||||
|
|
||||||
|
For example, to use an **Early Access** build from [jdk.java.net](https://jdk.java.net/), download the archive for your runner OS/architecture and install it via `distribution: 'jdkfile'` (example below assumes Linux x64):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- run: |
|
||||||
|
download_url="https://download.java.net/java/early_access/jdk25/36/GPL/openjdk-25-ea+36_linux-x64_bin.tar.gz"
|
||||||
|
wget -O $RUNNER_TEMP/java_package.tar.gz $download_url
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'jdkfile'
|
||||||
|
jdkFile: ${{ runner.temp }}/java_package.tar.gz
|
||||||
|
java-version: '25.0.0-ea.36'
|
||||||
|
architecture: x64
|
||||||
|
|
||||||
|
- run: java --version
|
||||||
|
```
|
||||||
|
|
||||||
If your use-case requires a custom distribution (in the example, alpine-linux is used) or a version that is not provided by setup-java and you want to always install the latest version during runtime, then you can use the following code to auto-download the latest JDK, determine the semver needed for setup-java, and setup-java will take care of the installation and caching on the VM:
|
If your use-case requires a custom distribution (in the example, alpine-linux is used) or a version that is not provided by setup-java and you want to always install the latest version during runtime, then you can use the following code to auto-download the latest JDK, determine the semver needed for setup-java, and setup-java will take care of the installation and caching on the VM:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -400,6 +479,7 @@ The two `settings.xml` files created from the above example look like the follow
|
|||||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||||
|
<interactiveMode>false</interactiveMode>
|
||||||
<servers>
|
<servers>
|
||||||
<server>
|
<server>
|
||||||
<id>github</id>
|
<id>github</id>
|
||||||
@@ -419,6 +499,7 @@ The two `settings.xml` files created from the above example look like the follow
|
|||||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||||
|
<interactiveMode>false</interactiveMode>
|
||||||
<servers>
|
<servers>
|
||||||
<server>
|
<server>
|
||||||
<id>maven</id>
|
<id>maven</id>
|
||||||
@@ -435,6 +516,8 @@ The two `settings.xml` files created from the above example look like the follow
|
|||||||
|
|
||||||
***NOTE***: The `settings.xml` file is created in the Actions `$HOME/.m2` directory. If you have an existing `settings.xml` file at that location, it will be overwritten. See [below](#apache-maven-with-a-settings-path) for using the `settings-path` to change your `settings.xml` file location.
|
***NOTE***: The `settings.xml` file is created in the Actions `$HOME/.m2` directory. If you have an existing `settings.xml` file at that location, it will be overwritten. See [below](#apache-maven-with-a-settings-path) for using the `settings-path` to change your `settings.xml` file location.
|
||||||
|
|
||||||
|
***NOTE***: The generated `settings.xml` sets `<interactiveMode>false</interactiveMode>` so that Maven never blocks a CI run waiting on an interactive prompt. This is applied automatically whenever the action generates `settings.xml`.
|
||||||
|
|
||||||
If you don't want to overwrite the `settings.xml` file, you can set `overwrite-settings: false`
|
If you don't want to overwrite the `settings.xml` file, you can set `overwrite-settings: false`
|
||||||
|
|
||||||
### Extra setup for pom.xml:
|
### Extra setup for pom.xml:
|
||||||
@@ -490,6 +573,74 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ github.token }}
|
GITHUB_TOKEN: ${{ github.token }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Maven transfer progress (download logs)
|
||||||
|
|
||||||
|
By default, Maven prints a line for every artifact it downloads, which can add hundreds of noisy lines to CI logs. To keep logs clean, `setup-java` sets the [`MAVEN_ARGS`](https://maven.apache.org/configure.html#maven_args-environment-variable) environment variable to include `-ntp` (`--no-transfer-progress`) so that subsequent Maven invocations in the job suppress this transfer progress output.
|
||||||
|
|
||||||
|
This is enabled by default. Any existing `MAVEN_ARGS` value is preserved (the flag is appended, not overwritten), and the flag is not added twice if you already set it yourself.
|
||||||
|
|
||||||
|
If you want to keep the download/transfer progress in your logs, set `show-download-progress: true`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: '<distribution>'
|
||||||
|
java-version: '21'
|
||||||
|
show-download-progress: true # keep Maven download/transfer progress in the logs
|
||||||
|
|
||||||
|
- name: Build with Maven
|
||||||
|
run: mvn -B package --file pom.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
***NOTES***:
|
||||||
|
- `MAVEN_ARGS` is honored by Maven 3.9.0+ and the Maven Wrapper (`mvnw`). Older Maven versions ignore it, so on those you can pass `--no-transfer-progress` on the command line instead.
|
||||||
|
- This setting only affects Maven. It has no effect on Gradle, sbt, or other build tools.
|
||||||
|
- `-ntp` only controls transfer/progress output; it does not change whether Maven runs in batch mode. Use `-B`/`--batch-mode` (or `<interactiveMode>false</interactiveMode>` in `settings.xml`) if you also want non-interactive runs.
|
||||||
|
|
||||||
|
## Java problem matcher (compiler annotations)
|
||||||
|
|
||||||
|
`setup-java` registers a [problem matcher](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md) for Java after installing the JDK. It scans the log output of subsequent steps and turns `javac` diagnostics into GitHub [annotations](https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#setting-a-warning-message) that appear in the run summary and inline on the affected files. It matches two kinds of lines:
|
||||||
|
|
||||||
|
- Compiler errors and warnings, e.g. `App.java:12: error: cannot find symbol` (owner `javac`).
|
||||||
|
- Uncaught-exception header lines, e.g. `Exception in thread "main" ...`; because these lines have no file or line captures, they appear as log/run-level annotations rather than inline file annotations (owner `java`).
|
||||||
|
|
||||||
|
This is enabled by default and requires no configuration.
|
||||||
|
|
||||||
|
### Disabling the problem matcher
|
||||||
|
|
||||||
|
There is no action input to turn the matcher off, but you can disable it for the rest of the job with the built-in [`remove-matcher`](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md#remove-a-problem-matcher) workflow command. Pass the matcher **owner** (not a file name); the Java matcher defines two owners, `javac` and `java`, so remove both to fully suppress it:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: '<distribution>'
|
||||||
|
java-version: '21'
|
||||||
|
|
||||||
|
- name: Disable the Java problem matcher
|
||||||
|
run: |
|
||||||
|
echo "::remove-matcher owner=javac::"
|
||||||
|
echo "::remove-matcher owner=java::"
|
||||||
|
|
||||||
|
- name: Build with Maven
|
||||||
|
run: mvn -B package --file pom.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
***NOTES***:
|
||||||
|
- `remove-matcher` only stops annotations from being created; the underlying compiler output is unchanged, so a failing `javac`/build still fails the step.
|
||||||
|
- The command is scoped to the job, so add the step right after `setup-java` (and before your build) in every job where you want the matcher disabled.
|
||||||
|
|
||||||
## Publishing using Gradle
|
## Publishing using Gradle
|
||||||
```yaml
|
```yaml
|
||||||
jobs:
|
jobs:
|
||||||
@@ -628,20 +779,36 @@ steps:
|
|||||||
If the `java-version-file` input is specified, the action will extract the version from the file and install it.
|
If the `java-version-file` input is specified, the action will extract the version from the file and install it.
|
||||||
|
|
||||||
Supported files are `.java-version`, `.tool-versions` and `.sdkmanrc`.
|
Supported files are `.java-version`, `.tool-versions` and `.sdkmanrc`.
|
||||||
* In `.java-version` file, only the version should be specified (e.g., 17.0.7). The `.java-version` file recognizes all variants of the version description according to [jenv](https://github.com/jenv/jenv).
|
* In `.java-version` file, only the version should be specified (e.g., 17.0.7). The `.java-version` file recognizes all variants of the version description according to [jenv](https://github.com/jenv/jenv). A [supported distribution](#supported-distributions) may optionally be specified as a prefix (e.g., `temurin-17.0.7`), in which case setup-java infers the `distribution` input automatically. Generic prefixes that are not a supported distribution (e.g., `openjdk64-17.0.7`) are ignored and require setting `distribution` explicitly.
|
||||||
* In `.tool-versions` file, java version should be preceded by the java keyword (e.g., java 17.0.7). The `.tool-versions` file supports version specifications in accordance with [asdf](https://github.com/asdf-vm/asdf) standards, adhering to Semantic Versioning ([semver](https://semver.org/)).
|
* In `.tool-versions` file, java version should be preceded by the java keyword (e.g., java 17.0.7). The `.tool-versions` file supports version specifications in accordance with [asdf](https://github.com/asdf-vm/asdf) standards, adhering to Semantic Versioning ([semver](https://semver.org/)). As with `.java-version`, a supported distribution may be specified as a prefix (e.g., `java temurin-17.0.7`) to infer the `distribution` input automatically.
|
||||||
* In `.sdkmanrc` file, java version should be preceded by the `java=` prefix (e.g., java=17.0.7-tem) and include the distribution. The `.sdkmanrc` file supports version specifications in accordance with [file format](https://sdkman.io/usage#env-command), see [Sdkman! documentation](https://sdkman.io/jdks) for more information.
|
* In `.sdkmanrc` file, java version should be preceded by the `java=` prefix (e.g., `java=17.0.7-tem`). When a recognized SDKMAN distribution suffix is present, setup-java can infer the `distribution` input automatically. Unrecognized suffixes require setting `distribution` explicitly. The `.sdkmanrc` file supports version specifications in accordance with [file format](https://sdkman.io/usage#env-command), see [Sdkman! documentation](https://sdkman.io/jdks) for more information.
|
||||||
|
|
||||||
|
Supported SDKMAN suffix mappings:
|
||||||
|
|
||||||
|
| SDKMAN suffix | setup-java distribution |
|
||||||
|
| ------------- | ----------------------- |
|
||||||
|
| `tem` | `temurin` |
|
||||||
|
| `sem` | `semeru` |
|
||||||
|
| `albba`, `dragonwell` | `dragonwell` |
|
||||||
|
| `zulu` | `zulu` |
|
||||||
|
| `amzn` | `corretto` |
|
||||||
|
| `graal`, `graalce` | `graalvm` |
|
||||||
|
| `librca` | `liberica` |
|
||||||
|
| `ms` | `microsoft` |
|
||||||
|
| `oracle` | `oracle` |
|
||||||
|
| `sapmchn` | `sapmachine` |
|
||||||
|
| `jbr` | `jetbrains` |
|
||||||
|
| `kona` | `kona` |
|
||||||
|
|
||||||
|
|
||||||
If both `java-version` and `java-version-file` **inputs** are provided, the `java-version` input will be used.
|
If both `java-version` and `java-version-file` **inputs** are provided, the `java-version` input will be used.
|
||||||
|
|
||||||
**Example step using `Sdkman!`**:
|
**Example step using `Sdkman!`** (distribution inferred from `.sdkmanrc`):
|
||||||
```yml
|
```yml
|
||||||
- name: Setup java
|
- name: Setup java
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@v5
|
||||||
with:
|
with:
|
||||||
java-version-file: '.sdkmanrc'
|
java-version-file: '.sdkmanrc'
|
||||||
distribution: 'temurin'
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**Example `.sdkmanrc`**:
|
**Example `.sdkmanrc`**:
|
||||||
@@ -649,12 +816,26 @@ steps:
|
|||||||
java=17.0.7-tem
|
java=17.0.7-tem
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Example step using `.java-version`** (distribution inferred from the file):
|
||||||
|
```yml
|
||||||
|
- name: Setup java
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
java-version-file: '.java-version'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Example `.java-version`** (distribution inferred from the `temurin-` prefix):
|
||||||
|
```
|
||||||
|
temurin-17.0.7
|
||||||
|
```
|
||||||
|
|
||||||
Valid entry options (does not apply to `.sdkmanrc`):
|
Valid entry options (does not apply to `.sdkmanrc`):
|
||||||
```
|
```
|
||||||
major versions: 8, 11, 16, 17, 21
|
major versions: 8, 11, 16, 17, 21
|
||||||
more specific versions: 8.0.282+8, 8.0.232, 11.0, 11.0.4, 17.0
|
more specific versions: 8.0.282+8, 8.0.232, 11.0, 11.0.4, 17.0
|
||||||
early access (EA) versions: 15-ea, 15.0.0-ea
|
early access (EA) versions: 15-ea, 15.0.0-ea
|
||||||
versions with specified distribution: openjdk64-11.0.2
|
versions with specified distribution: openjdk64-11.0.2
|
||||||
|
versions with inferred distribution: temurin-17.0.7, corretto-21
|
||||||
LTS versions : temurin-21.0.5+11.0.LTS
|
LTS versions : temurin-21.0.5+11.0.LTS
|
||||||
```
|
```
|
||||||
If the file contains multiple versions, only the first one will be recognized.
|
If the file contains multiple versions, only the first one will be recognized.
|
||||||
|
|||||||
@@ -63,6 +63,17 @@ Pull requests are the easiest way to contribute changes to git repos at GitHub.
|
|||||||
- To lint the code, **you need to run the `lint:fix` script**
|
- To lint the code, **you need to run the `lint:fix` script**
|
||||||
- To transpile source code to `javascript` we use [NCC](https://github.com/vercel/ncc). **It is very important to run the `build` script after making changes**, otherwise your changes will not get into the final `javascript` build
|
- To transpile source code to `javascript` we use [NCC](https://github.com/vercel/ncc). **It is very important to run the `build` script after making changes**, otherwise your changes will not get into the final `javascript` build
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Instead of running each script individually, you can run the aggregate scripts:
|
||||||
|
>
|
||||||
|
> - `npm run fix` — formats, lints (with autofix) and rebuilds the `dist/` bundle.
|
||||||
|
> - `npm run check` — runs the same validation as CI: `format-check`, `lint`, `build` and `test`. **Run this before pushing a pull request** to make sure it will pass the required checks.
|
||||||
|
>
|
||||||
|
> Git hooks are installed automatically when you run `npm install` (via [husky](https://typicode.github.io/husky/)):
|
||||||
|
>
|
||||||
|
> - a **pre-commit** hook formats and lints staged files with [lint-staged](https://github.com/lint-staged/lint-staged);
|
||||||
|
> - a **pre-push** hook rebuilds `dist/` and runs the test suite.
|
||||||
|
|
||||||
**Learn more about how to implement tests:**
|
**Learn more about how to implement tests:**
|
||||||
|
|
||||||
Adding or changing tests is an integral part of making a change to the code.
|
Adding or changing tests is an integral part of making a change to the code.
|
||||||
|
|||||||
Generated
+615
-45
@@ -24,15 +24,17 @@
|
|||||||
"@types/node": "^26.0.0",
|
"@types/node": "^26.0.0",
|
||||||
"@types/semver": "^7.5.8",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.48.0",
|
"@typescript-eslint/eslint-plugin": "^8.48.0",
|
||||||
"@typescript-eslint/parser": "^8.61.1",
|
"@typescript-eslint/parser": "^8.62.0",
|
||||||
"@vercel/ncc": "^0.44.0",
|
"@vercel/ncc": "^0.44.0",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-jest": "^29.0.1",
|
"eslint-plugin-jest": "^29.15.4",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"husky": "^9.1.7",
|
||||||
"jest": "^30.4.2",
|
"jest": "^30.4.2",
|
||||||
"jest-circus": "^30.4.2",
|
"jest-circus": "^30.4.2",
|
||||||
"prettier": "^3.6.2",
|
"lint-staged": "^17.0.8",
|
||||||
|
"prettier": "^3.9.1",
|
||||||
"ts-jest": "^29.4.11",
|
"ts-jest": "^29.4.11",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.3.3"
|
||||||
},
|
},
|
||||||
@@ -2072,16 +2074,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.61.1",
|
"version": "8.62.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.0.tgz",
|
||||||
"integrity": "sha512-PJ5vePq5/ognBbrIcoC5+SHO5dfpeLPzP9FpLkzWrguoYQEeeSjlJpVwOpo1JRSTEi7dRcwNy4h4dzV70PqHcg==",
|
"integrity": "sha512-dzHeT2gySzZtLDsuqxU9AkYgIsQoHAHtRBpOqM+Ofzx1Bwrd2RcCjQJ+6iQbsHOIR6NS33bF2W1k3blN1zLDrA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.61.1",
|
"@typescript-eslint/scope-manager": "8.62.0",
|
||||||
"@typescript-eslint/types": "8.61.1",
|
"@typescript-eslint/types": "8.62.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.61.1",
|
"@typescript-eslint/typescript-estree": "8.62.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.61.1",
|
"@typescript-eslint/visitor-keys": "8.62.0",
|
||||||
"debug": "^4.4.3"
|
"debug": "^4.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2097,14 +2099,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/project-service": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/project-service": {
|
||||||
"version": "8.61.1",
|
"version": "8.62.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.0.tgz",
|
||||||
"integrity": "sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA==",
|
"integrity": "sha512-wexnCqiTg7BOGtbLDftYpRWlmLq4xfoMd7BKFR6Y75sZS3QmRKLdN3yWLhmIYgqMmP/OXWpj3H8odkb5nGURCQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/tsconfig-utils": "^8.61.1",
|
"@typescript-eslint/tsconfig-utils": "^8.62.0",
|
||||||
"@typescript-eslint/types": "^8.61.1",
|
"@typescript-eslint/types": "^8.62.0",
|
||||||
"debug": "^4.4.3"
|
"debug": "^4.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2119,14 +2121,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.61.1",
|
"version": "8.62.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.0.tgz",
|
||||||
"integrity": "sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w==",
|
"integrity": "sha512-1lX38kNxXIRb8mEc3lbq5mdHq1Pf2+U0nFU65KfT18mtPxxl0fvjuEE92mHuXPuCtElJhOrddOpyMlM3Z0umEA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.61.1",
|
"@typescript-eslint/types": "8.62.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.61.1"
|
"@typescript-eslint/visitor-keys": "8.62.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -2137,9 +2139,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/tsconfig-utils": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/tsconfig-utils": {
|
||||||
"version": "8.61.1",
|
"version": "8.62.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.0.tgz",
|
||||||
"integrity": "sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg==",
|
"integrity": "sha512-y2GAdB6ykaXUvuspbYnizQc4oDDz0Tz/Yc7iWrXf9mx8vm/L/0vLHCe0tS2boG96Zy+DivnVDQ9ZUEWoHqqx1g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2154,9 +2156,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.61.1",
|
"version": "8.62.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.0.tgz",
|
||||||
"integrity": "sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA==",
|
"integrity": "sha512-KvAclkktORPvM54TgLgA4z9HIV1M8zOgw9ZVNXl9f/8dLYfXYX1wkMXP7qmabpijQRV5bHJLOmoyGQbLMaUYeg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2168,16 +2170,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.61.1",
|
"version": "8.62.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.0.tgz",
|
||||||
"integrity": "sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg==",
|
"integrity": "sha512-+hVbNxtW64pIcZWDPGbyaKF7vp2IBTVY5ma1blwwksrjdsbdqqEKvJWMGbBofei4F6Dovx1M0RJgoFeNu2279A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/project-service": "8.61.1",
|
"@typescript-eslint/project-service": "8.62.0",
|
||||||
"@typescript-eslint/tsconfig-utils": "8.61.1",
|
"@typescript-eslint/tsconfig-utils": "8.62.0",
|
||||||
"@typescript-eslint/types": "8.61.1",
|
"@typescript-eslint/types": "8.62.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.61.1",
|
"@typescript-eslint/visitor-keys": "8.62.0",
|
||||||
"debug": "^4.4.3",
|
"debug": "^4.4.3",
|
||||||
"minimatch": "^10.2.2",
|
"minimatch": "^10.2.2",
|
||||||
"semver": "^7.7.3",
|
"semver": "^7.7.3",
|
||||||
@@ -2196,13 +2198,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.61.1",
|
"version": "8.62.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.0.tgz",
|
||||||
"integrity": "sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w==",
|
"integrity": "sha512-CY3uyFSRbcQv3nnSv8S0+lDftMVz6P963PoRlxrV7ew/Md564g9ut60PYzdLM5qW4jFn93GBF+Soi90ISAN+GQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.61.1",
|
"@typescript-eslint/types": "8.62.0",
|
||||||
"eslint-visitor-keys": "^5.0.0"
|
"eslint-visitor-keys": "^5.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -3222,6 +3224,85 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/cli-cursor": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"restore-cursor": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cli-truncate": {
|
||||||
|
"version": "5.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz",
|
||||||
|
"integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"slice-ansi": "^8.0.0",
|
||||||
|
"string-width": "^8.2.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cli-truncate/node_modules/ansi-regex": {
|
||||||
|
"version": "6.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
||||||
|
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cli-truncate/node_modules/string-width": {
|
||||||
|
"version": "8.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
|
||||||
|
"integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"get-east-asian-width": "^1.5.0",
|
||||||
|
"strip-ansi": "^7.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cli-truncate/node_modules/strip-ansi": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": "^6.2.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/cliui": {
|
"node_modules/cliui": {
|
||||||
"version": "8.0.1",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||||
@@ -3403,6 +3484,19 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/environment": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/error-ex": {
|
"node_modules/error-ex": {
|
||||||
"version": "1.3.4",
|
"version": "1.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
|
||||||
@@ -3526,10 +3620,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-plugin-jest": {
|
"node_modules/eslint-plugin-jest": {
|
||||||
"version": "29.0.1",
|
"version": "29.15.4",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.15.4.tgz",
|
||||||
"integrity": "sha512-EE44T0OSMCeXhDrrdsbKAhprobKkPtJTbQz5yEktysNpHeDZTAL1SfDTNKmcFfJkY6yrQLtTKZALrD3j/Gpmiw==",
|
"integrity": "sha512-6ln5i9Nkrb27X4w91ZPt/xHDsVQnvxTS2ntgq6r32u+8gymdUrp88TdcBXSveZW0Dl+M5v2H6K75kJhMvUGhjg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/utils": "^8.0.0"
|
"@typescript-eslint/utils": "^8.0.0"
|
||||||
},
|
},
|
||||||
@@ -3538,8 +3633,9 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
||||||
"eslint": "^8.57.0 || ^9.0.0",
|
"eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
|
||||||
"jest": "*"
|
"jest": "*",
|
||||||
|
"typescript": ">=4.8.4 <7.0.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@typescript-eslint/eslint-plugin": {
|
"@typescript-eslint/eslint-plugin": {
|
||||||
@@ -3547,6 +3643,9 @@
|
|||||||
},
|
},
|
||||||
"jest": {
|
"jest": {
|
||||||
"optional": true
|
"optional": true
|
||||||
|
},
|
||||||
|
"typescript": {
|
||||||
|
"optional": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -3722,6 +3821,13 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/eventemitter3": {
|
||||||
|
"version": "5.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
|
||||||
|
"integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/events": {
|
"node_modules/events": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||||
@@ -3983,6 +4089,19 @@
|
|||||||
"node": "6.* || 8.* || >= 10.*"
|
"node": "6.* || 8.* || >= 10.*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/get-east-asian-width": {
|
||||||
|
"version": "1.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
|
||||||
|
"integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/get-package-type": {
|
"node_modules/get-package-type": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
|
||||||
@@ -4151,6 +4270,22 @@
|
|||||||
"node": ">=10.17.0"
|
"node": ">=10.17.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/husky": {
|
||||||
|
"version": "9.1.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
|
||||||
|
"integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"husky": "bin.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/typicode"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/ignore": {
|
"node_modules/ignore": {
|
||||||
"version": "5.3.0",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
|
||||||
@@ -5218,6 +5353,138 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/lint-staged": {
|
||||||
|
"version": "17.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.0.8.tgz",
|
||||||
|
"integrity": "sha512-B2P/d+jVW0UXOQ0MVMLrB/9ydA1P+zz6jYfdrbbEd9ur3S2rcbduFWKiUCC02Sm5hbC8nrm7y24WuYMG54HfxA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"listr2": "^10.2.1",
|
||||||
|
"picomatch": "^4.0.4",
|
||||||
|
"string-argv": "^0.3.2",
|
||||||
|
"tinyexec": "^1.2.4"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"lint-staged": "bin/lint-staged.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=22.22.1"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/lint-staged"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"yaml": "^2.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lint-staged/node_modules/picomatch": {
|
||||||
|
"version": "4.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
|
||||||
|
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/listr2": {
|
||||||
|
"version": "10.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/listr2/-/listr2-10.2.2.tgz",
|
||||||
|
"integrity": "sha512-JtNtbZj8q5BnDMR7trpwvwk3RIrANtIVzEUm8w7amp6xelLgyuq+4WZoTH913XaQAoH/cNdYhaNzBPA2U3xbDw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"cli-truncate": "^5.2.0",
|
||||||
|
"eventemitter3": "^5.0.4",
|
||||||
|
"log-update": "^6.1.0",
|
||||||
|
"rfdc": "^1.4.1",
|
||||||
|
"wrap-ansi": "^10.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=22.13.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/listr2/node_modules/ansi-regex": {
|
||||||
|
"version": "6.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
||||||
|
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/listr2/node_modules/ansi-styles": {
|
||||||
|
"version": "6.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
||||||
|
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/listr2/node_modules/string-width": {
|
||||||
|
"version": "8.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
|
||||||
|
"integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"get-east-asian-width": "^1.5.0",
|
||||||
|
"strip-ansi": "^7.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/listr2/node_modules/strip-ansi": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": "^6.2.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/listr2/node_modules/wrap-ansi": {
|
||||||
|
"version": "10.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-10.0.0.tgz",
|
||||||
|
"integrity": "sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^6.2.3",
|
||||||
|
"string-width": "^8.2.0",
|
||||||
|
"strip-ansi": "^7.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/locate-path": {
|
"node_modules/locate-path": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
||||||
@@ -5245,6 +5512,160 @@
|
|||||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/log-update": {
|
||||||
|
"version": "6.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
|
||||||
|
"integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-escapes": "^7.0.0",
|
||||||
|
"cli-cursor": "^5.0.0",
|
||||||
|
"slice-ansi": "^7.1.0",
|
||||||
|
"strip-ansi": "^7.1.0",
|
||||||
|
"wrap-ansi": "^9.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/ansi-escapes": {
|
||||||
|
"version": "7.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz",
|
||||||
|
"integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"environment": "^1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/ansi-regex": {
|
||||||
|
"version": "6.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
||||||
|
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/ansi-styles": {
|
||||||
|
"version": "6.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
||||||
|
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/emoji-regex": {
|
||||||
|
"version": "10.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
|
||||||
|
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/is-fullwidth-code-point": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"get-east-asian-width": "^1.3.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/slice-ansi": {
|
||||||
|
"version": "7.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
|
||||||
|
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^6.2.1",
|
||||||
|
"is-fullwidth-code-point": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/string-width": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"emoji-regex": "^10.3.0",
|
||||||
|
"get-east-asian-width": "^1.0.0",
|
||||||
|
"strip-ansi": "^7.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/strip-ansi": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": "^6.2.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/log-update/node_modules/wrap-ansi": {
|
||||||
|
"version": "9.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
|
||||||
|
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^6.2.1",
|
||||||
|
"string-width": "^7.0.0",
|
||||||
|
"strip-ansi": "^7.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/lru-cache": {
|
"node_modules/lru-cache": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||||
@@ -5302,6 +5723,19 @@
|
|||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/mimic-function": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/minimatch": {
|
"node_modules/minimatch": {
|
||||||
"version": "3.1.5",
|
"version": "3.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
|
||||||
@@ -5708,9 +6142,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prettier": {
|
"node_modules/prettier": {
|
||||||
"version": "3.6.2",
|
"version": "3.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.1.tgz",
|
||||||
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
|
"integrity": "sha512-ppiDo2CSwexck1eyZUwJHg/N3nf1+6IRCv7W/VJ5vaLnVCmB7+3CdRfMwoCHBBX6xTrREDTksZ4OZl5SSf4zXA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -5885,6 +6319,52 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/restore-cursor": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"onetime": "^7.0.0",
|
||||||
|
"signal-exit": "^4.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/restore-cursor/node_modules/onetime": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"mimic-function": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/restore-cursor/node_modules/signal-exit": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/reusify": {
|
"node_modules/reusify": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
|
||||||
@@ -5895,6 +6375,13 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/rfdc": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/rimraf": {
|
"node_modules/rimraf": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||||
@@ -5981,6 +6468,52 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/slice-ansi": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^6.2.3",
|
||||||
|
"is-fullwidth-code-point": "^5.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/slice-ansi/node_modules/ansi-styles": {
|
||||||
|
"version": "6.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
||||||
|
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"get-east-asian-width": "^1.3.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/source-map": {
|
"node_modules/source-map": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
@@ -6032,6 +6565,16 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/string-argv": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
|
||||||
|
"integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.6.19"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/string-length": {
|
"node_modules/string-length": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
||||||
@@ -6211,6 +6754,16 @@
|
|||||||
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
|
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/tinyexec": {
|
||||||
|
"version": "1.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz",
|
||||||
|
"integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/tinyglobby": {
|
"node_modules/tinyglobby": {
|
||||||
"version": "0.2.15",
|
"version": "0.2.15",
|
||||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
||||||
@@ -6675,6 +7228,23 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/yaml": {
|
||||||
|
"version": "2.9.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
|
||||||
|
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
|
"optional": true,
|
||||||
|
"bin": {
|
||||||
|
"yaml": "bin.mjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/eemeli"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/yargs": {
|
"node_modules/yargs": {
|
||||||
"version": "17.7.2",
|
"version": "17.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||||
|
|||||||
+17
-3
@@ -13,10 +13,22 @@
|
|||||||
"format-check": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --check \"**/*.{ts,yml,yaml}\"",
|
"format-check": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --check \"**/*.{ts,yml,yaml}\"",
|
||||||
"lint": "eslint --config ./.eslintrc.js \"**/*.ts\"",
|
"lint": "eslint --config ./.eslintrc.js \"**/*.ts\"",
|
||||||
"lint:fix": "eslint --config ./.eslintrc.js \"**/*.ts\" --fix",
|
"lint:fix": "eslint --config ./.eslintrc.js \"**/*.ts\" --fix",
|
||||||
|
"check": "npm run format-check && npm run lint && npm run build && npm test",
|
||||||
|
"fix": "npm run format && npm run lint:fix && npm run build",
|
||||||
|
"prepare": "husky install",
|
||||||
"prerelease": "npm run-script build",
|
"prerelease": "npm run-script build",
|
||||||
"release": "git add -f dist/setup/index.js dist/cleanup/index.js",
|
"release": "git add -f dist/setup/index.js dist/cleanup/index.js",
|
||||||
"test": "jest"
|
"test": "jest"
|
||||||
},
|
},
|
||||||
|
"lint-staged": {
|
||||||
|
"*.ts": [
|
||||||
|
"prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write",
|
||||||
|
"eslint --config ./.eslintrc.js --fix"
|
||||||
|
],
|
||||||
|
"*.{yml,yaml}": [
|
||||||
|
"prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write"
|
||||||
|
]
|
||||||
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/actions/setup-java.git"
|
"url": "git+https://github.com/actions/setup-java.git"
|
||||||
@@ -44,15 +56,17 @@
|
|||||||
"@types/node": "^26.0.0",
|
"@types/node": "^26.0.0",
|
||||||
"@types/semver": "^7.5.8",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.48.0",
|
"@typescript-eslint/eslint-plugin": "^8.48.0",
|
||||||
"@typescript-eslint/parser": "^8.61.1",
|
"@typescript-eslint/parser": "^8.62.0",
|
||||||
"@vercel/ncc": "^0.44.0",
|
"@vercel/ncc": "^0.44.0",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-config-prettier": "^10.1.8",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-jest": "^29.0.1",
|
"eslint-plugin-jest": "^29.15.4",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"husky": "^9.1.7",
|
||||||
"jest": "^30.4.2",
|
"jest": "^30.4.2",
|
||||||
"jest-circus": "^30.4.2",
|
"jest-circus": "^30.4.2",
|
||||||
"prettier": "^3.6.2",
|
"lint-staged": "^17.0.8",
|
||||||
|
"prettier": "^3.9.1",
|
||||||
"ts-jest": "^29.4.11",
|
"ts-jest": "^29.4.11",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.3.3"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ export function generate(
|
|||||||
'@xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
|
'@xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
|
||||||
'@xsi:schemaLocation':
|
'@xsi:schemaLocation':
|
||||||
'http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd',
|
'http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd',
|
||||||
|
interactiveMode: false,
|
||||||
servers: {
|
servers: {
|
||||||
server: [
|
server: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ export const INPUT_JAVA_PACKAGE = 'java-package';
|
|||||||
export const INPUT_DISTRIBUTION = 'distribution';
|
export const INPUT_DISTRIBUTION = 'distribution';
|
||||||
export const INPUT_JDK_FILE = 'jdkFile';
|
export const INPUT_JDK_FILE = 'jdkFile';
|
||||||
export const INPUT_CHECK_LATEST = 'check-latest';
|
export const INPUT_CHECK_LATEST = 'check-latest';
|
||||||
|
export const INPUT_SET_DEFAULT = 'set-default';
|
||||||
|
export const INPUT_VERIFY_SIGNATURE = 'verify-signature';
|
||||||
|
export const INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = 'verify-signature-public-key';
|
||||||
export const INPUT_SERVER_ID = 'server-id';
|
export const INPUT_SERVER_ID = 'server-id';
|
||||||
export const INPUT_SERVER_USERNAME = 'server-username';
|
export const INPUT_SERVER_USERNAME = 'server-username';
|
||||||
export const INPUT_SERVER_PASSWORD = 'server-password';
|
export const INPUT_SERVER_PASSWORD = 'server-password';
|
||||||
@@ -28,5 +31,31 @@ export const MVN_SETTINGS_FILE = 'settings.xml';
|
|||||||
export const MVN_TOOLCHAINS_FILE = 'toolchains.xml';
|
export const MVN_TOOLCHAINS_FILE = 'toolchains.xml';
|
||||||
export const INPUT_MVN_TOOLCHAIN_ID = 'mvn-toolchain-id';
|
export const INPUT_MVN_TOOLCHAIN_ID = 'mvn-toolchain-id';
|
||||||
export const INPUT_MVN_TOOLCHAIN_VENDOR = 'mvn-toolchain-vendor';
|
export const INPUT_MVN_TOOLCHAIN_VENDOR = 'mvn-toolchain-vendor';
|
||||||
|
export const INPUT_SHOW_DOWNLOAD_PROGRESS = 'show-download-progress';
|
||||||
|
|
||||||
|
export const MAVEN_ARGS_ENV = 'MAVEN_ARGS';
|
||||||
|
export const MAVEN_NO_TRANSFER_PROGRESS_FLAG = '-ntp';
|
||||||
|
export const MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG = '--no-transfer-progress';
|
||||||
|
|
||||||
export const DISTRIBUTIONS_ONLY_MAJOR_VERSION = ['corretto'];
|
export const DISTRIBUTIONS_ONLY_MAJOR_VERSION = ['corretto'];
|
||||||
|
|
||||||
|
// Distribution names supported by the `distribution` input. Used to validate
|
||||||
|
// distribution identifiers inferred from a `.java-version`/`.tool-versions` file.
|
||||||
|
export const SUPPORTED_DISTRIBUTIONS = [
|
||||||
|
'adopt',
|
||||||
|
'adopt-hotspot',
|
||||||
|
'adopt-openj9',
|
||||||
|
'temurin',
|
||||||
|
'zulu',
|
||||||
|
'liberica',
|
||||||
|
'microsoft',
|
||||||
|
'semeru',
|
||||||
|
'corretto',
|
||||||
|
'oracle',
|
||||||
|
'dragonwell',
|
||||||
|
'sapmachine',
|
||||||
|
'graalvm',
|
||||||
|
'graalvm-community',
|
||||||
|
'jetbrains',
|
||||||
|
'kona'
|
||||||
|
];
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ export abstract class JavaBase {
|
|||||||
protected packageType: string;
|
protected packageType: string;
|
||||||
protected stable: boolean;
|
protected stable: boolean;
|
||||||
protected checkLatest: boolean;
|
protected checkLatest: boolean;
|
||||||
|
protected setDefault: boolean;
|
||||||
|
protected verifySignature: boolean;
|
||||||
|
protected verifySignaturePublicKey: string | undefined;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
protected distribution: string,
|
protected distribution: string,
|
||||||
@@ -36,6 +39,12 @@ export abstract class JavaBase {
|
|||||||
this.architecture = installerOptions.architecture || os.arch();
|
this.architecture = installerOptions.architecture || os.arch();
|
||||||
this.packageType = installerOptions.packageType;
|
this.packageType = installerOptions.packageType;
|
||||||
this.checkLatest = installerOptions.checkLatest;
|
this.checkLatest = installerOptions.checkLatest;
|
||||||
|
this.setDefault =
|
||||||
|
installerOptions.setDefault !== undefined
|
||||||
|
? installerOptions.setDefault
|
||||||
|
: true;
|
||||||
|
this.verifySignature = installerOptions.verifySignature ?? false;
|
||||||
|
this.verifySignaturePublicKey = installerOptions.verifySignaturePublicKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract downloadTool(
|
protected abstract downloadTool(
|
||||||
@@ -46,6 +55,12 @@ export abstract class JavaBase {
|
|||||||
): Promise<JavaDownloadRelease>;
|
): Promise<JavaDownloadRelease>;
|
||||||
|
|
||||||
public async setupJava(): Promise<JavaInstallerResults> {
|
public async setupJava(): Promise<JavaInstallerResults> {
|
||||||
|
if (this.verifySignature && !this.supportsSignatureVerification()) {
|
||||||
|
throw new Error(
|
||||||
|
`Input 'verify-signature' is not supported for distribution '${this.distribution}'.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
let foundJava = this.findInToolcache();
|
let foundJava = this.findInToolcache();
|
||||||
if (foundJava && !this.checkLatest) {
|
if (foundJava && !this.checkLatest) {
|
||||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||||
@@ -169,8 +184,15 @@ export abstract class JavaBase {
|
|||||||
foundJava.path = macOSPostfixPath;
|
foundJava.path = macOSPostfixPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
core.info(`Setting Java ${foundJava.version} as the default`);
|
if (this.setDefault) {
|
||||||
this.setJavaDefault(foundJava.version, foundJava.path);
|
core.info(`Setting Java ${foundJava.version} as the default`);
|
||||||
|
this.setJavaDefault(foundJava.version, foundJava.path);
|
||||||
|
} else {
|
||||||
|
core.info(
|
||||||
|
`Installing Java ${foundJava.version} (not setting as default)`
|
||||||
|
);
|
||||||
|
this.setJavaEnvironment(foundJava.version, foundJava.path);
|
||||||
|
}
|
||||||
|
|
||||||
return foundJava;
|
return foundJava;
|
||||||
}
|
}
|
||||||
@@ -179,6 +201,10 @@ export abstract class JavaBase {
|
|||||||
return `Java_${this.distribution}_${this.packageType}`;
|
return `Java_${this.distribution}_${this.packageType}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected supportsSignatureVerification(): boolean {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
protected getToolcacheVersionName(version: string): string {
|
protected getToolcacheVersionName(version: string): string {
|
||||||
if (!this.stable) {
|
if (!this.stable) {
|
||||||
if (version.includes('+')) {
|
if (version.includes('+')) {
|
||||||
@@ -298,9 +324,13 @@ export abstract class JavaBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected setJavaDefault(version: string, toolPath: string) {
|
protected setJavaDefault(version: string, toolPath: string) {
|
||||||
const majorVersion = version.split('.')[0];
|
|
||||||
core.exportVariable('JAVA_HOME', toolPath);
|
core.exportVariable('JAVA_HOME', toolPath);
|
||||||
core.addPath(path.join(toolPath, 'bin'));
|
core.addPath(path.join(toolPath, 'bin'));
|
||||||
|
this.setJavaEnvironment(version, toolPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected setJavaEnvironment(version: string, toolPath: string) {
|
||||||
|
const majorVersion = version.split('.')[0];
|
||||||
core.setOutput('distribution', this.distribution);
|
core.setOutput('distribution', this.distribution);
|
||||||
core.setOutput('path', toolPath);
|
core.setOutput('path', toolPath);
|
||||||
core.setOutput('version', version);
|
core.setOutput('version', version);
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ export interface JavaInstallerOptions {
|
|||||||
architecture: string;
|
architecture: string;
|
||||||
packageType: string;
|
packageType: string;
|
||||||
checkLatest: boolean;
|
checkLatest: boolean;
|
||||||
|
setDefault?: boolean;
|
||||||
|
verifySignature?: boolean;
|
||||||
|
verifySignaturePublicKey?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface JavaInstallerResults {
|
export interface JavaInstallerResults {
|
||||||
@@ -13,4 +16,5 @@ export interface JavaInstallerResults {
|
|||||||
export interface JavaDownloadRelease {
|
export interface JavaDownloadRelease {
|
||||||
version: string;
|
version: string;
|
||||||
url: string;
|
url: string;
|
||||||
|
signatureUrl?: string;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,8 +127,7 @@ export class CorrettoDistribution extends JavaBase {
|
|||||||
|
|
||||||
private getAvailableVersionsForPlatform(
|
private getAvailableVersionsForPlatform(
|
||||||
eligibleVersions:
|
eligibleVersions:
|
||||||
| ICorrettoAllAvailableVersions['os']['arch']['imageType']
|
ICorrettoAllAvailableVersions['os']['arch']['imageType'] | undefined
|
||||||
| undefined
|
|
||||||
): ICorrettoAvailableVersions[] {
|
): ICorrettoAvailableVersions[] {
|
||||||
const availableVersions: ICorrettoAvailableVersions[] = [];
|
const availableVersions: ICorrettoAvailableVersions[] = [];
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,12 @@ import {CorrettoDistribution} from './corretto/installer';
|
|||||||
import {OracleDistribution} from './oracle/installer';
|
import {OracleDistribution} from './oracle/installer';
|
||||||
import {DragonwellDistribution} from './dragonwell/installer';
|
import {DragonwellDistribution} from './dragonwell/installer';
|
||||||
import {SapMachineDistribution} from './sapmachine/installer';
|
import {SapMachineDistribution} from './sapmachine/installer';
|
||||||
import {GraalVMDistribution} from './graalvm/installer';
|
import {
|
||||||
|
GraalVMCommunityDistribution,
|
||||||
|
GraalVMDistribution
|
||||||
|
} from './graalvm/installer';
|
||||||
import {JetBrainsDistribution} from './jetbrains/installer';
|
import {JetBrainsDistribution} from './jetbrains/installer';
|
||||||
|
import {KonaDistribution} from './kona/installer';
|
||||||
|
|
||||||
enum JavaDistribution {
|
enum JavaDistribution {
|
||||||
Adopt = 'adopt',
|
Adopt = 'adopt',
|
||||||
@@ -29,7 +33,9 @@ enum JavaDistribution {
|
|||||||
Dragonwell = 'dragonwell',
|
Dragonwell = 'dragonwell',
|
||||||
SapMachine = 'sapmachine',
|
SapMachine = 'sapmachine',
|
||||||
GraalVM = 'graalvm',
|
GraalVM = 'graalvm',
|
||||||
JetBrains = 'jetbrains'
|
GraalVMCommunity = 'graalvm-community',
|
||||||
|
JetBrains = 'jetbrains',
|
||||||
|
Kona = 'kona'
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getJavaDistribution(
|
export function getJavaDistribution(
|
||||||
@@ -74,8 +80,12 @@ export function getJavaDistribution(
|
|||||||
return new SapMachineDistribution(installerOptions);
|
return new SapMachineDistribution(installerOptions);
|
||||||
case JavaDistribution.GraalVM:
|
case JavaDistribution.GraalVM:
|
||||||
return new GraalVMDistribution(installerOptions);
|
return new GraalVMDistribution(installerOptions);
|
||||||
|
case JavaDistribution.GraalVMCommunity:
|
||||||
|
return new GraalVMCommunityDistribution(installerOptions);
|
||||||
case JavaDistribution.JetBrains:
|
case JavaDistribution.JetBrains:
|
||||||
return new JetBrainsDistribution(installerOptions);
|
return new JetBrainsDistribution(installerOptions);
|
||||||
|
case JavaDistribution.Kona:
|
||||||
|
return new KonaDistribution(installerOptions);
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import * as core from '@actions/core';
|
|||||||
import * as tc from '@actions/tool-cache';
|
import * as tc from '@actions/tool-cache';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import semver from 'semver';
|
||||||
import {JavaBase} from '../base-installer';
|
import {JavaBase} from '../base-installer';
|
||||||
import {HttpCodes} from '@actions/http-client';
|
import {HttpCodes} from '@actions/http-client';
|
||||||
import {GraalVMEAVersion} from './models';
|
import {GraalVMEAVersion} from './models';
|
||||||
@@ -11,14 +12,26 @@ import {
|
|||||||
JavaInstallerResults
|
JavaInstallerResults
|
||||||
} from '../base-models';
|
} from '../base-models';
|
||||||
import {
|
import {
|
||||||
|
convertVersionToSemver,
|
||||||
extractJdkFile,
|
extractJdkFile,
|
||||||
getDownloadArchiveExtension,
|
getDownloadArchiveExtension,
|
||||||
getGitHubHttpHeaders,
|
getGitHubHttpHeaders,
|
||||||
renameWinArchive
|
getNextPageUrlFromLinkHeader,
|
||||||
|
isVersionSatisfies,
|
||||||
|
MAX_PAGINATION_PAGES,
|
||||||
|
renameWinArchive,
|
||||||
|
validatePaginationUrl
|
||||||
} from '../../util';
|
} from '../../util';
|
||||||
|
|
||||||
const GRAALVM_DL_BASE = 'https://download.oracle.com/graalvm';
|
const GRAALVM_DL_BASE = 'https://download.oracle.com/graalvm';
|
||||||
const GRAALVM_DOWNLOAD_URL = 'https://www.graalvm.org/downloads/';
|
const GRAALVM_DOWNLOAD_URL = 'https://www.graalvm.org/downloads/';
|
||||||
|
const GRAALVM_COMMUNITY_RELEASES_URL =
|
||||||
|
'https://api.github.com/repos/graalvm/graalvm-ce-builds/releases?per_page=100';
|
||||||
|
const GRAALVM_COMMUNITY_RELEASES_PAGE_ORIGIN = 'https://api.github.com';
|
||||||
|
const GRAALVM_COMMUNITY_DOWNLOAD_URL =
|
||||||
|
'https://github.com/graalvm/graalvm-ce-builds/releases';
|
||||||
|
const GRAALVM_COMMUNITY_ASSET_PREFIX = 'graalvm-community-jdk-';
|
||||||
|
const GRAALVM_COMMUNITY_VERSION_PATTERN = /^\d+(?:\.\d+)*$/;
|
||||||
const IS_WINDOWS = process.platform === 'win32';
|
const IS_WINDOWS = process.platform === 'win32';
|
||||||
const GRAALVM_PLATFORM = IS_WINDOWS ? 'windows' : process.platform;
|
const GRAALVM_PLATFORM = IS_WINDOWS ? 'windows' : process.platform;
|
||||||
const GRAALVM_MIN_VERSION = 17;
|
const GRAALVM_MIN_VERSION = 17;
|
||||||
@@ -26,9 +39,23 @@ const SUPPORTED_ARCHITECTURES = ['x64', 'aarch64'] as const;
|
|||||||
type SupportedArchitecture = (typeof SUPPORTED_ARCHITECTURES)[number];
|
type SupportedArchitecture = (typeof SUPPORTED_ARCHITECTURES)[number];
|
||||||
type OsVersions = 'linux' | 'macos' | 'windows';
|
type OsVersions = 'linux' | 'macos' | 'windows';
|
||||||
|
|
||||||
|
interface GraalVMCommunityAsset {
|
||||||
|
name: string;
|
||||||
|
browser_download_url: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface GraalVMCommunityRelease {
|
||||||
|
draft: boolean;
|
||||||
|
prerelease: boolean;
|
||||||
|
assets: GraalVMCommunityAsset[];
|
||||||
|
}
|
||||||
|
|
||||||
export class GraalVMDistribution extends JavaBase {
|
export class GraalVMDistribution extends JavaBase {
|
||||||
constructor(installerOptions: JavaInstallerOptions) {
|
constructor(
|
||||||
super('GraalVM', installerOptions);
|
installerOptions: JavaInstallerOptions,
|
||||||
|
distributionName = 'GraalVM'
|
||||||
|
) {
|
||||||
|
super(distributionName, installerOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async downloadTool(
|
protected async downloadTool(
|
||||||
@@ -85,40 +112,14 @@ export class GraalVMDistribution extends JavaBase {
|
|||||||
protected async findPackageForDownload(
|
protected async findPackageForDownload(
|
||||||
range: string
|
range: string
|
||||||
): Promise<JavaDownloadRelease> {
|
): Promise<JavaDownloadRelease> {
|
||||||
// Add input validation
|
this.validateVersionRange(range);
|
||||||
if (!range || typeof range !== 'string') {
|
const arch = this.getSupportedArchitecture();
|
||||||
throw new Error('Version range is required and must be a string');
|
|
||||||
}
|
|
||||||
|
|
||||||
const arch = this.distributionArchitecture();
|
|
||||||
if (!SUPPORTED_ARCHITECTURES.includes(arch as SupportedArchitecture)) {
|
|
||||||
throw new Error(
|
|
||||||
`Unsupported architecture: ${this.architecture}. Supported architectures are: ${SUPPORTED_ARCHITECTURES.join(', ')}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.stable) {
|
if (!this.stable) {
|
||||||
return this.findEABuildDownloadUrl(`${range}-ea`);
|
return this.findEABuildDownloadUrl(`${range}-ea`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.packageType !== 'jdk') {
|
const {platform, extension, major} = this.validateStableBuildRequest(range);
|
||||||
throw new Error('GraalVM provides only the `jdk` package type');
|
|
||||||
}
|
|
||||||
|
|
||||||
const platform = this.getPlatform();
|
|
||||||
const extension = getDownloadArchiveExtension();
|
|
||||||
const major = range.includes('.') ? range.split('.')[0] : range;
|
|
||||||
const majorVersion = parseInt(major);
|
|
||||||
|
|
||||||
if (isNaN(majorVersion)) {
|
|
||||||
throw new Error(`Invalid version format: ${range}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (majorVersion < GRAALVM_MIN_VERSION) {
|
|
||||||
throw new Error(
|
|
||||||
`GraalVM is only supported for JDK ${GRAALVM_MIN_VERSION} and later. Requested version: ${major}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const fileUrl = this.constructFileUrl(
|
const fileUrl = this.constructFileUrl(
|
||||||
range,
|
range,
|
||||||
@@ -134,6 +135,56 @@ export class GraalVMDistribution extends JavaBase {
|
|||||||
return {url: fileUrl, version: range};
|
return {url: fileUrl, version: range};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected validateVersionRange(range: string): void {
|
||||||
|
if (!range || typeof range !== 'string') {
|
||||||
|
throw new Error('Version range is required and must be a string');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected getSupportedArchitecture(): SupportedArchitecture {
|
||||||
|
const arch = this.distributionArchitecture();
|
||||||
|
if (!SUPPORTED_ARCHITECTURES.includes(arch as SupportedArchitecture)) {
|
||||||
|
throw new Error(
|
||||||
|
`Unsupported architecture: ${this.architecture}. Supported architectures are: ${SUPPORTED_ARCHITECTURES.join(', ')}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return arch as SupportedArchitecture;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected validateStableBuildRequest(range: string): {
|
||||||
|
platform: OsVersions;
|
||||||
|
extension: string;
|
||||||
|
major: string;
|
||||||
|
} {
|
||||||
|
if (this.packageType !== 'jdk') {
|
||||||
|
throw new Error(
|
||||||
|
`${this.distribution} provides only the \`jdk\` package type`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const platform = this.getPlatform();
|
||||||
|
const extension = getDownloadArchiveExtension();
|
||||||
|
const major = range.includes('.') ? range.split('.')[0] : range;
|
||||||
|
const majorVersion = parseInt(major);
|
||||||
|
|
||||||
|
if (isNaN(majorVersion)) {
|
||||||
|
throw new Error(`Invalid version format: ${range}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (majorVersion < GRAALVM_MIN_VERSION) {
|
||||||
|
throw new Error(
|
||||||
|
`${this.distribution} is only supported for JDK ${GRAALVM_MIN_VERSION} and later. Requested version: ${major}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
platform,
|
||||||
|
major,
|
||||||
|
extension
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private constructFileUrl(
|
private constructFileUrl(
|
||||||
range: string,
|
range: string,
|
||||||
major: string,
|
major: string,
|
||||||
@@ -280,3 +331,144 @@ export class GraalVMDistribution extends JavaBase {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class GraalVMCommunityDistribution extends GraalVMDistribution {
|
||||||
|
constructor(installerOptions: JavaInstallerOptions) {
|
||||||
|
super(installerOptions, 'GraalVM Community');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected get toolcacheFolderName(): string {
|
||||||
|
return `Java_GraalVM_Community_${this.packageType}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected async findPackageForDownload(
|
||||||
|
range: string
|
||||||
|
): Promise<JavaDownloadRelease> {
|
||||||
|
this.validateVersionRange(range);
|
||||||
|
|
||||||
|
if (!this.stable) {
|
||||||
|
throw new Error('GraalVM Community does not provide early access builds');
|
||||||
|
}
|
||||||
|
|
||||||
|
const arch = this.getSupportedArchitecture();
|
||||||
|
const {platform, extension} = this.validateStableBuildRequest(range);
|
||||||
|
// GraalVM Community asset names embed the platform, architecture and
|
||||||
|
// archive type, e.g. `graalvm-community-jdk-21.0.2_linux-x64_bin.tar.gz`.
|
||||||
|
const assetSuffix = `_${platform}-${arch}_bin.${extension}`;
|
||||||
|
const availableVersions = await this.getAvailableVersions(assetSuffix);
|
||||||
|
|
||||||
|
const satisfiedVersion = availableVersions
|
||||||
|
.filter(item => isVersionSatisfies(range, item.version))
|
||||||
|
.sort((a, b) => -semver.compareBuild(a.version, b.version))[0];
|
||||||
|
|
||||||
|
if (!satisfiedVersion) {
|
||||||
|
const error = this.createVersionNotFoundError(
|
||||||
|
range,
|
||||||
|
availableVersions.map(item => item.version),
|
||||||
|
`Platform: ${platform}`
|
||||||
|
);
|
||||||
|
error.message += `\nPlease check if this version is available at ${GRAALVM_COMMUNITY_DOWNLOAD_URL}.`;
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
|
||||||
|
return satisfiedVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async getAvailableVersions(
|
||||||
|
assetSuffix: string
|
||||||
|
): Promise<JavaDownloadRelease[]> {
|
||||||
|
const headers = getGitHubHttpHeaders();
|
||||||
|
const versions = new Map<string, JavaDownloadRelease>();
|
||||||
|
let releasesUrl: string | null = GRAALVM_COMMUNITY_RELEASES_URL;
|
||||||
|
|
||||||
|
for (
|
||||||
|
let pageIndex = 0;
|
||||||
|
releasesUrl && pageIndex < MAX_PAGINATION_PAGES;
|
||||||
|
pageIndex++
|
||||||
|
) {
|
||||||
|
const response = await this.http.getJson<GraalVMCommunityRelease[]>(
|
||||||
|
releasesUrl,
|
||||||
|
headers
|
||||||
|
);
|
||||||
|
|
||||||
|
// A successful GitHub releases listing is always a JSON array (possibly
|
||||||
|
// empty). Anything else indicates an unexpected/error payload (rate
|
||||||
|
// limiting, auth failure, etc.) that must be surfaced instead of being
|
||||||
|
// silently treated as "no releases", which would later look like a
|
||||||
|
// misleading "version not found" error.
|
||||||
|
if (!Array.isArray(response.result)) {
|
||||||
|
throw new Error(
|
||||||
|
`Unexpected response while listing GraalVM Community releases from ${releasesUrl} ` +
|
||||||
|
`(HTTP status code: ${response.statusCode}). Expected a JSON array of releases. ` +
|
||||||
|
`Please check if the service is available at ${GRAALVM_COMMUNITY_DOWNLOAD_URL}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const releases = response.result;
|
||||||
|
if (releases.length === 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const release of releases) {
|
||||||
|
if (release.draft || release.prerelease) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const asset of release.assets ?? []) {
|
||||||
|
const version = this.extractAssetVersion(asset.name, assetSuffix);
|
||||||
|
if (version) {
|
||||||
|
versions.set(version, {
|
||||||
|
version,
|
||||||
|
url: asset.browser_download_url
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
releasesUrl = this.getNextReleasesUrl(response.headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
return [...versions.values()];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns the GraalVM JDK version encoded in a release asset name when it
|
||||||
|
// matches the requested platform/architecture/archive suffix, otherwise null.
|
||||||
|
private extractAssetVersion(
|
||||||
|
assetName: string,
|
||||||
|
assetSuffix: string
|
||||||
|
): string | null {
|
||||||
|
if (
|
||||||
|
!assetName.startsWith(GRAALVM_COMMUNITY_ASSET_PREFIX) ||
|
||||||
|
!assetName.endsWith(assetSuffix)
|
||||||
|
) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const rawVersion = assetName.slice(
|
||||||
|
GRAALVM_COMMUNITY_ASSET_PREFIX.length,
|
||||||
|
-assetSuffix.length
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!GRAALVM_COMMUNITY_VERSION_PATTERN.test(rawVersion)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return convertVersionToSemver(rawVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
private getNextReleasesUrl(
|
||||||
|
headers: Record<string, string | string[] | undefined>
|
||||||
|
): string | null {
|
||||||
|
const nextUrl = getNextPageUrlFromLinkHeader(headers);
|
||||||
|
if (
|
||||||
|
nextUrl &&
|
||||||
|
!validatePaginationUrl(nextUrl, GRAALVM_COMMUNITY_RELEASES_PAGE_ORIGIN)
|
||||||
|
) {
|
||||||
|
core.warning(
|
||||||
|
`Ignoring pagination link with unexpected origin: ${nextUrl}`
|
||||||
|
);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return nextUrl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,191 @@
|
|||||||
|
import * as core from '@actions/core';
|
||||||
|
import * as tc from '@actions/tool-cache';
|
||||||
|
import semver from 'semver';
|
||||||
|
|
||||||
|
import fs from 'fs';
|
||||||
|
import path from 'path';
|
||||||
|
|
||||||
|
import {JavaBase} from '../base-installer';
|
||||||
|
import {IKonaReleaseInfo, IKonaRelease} from './models';
|
||||||
|
import {
|
||||||
|
JavaDownloadRelease,
|
||||||
|
JavaInstallerOptions,
|
||||||
|
JavaInstallerResults
|
||||||
|
} from '../base-models';
|
||||||
|
import {
|
||||||
|
extractJdkFile,
|
||||||
|
getDownloadArchiveExtension,
|
||||||
|
isVersionSatisfies,
|
||||||
|
renameWinArchive
|
||||||
|
} from '../../util';
|
||||||
|
|
||||||
|
export class KonaDistribution extends JavaBase {
|
||||||
|
constructor(installerOptions: JavaInstallerOptions) {
|
||||||
|
super('Kona', installerOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected async downloadTool(
|
||||||
|
javaRelease: JavaDownloadRelease
|
||||||
|
): Promise<JavaInstallerResults> {
|
||||||
|
core.info(
|
||||||
|
`Downloading Kona JDK ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...`
|
||||||
|
);
|
||||||
|
const javaArchivePath = await tc.downloadTool(javaRelease.url);
|
||||||
|
|
||||||
|
core.info(`Extracting Java archive...`);
|
||||||
|
|
||||||
|
const extension = getDownloadArchiveExtension();
|
||||||
|
const archivePath =
|
||||||
|
process.platform === 'win32'
|
||||||
|
? renameWinArchive(javaArchivePath)
|
||||||
|
: javaArchivePath;
|
||||||
|
const extractedJavaPath = await extractJdkFile(archivePath, extension);
|
||||||
|
|
||||||
|
const archiveName = fs.readdirSync(extractedJavaPath)[0];
|
||||||
|
const jdkDirectory = path.join(extractedJavaPath, archiveName);
|
||||||
|
const version = this.getToolcacheVersionName(javaRelease.version);
|
||||||
|
|
||||||
|
const javaPath = await tc.cacheDir(
|
||||||
|
jdkDirectory,
|
||||||
|
this.toolcacheFolderName,
|
||||||
|
version,
|
||||||
|
this.architecture
|
||||||
|
);
|
||||||
|
|
||||||
|
return {version: javaRelease.version, path: javaPath};
|
||||||
|
}
|
||||||
|
|
||||||
|
protected async findPackageForDownload(
|
||||||
|
version: string
|
||||||
|
): Promise<JavaDownloadRelease> {
|
||||||
|
if (!this.stable) {
|
||||||
|
throw new Error('Kona provides stable releases only');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.packageType !== 'jdk') {
|
||||||
|
throw new Error('Kona provides jdk only');
|
||||||
|
}
|
||||||
|
|
||||||
|
const availableReleases = await this.getAvailableReleases();
|
||||||
|
const releases = availableReleases
|
||||||
|
.filter(item => {
|
||||||
|
return isVersionSatisfies(version, item.version);
|
||||||
|
})
|
||||||
|
.map(item => {
|
||||||
|
return {
|
||||||
|
version: item.version,
|
||||||
|
url: item.downloadUrl
|
||||||
|
} as JavaDownloadRelease;
|
||||||
|
})
|
||||||
|
.sort((a, b) => -semver.compareBuild(a.version, b.version));
|
||||||
|
|
||||||
|
if (!releases.length) {
|
||||||
|
throw new Error(
|
||||||
|
`No Kona release for the specified version "${version}" on OS "${this.getOs()}" and arch "${this.getArch()}".`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return releases[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
private async getAvailableReleases(): Promise<IKonaRelease[]> {
|
||||||
|
if (core.isDebug()) {
|
||||||
|
console.time('Retrieving available releases for Kona took'); // eslint-disable-line no-console
|
||||||
|
}
|
||||||
|
|
||||||
|
const releaseInfo = await this.fetchReleaseInfo();
|
||||||
|
if (!releaseInfo) {
|
||||||
|
throw new Error(`Couldn't fetch Kona release information`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const availableReleases = this.chooseReleases(
|
||||||
|
this.getOs(),
|
||||||
|
this.getArch(),
|
||||||
|
releaseInfo
|
||||||
|
);
|
||||||
|
|
||||||
|
if (core.isDebug()) {
|
||||||
|
core.startGroup('Print information about available releases');
|
||||||
|
console.timeEnd('Retrieving available releases for Kona took'); // eslint-disable-line no-console
|
||||||
|
core.debug(availableReleases.map(item => item.version).join(', '));
|
||||||
|
core.endGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
return availableReleases;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async fetchReleaseInfo(): Promise<IKonaReleaseInfo | null> {
|
||||||
|
const releasesInfoUrl =
|
||||||
|
'https://tencent.github.io/konajdk/releases/kona-v1.json';
|
||||||
|
|
||||||
|
try {
|
||||||
|
core.debug(`Fetching Kona release info from URL: ${releasesInfoUrl}`);
|
||||||
|
return (await this.http.getJson<IKonaReleaseInfo>(releasesInfoUrl))
|
||||||
|
.result;
|
||||||
|
} catch (err) {
|
||||||
|
core.debug(
|
||||||
|
`Fetching Kona release info from the URL: ${releasesInfoUrl} failed with the error: ${
|
||||||
|
(err as Error).message
|
||||||
|
}`
|
||||||
|
);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private chooseReleases(
|
||||||
|
os: string,
|
||||||
|
arch: string,
|
||||||
|
releaseInfo: IKonaReleaseInfo
|
||||||
|
): IKonaRelease[] {
|
||||||
|
const releases: IKonaRelease[] = [];
|
||||||
|
|
||||||
|
for (const majorVersion in releaseInfo) {
|
||||||
|
const versions = releaseInfo[majorVersion];
|
||||||
|
|
||||||
|
for (const version of versions) {
|
||||||
|
if (!version.latest) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const file of version.files) {
|
||||||
|
if (file.os === os && file.arch === arch) {
|
||||||
|
releases.push({
|
||||||
|
version: version.version,
|
||||||
|
jdkVersion: version.jdkVersion,
|
||||||
|
os: os,
|
||||||
|
arch: arch,
|
||||||
|
downloadUrl: version.baseUrl + file.filename,
|
||||||
|
checksum: file.checksum
|
||||||
|
});
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return releases;
|
||||||
|
}
|
||||||
|
|
||||||
|
private getOs(): string {
|
||||||
|
switch (process.platform) {
|
||||||
|
case 'darwin':
|
||||||
|
return 'macos';
|
||||||
|
case 'win32':
|
||||||
|
return 'windows';
|
||||||
|
default:
|
||||||
|
return process.platform;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private getArch(): string {
|
||||||
|
switch (this.architecture) {
|
||||||
|
case 'arm64':
|
||||||
|
return 'aarch64';
|
||||||
|
case 'x64':
|
||||||
|
return 'x86_64';
|
||||||
|
default:
|
||||||
|
return this.architecture;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
export interface IKonaReleaseInfo {
|
||||||
|
[majorVersion: string]: {
|
||||||
|
version: string;
|
||||||
|
jdkVersion: string;
|
||||||
|
latest: boolean;
|
||||||
|
|
||||||
|
baseUrl: string;
|
||||||
|
files: {
|
||||||
|
os: string; // linux, macos, windows
|
||||||
|
arch: string; // x86_64, aarch64
|
||||||
|
|
||||||
|
filename: string;
|
||||||
|
checksum: string;
|
||||||
|
}[];
|
||||||
|
}[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IKonaRelease {
|
||||||
|
version: string;
|
||||||
|
jdkVersion: string;
|
||||||
|
os: string; // linux, macos, windows
|
||||||
|
arch: string; // x86_64, aarch64
|
||||||
|
downloadUrl: string;
|
||||||
|
checksum: string; // SHA-256 digest
|
||||||
|
}
|
||||||
@@ -4,11 +4,7 @@ export type Bitness = '32' | '64';
|
|||||||
export type ArchType = 'arm' | 'ppc' | 'sparc' | 'x86';
|
export type ArchType = 'arm' | 'ppc' | 'sparc' | 'x86';
|
||||||
|
|
||||||
export type OsVersions =
|
export type OsVersions =
|
||||||
| 'linux'
|
'linux' | 'linux-musl' | 'macos' | 'solaris' | 'windows';
|
||||||
| 'linux-musl'
|
|
||||||
| 'macos'
|
|
||||||
| 'solaris'
|
|
||||||
| 'windows';
|
|
||||||
|
|
||||||
export interface ArchitectureOptions {
|
export interface ArchitectureOptions {
|
||||||
bitness: Bitness;
|
bitness: Bitness;
|
||||||
|
|||||||
@@ -69,9 +69,15 @@ export class LocalDistribution extends JavaBase {
|
|||||||
foundJava.path = macOSPostfixPath;
|
foundJava.path = macOSPostfixPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
core.info(`Setting Java ${foundJava.version} as default`);
|
if (this.setDefault) {
|
||||||
|
core.info(`Setting Java ${foundJava.version} as the default`);
|
||||||
this.setJavaDefault(foundJava.version, foundJava.path);
|
this.setJavaDefault(foundJava.version, foundJava.path);
|
||||||
|
} else {
|
||||||
|
core.info(
|
||||||
|
`Installing Java ${foundJava.version} (not setting as default)`
|
||||||
|
);
|
||||||
|
this.setJavaEnvironment(foundJava.version, foundJava.path);
|
||||||
|
}
|
||||||
return foundJava;
|
return foundJava;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,12 +10,16 @@ import {
|
|||||||
getGitHubHttpHeaders,
|
getGitHubHttpHeaders,
|
||||||
renameWinArchive
|
renameWinArchive
|
||||||
} from '../../util';
|
} from '../../util';
|
||||||
|
import * as gpg from '../../gpg';
|
||||||
|
import {MICROSOFT_PUBLIC_KEY} from './microsoft-key';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as tc from '@actions/tool-cache';
|
import * as tc from '@actions/tool-cache';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import {TypedResponse} from '@actions/http-client/lib/interfaces';
|
import {TypedResponse} from '@actions/http-client/lib/interfaces';
|
||||||
|
|
||||||
|
export {MICROSOFT_PUBLIC_KEY} from './microsoft-key';
|
||||||
|
|
||||||
export class MicrosoftDistributions extends JavaBase {
|
export class MicrosoftDistributions extends JavaBase {
|
||||||
constructor(installerOptions: JavaInstallerOptions) {
|
constructor(installerOptions: JavaInstallerOptions) {
|
||||||
super('Microsoft', installerOptions);
|
super('Microsoft', installerOptions);
|
||||||
@@ -29,6 +33,26 @@ export class MicrosoftDistributions extends JavaBase {
|
|||||||
);
|
);
|
||||||
let javaArchivePath = await tc.downloadTool(javaRelease.url);
|
let javaArchivePath = await tc.downloadTool(javaRelease.url);
|
||||||
|
|
||||||
|
if (this.verifySignature) {
|
||||||
|
if (!javaRelease.signatureUrl) {
|
||||||
|
throw new Error(
|
||||||
|
`Input 'verify-signature' is enabled, but no signature URL was found for Microsoft Build of OpenJDK version ${javaRelease.version}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
core.info(`Verifying Java package signature...`);
|
||||||
|
try {
|
||||||
|
await gpg.verifyPackageSignature(
|
||||||
|
javaArchivePath,
|
||||||
|
javaRelease.signatureUrl,
|
||||||
|
this.verifySignaturePublicKey ?? MICROSOFT_PUBLIC_KEY
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
throw new Error(
|
||||||
|
`Failed to verify signature for Microsoft Build of OpenJDK version ${javaRelease.version}. Signature URL: ${javaRelease.signatureUrl}. Error: ${(error as Error).message}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
core.info(`Extracting Java archive...`);
|
core.info(`Extracting Java archive...`);
|
||||||
const extension = getDownloadArchiveExtension();
|
const extension = getDownloadArchiveExtension();
|
||||||
if (process.platform === 'win32') {
|
if (process.platform === 'win32') {
|
||||||
@@ -80,12 +104,23 @@ export class MicrosoftDistributions extends JavaBase {
|
|||||||
throw this.createVersionNotFoundError(range, availableVersionStrings);
|
throw this.createVersionNotFoundError(range, availableVersionStrings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const file = foundRelease.files[0] as {
|
||||||
|
download_url: string;
|
||||||
|
signature_url?: string;
|
||||||
|
};
|
||||||
|
const signatureUrl = file.signature_url ?? `${file.download_url}.sig`;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
url: foundRelease.files[0].download_url,
|
url: file.download_url,
|
||||||
|
signatureUrl,
|
||||||
version: foundRelease.version
|
version: foundRelease.version
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected supportsSignatureVerification(): boolean {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private async getAvailableVersions(): Promise<tc.IToolRelease[] | null> {
|
private async getAvailableVersions(): Promise<tc.IToolRelease[] | null> {
|
||||||
// TODO get these dynamically!
|
// TODO get these dynamically!
|
||||||
// We will need Microsoft to add an endpoint where we can query for versions.
|
// We will need Microsoft to add an endpoint where we can query for versions.
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
// Microsoft Build of OpenJDK GPG signing key
|
||||||
|
// Retrieved from: https://download.visualstudio.microsoft.com/download/pr/b90071e2-e0cf-4411-98be-dbeb09d67bf0/8622862bcd54206e158c5abca0582c9b/464279_464280_aoc_20210208.asc
|
||||||
|
export const MICROSOFT_PUBLIC_KEY = `-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: BSN Pgp v1.1.0.0
|
||||||
|
|
||||||
|
mQENBGAhlWcBCADCQjj6huLTenvZSLej35e9YKEHm4lix2uvPOONexMaU8V2v7KL
|
||||||
|
RGdoXF7jwHci7efnPZ+9zpS2+g3rhvv8M7yWy9E/1psEtGzvmp1IL/qIabMEQqi+
|
||||||
|
UlhPGh7MQ/BkXAlic8Dyl3XYqr0EXS11iCiTr6Zkxs9Ee4V54gxL4gogRn4wk9sl
|
||||||
|
/nrjgDzMsUwla0pynoQQvYpqCdiAr3gKKllT1skCDqgVOMMyZxsx9HjZxg/3AJz6
|
||||||
|
r5i512L2R+3Hkv+XmxT+mnGBCFcny0DM7PjNXEmIK3ZSkro1tQML90zx3Fyh5esx
|
||||||
|
fpVvuIXGFV75o35VVCBZoiD3hcfOnIJsPQ9nABEBAAG0OE1pY3Jvc29mdCBKYXZh
|
||||||
|
IEVuZ2luZWVyaW5nIDxqYXZhcGxhdGluZnJhQG1pY3Jvc29mdC5jb20+iQE4BBMB
|
||||||
|
CAAiBQJgIZVnAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRA1Ux0xWyHB
|
||||||
|
icwTCACJO2FGNocNvdUtAb+eDKuGwt0chAJdCES2ZtgBScwrwDyWpxpRznoXWBHL
|
||||||
|
MJeLyxJoKsCG3vVlY4uh48psCzVm3OKvi7MCPT955t8W6TzfSBxTpjR8zRgJkjPJ
|
||||||
|
EGhHTlusUfz7TtM5etJF0qscSJH1grcNsgtee97mk4QyEzT8Di83NQmYxKcBrliq
|
||||||
|
yK/SWWt8VkTyYAEO6L5PoB4L9r8ka27uQs+jgCw+/Z0JMtNmmhyNGY3+a1YtPeoy
|
||||||
|
JdQaI9LphfKGbVaz6SK2aol7vj+c2TG3TLUYdOYGMH1OZlri2GTkCVjwna2GC7p4
|
||||||
|
Fa133tP85xzJEq1XeXm8WeLFo2wV
|
||||||
|
=rHCS
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----`;
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
// Adoptium GPG signing key (fingerprint: 3B04D753C9050D9A5D343F39843C48A565F8F04B)
|
||||||
|
// Retrieved from: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3B04D753C9050D9A5D343F39843C48A565F8F04B
|
||||||
|
export const ADOPTIUM_PUBLIC_KEY = `-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
xsBNBGGTvTQBCAC6ey144n7CG8foafF6mwgIBN1fIm1ILZDuGS4tMr0/XI8pgJnT
|
||||||
|
QvsPxZWEvtSm7bEMObzEoZJcXwjBcJl1B0ui8k5kHMTI75gCmZPsoKLFWIEpuRBQ
|
||||||
|
PBocusw80apDmLnNDQLVQvDFtEua5gaNa/fRw9YsmBoXBqvgrjFUIdGyWoQvH5+a
|
||||||
|
9OYlWD9n5VV0gnVMb+aclwVzB/zJw3kHGSgzuMtlAHeQiah7Y8yomQn/UIX8yqDf
|
||||||
|
+11sP3+c87YcjkRqImRTtmKEDcEtGPAIXC6SYA+uEEkbYE0Fy0chkvtnVWJ597fa
|
||||||
|
Epai4rnICU8zoJ6X5z3v1aM2WerhX9oq9X8PABEBAAHNQEFkb3B0aXVtIEdQRyBL
|
||||||
|
ZXkgKERFQi9SUE0gU2lnbmluZyBLZXkpIDx0ZW11cmluLWRldkBlY2xpcHNlLm9y
|
||||||
|
Zz7CwJIEEwEIADwWIQQ7BNdTyQUNml00PzmEPEilZfjwSwUCYZO9NAIbAwULCQgH
|
||||||
|
AgMiAgEGFQoJCAsCBBYCAwECHgcCF4AACgkQhDxIpWX48Et4AggAjjJzYWuKV3nG
|
||||||
|
7ngInngl8G/m9JoHr7BmwgcQXYhdy5hVkMcUx5JLeXz2LMBUH/F2nD595hgjMabk
|
||||||
|
kVib20X8lq9RsNbdfc2hBcWU6qyHKxsIqT4boI2/XDyEzzMyyZWWNGo/27Ci7Xmj
|
||||||
|
pWu31nh0pDdPqdyWDIKojbVVnxlCRY8as8Sm+1ufi709KCi4MuwHNsUlCSwb/fju
|
||||||
|
NKeHkrHbLcHKUUIEcmTSKRWrpMYBzm1HYOGBz4xPuELwUfUp71ehfoyBZlp6RDRf
|
||||||
|
l5TYI1FmCyHuvjNhrJgWv7bOTcf8yObGY+TEUhzc4xQqCrF4ur9d3opvsuPBQsv+
|
||||||
|
Klqi5KSZgs7ATQRhk700AQgAq14okly8cFrpYVenEQPiB75AUZfKRpMduiR6IxAj
|
||||||
|
SKcH7aSoFZ9AubUEBVpZsyT5svxoEPe1i4TdbF+m9FGy42EcOlLa3ArLTj5H8FRl
|
||||||
|
UdGZB9I5mk4GptOzPM+aHMMu92vW/ZwjuS8DvOiQSp+cUmG1EqOMJSM7e/4BM71z
|
||||||
|
E+OKaVJCj79pEzhG3SK/IC/OlxxyETT66NSfYJd7Sw5R6Vr19am/uNU690W0CJ+q
|
||||||
|
VQeFpmDMr7LnfdFRIh+lJe05+PvWXeidkGjox5cbG52wf8aRIR/FgkfcFvqRMN1f
|
||||||
|
B+dVOWueloUeVAnzcUznOKmUEs7LP9ObJhYHHgup4IAU2wARAQABwsB2BBgBCAAg
|
||||||
|
FiEEOwTXU8kFDZpdND85hDxIpWX48EsFAmGTvTQCGwwACgkQhDxIpWX48EvXHQf/
|
||||||
|
Q0nZsGDXnZHiBoojeSdpkO7WBjMIP3w1GdLvRpPQrS8TfOPbZuoevzCNh38Y3gwF
|
||||||
|
yelJspvzDQrBXhgkzAGlucYg8Y7KHa5Ebm7iDgMzc37L1hYSZTYCqwd7aowfgy34
|
||||||
|
hOk3B67LffkJpIh738Oa9CtlwxQ9xcytmBmQ1fBBOwm/9IhAwHPQuydYIs4DxWbj
|
||||||
|
0MGSP4fDntU7e4UjsHNmhudDcYol0FaqdHHIIB9C/G4CzetRwHFOn3b4JwXMU7YU
|
||||||
|
6aJA3mXhi3hggMC3wkT2HHZ/TquuOdNc02fypWOCDOHz0alBBJNqoVUNFNqU3tfJ
|
||||||
|
wI4qF/KKq9BfyfucAs0ykA==
|
||||||
|
=XLag
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----`;
|
||||||
@@ -4,7 +4,9 @@ import * as tc from '@actions/tool-cache';
|
|||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import semver from 'semver';
|
import semver from 'semver';
|
||||||
|
import * as gpg from '../../gpg';
|
||||||
|
|
||||||
|
import {ADOPTIUM_PUBLIC_KEY} from './adoptium-key';
|
||||||
import {JavaBase} from '../base-installer';
|
import {JavaBase} from '../base-installer';
|
||||||
import {ITemurinAvailableVersions} from './models';
|
import {ITemurinAvailableVersions} from './models';
|
||||||
import {
|
import {
|
||||||
@@ -22,6 +24,8 @@ import {
|
|||||||
validatePaginationUrl
|
validatePaginationUrl
|
||||||
} from '../../util';
|
} from '../../util';
|
||||||
|
|
||||||
|
export {ADOPTIUM_PUBLIC_KEY} from './adoptium-key';
|
||||||
|
|
||||||
export enum TemurinImplementation {
|
export enum TemurinImplementation {
|
||||||
Hotspot = 'Hotspot'
|
Hotspot = 'Hotspot'
|
||||||
}
|
}
|
||||||
@@ -50,7 +54,8 @@ export class TemurinDistribution extends JavaBase {
|
|||||||
: item.version_data.semver.replace('-beta+', '+');
|
: item.version_data.semver.replace('-beta+', '+');
|
||||||
return {
|
return {
|
||||||
version: formattedVersion,
|
version: formattedVersion,
|
||||||
url: item.binaries[0].package.link
|
url: item.binaries[0].package.link,
|
||||||
|
signatureUrl: item.binaries[0].package.signature_link
|
||||||
} as JavaDownloadRelease;
|
} as JavaDownloadRelease;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -80,6 +85,28 @@ export class TemurinDistribution extends JavaBase {
|
|||||||
);
|
);
|
||||||
let javaArchivePath = await tc.downloadTool(javaRelease.url);
|
let javaArchivePath = await tc.downloadTool(javaRelease.url);
|
||||||
|
|
||||||
|
if (this.verifySignature) {
|
||||||
|
if (!javaRelease.signatureUrl) {
|
||||||
|
throw new Error(
|
||||||
|
`Input 'verify-signature' is enabled, but no signature URL was found for Temurin version ${javaRelease.version}.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
core.info(`Verifying Java package signature...`);
|
||||||
|
try {
|
||||||
|
await gpg.verifyPackageSignature(
|
||||||
|
javaArchivePath,
|
||||||
|
javaRelease.signatureUrl,
|
||||||
|
this.verifySignaturePublicKey ?? ADOPTIUM_PUBLIC_KEY
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
throw new Error(
|
||||||
|
`Failed to verify signature for Temurin version ${javaRelease.version} from ${javaRelease.signatureUrl}: ${
|
||||||
|
(error as Error).message
|
||||||
|
}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
core.info(`Extracting Java archive...`);
|
core.info(`Extracting Java archive...`);
|
||||||
const extension = getDownloadArchiveExtension();
|
const extension = getDownloadArchiveExtension();
|
||||||
if (process.platform === 'win32') {
|
if (process.platform === 'win32') {
|
||||||
@@ -105,6 +132,10 @@ export class TemurinDistribution extends JavaBase {
|
|||||||
return super.toolcacheFolderName;
|
return super.toolcacheFolderName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected supportsSignatureVerification(): boolean {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private async getAvailableVersions(): Promise<ITemurinAvailableVersions[]> {
|
private async getAvailableVersions(): Promise<ITemurinAvailableVersions[]> {
|
||||||
const platform = this.getPlatformOption();
|
const platform = this.getPlatformOption();
|
||||||
const arch = this.distributionArchitecture();
|
const arch = this.distributionArchitecture();
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ export interface ITemurinAvailableVersions {
|
|||||||
package: {
|
package: {
|
||||||
checksum: string;
|
checksum: string;
|
||||||
checksum_link: string;
|
checksum_link: string;
|
||||||
|
signature_link?: string;
|
||||||
download_count: number;
|
download_count: number;
|
||||||
link: string;
|
link: string;
|
||||||
metadata_link: string;
|
metadata_link: string;
|
||||||
|
|||||||
+68
@@ -2,6 +2,7 @@ import * as fs from 'fs';
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as io from '@actions/io';
|
import * as io from '@actions/io';
|
||||||
import * as exec from '@actions/exec';
|
import * as exec from '@actions/exec';
|
||||||
|
import * as tc from '@actions/tool-cache';
|
||||||
import * as util from './util';
|
import * as util from './util';
|
||||||
import {ExecOptions} from '@actions/exec/lib/interfaces';
|
import {ExecOptions} from '@actions/exec/lib/interfaces';
|
||||||
|
|
||||||
@@ -9,6 +10,17 @@ export const PRIVATE_KEY_FILE = path.join(util.getTempDir(), 'private-key.asc');
|
|||||||
|
|
||||||
const PRIVATE_KEY_FINGERPRINT_REGEX = /\w{40}/;
|
const PRIVATE_KEY_FINGERPRINT_REGEX = /\w{40}/;
|
||||||
|
|
||||||
|
// Convert a Windows path (D:\a\_temp\...) to a POSIX path (/d/a/_temp/...).
|
||||||
|
// The Git-bundled GPG on Windows (MSYS2-based) uses POSIX path conventions
|
||||||
|
// internally. Passing Windows paths with backslashes can cause fatal GPG errors
|
||||||
|
// (exit code 2), so all paths passed to GPG must be in POSIX format on Windows.
|
||||||
|
export function toGpgPath(p: string): string {
|
||||||
|
if (process.platform !== 'win32') return p;
|
||||||
|
return p
|
||||||
|
.replace(/\\/g, '/')
|
||||||
|
.replace(/^([A-Za-z]):\//, (_, drive) => `/${drive.toLowerCase()}/`);
|
||||||
|
}
|
||||||
|
|
||||||
export async function importKey(privateKey: string) {
|
export async function importKey(privateKey: string) {
|
||||||
fs.writeFileSync(PRIVATE_KEY_FILE, privateKey, {
|
fs.writeFileSync(PRIVATE_KEY_FILE, privateKey, {
|
||||||
encoding: 'utf-8',
|
encoding: 'utf-8',
|
||||||
@@ -53,3 +65,59 @@ export async function deleteKey(keyFingerprint: string) {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function verifyPackageSignature(
|
||||||
|
archivePath: string,
|
||||||
|
signatureUrl: string,
|
||||||
|
publicKeyContent: string
|
||||||
|
) {
|
||||||
|
const signaturePath = await tc.downloadTool(signatureUrl);
|
||||||
|
let gpgHome: string;
|
||||||
|
try {
|
||||||
|
gpgHome = fs.mkdtempSync(
|
||||||
|
path.join(util.getTempDir(), 'verify-signature-gpg-home-')
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
try {
|
||||||
|
await io.rmRF(signaturePath);
|
||||||
|
} catch {
|
||||||
|
// ignore cleanup failures
|
||||||
|
}
|
||||||
|
throw new Error(
|
||||||
|
`Failed to create temporary GPG home directory for signature verification: ${
|
||||||
|
(error as Error).message
|
||||||
|
}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const publicKeyFile = path.join(gpgHome, 'public-key.asc');
|
||||||
|
fs.writeFileSync(publicKeyFile, publicKeyContent, {encoding: 'utf-8'});
|
||||||
|
const options: ExecOptions = {silent: true};
|
||||||
|
await exec.exec(
|
||||||
|
'gpg',
|
||||||
|
[
|
||||||
|
'--homedir',
|
||||||
|
toGpgPath(gpgHome),
|
||||||
|
'--batch',
|
||||||
|
'--import',
|
||||||
|
toGpgPath(publicKeyFile)
|
||||||
|
],
|
||||||
|
options
|
||||||
|
);
|
||||||
|
await exec.exec(
|
||||||
|
'gpg',
|
||||||
|
[
|
||||||
|
'--homedir',
|
||||||
|
toGpgPath(gpgHome),
|
||||||
|
'--batch',
|
||||||
|
'--verify',
|
||||||
|
toGpgPath(signaturePath),
|
||||||
|
toGpgPath(archivePath)
|
||||||
|
],
|
||||||
|
options
|
||||||
|
);
|
||||||
|
} finally {
|
||||||
|
await io.rmRF(signaturePath);
|
||||||
|
await io.rmRF(gpgHome);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
import * as core from '@actions/core';
|
||||||
|
import {getBooleanInput} from './util';
|
||||||
|
import {
|
||||||
|
INPUT_SHOW_DOWNLOAD_PROGRESS,
|
||||||
|
MAVEN_ARGS_ENV,
|
||||||
|
MAVEN_NO_TRANSFER_PROGRESS_FLAG,
|
||||||
|
MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG
|
||||||
|
} from './constants';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configures the MAVEN_ARGS environment variable so that Maven suppresses
|
||||||
|
* artifact transfer/download progress output by default, producing cleaner
|
||||||
|
* CI logs.
|
||||||
|
*
|
||||||
|
* Behavior:
|
||||||
|
* - When `show-download-progress` is `false` (the default), `-ntp`
|
||||||
|
* (`--no-transfer-progress`) is appended to any existing MAVEN_ARGS value.
|
||||||
|
* - When `show-download-progress` is `true`, MAVEN_ARGS is left untouched so
|
||||||
|
* the user's own configuration (and Maven's default progress output) is
|
||||||
|
* preserved.
|
||||||
|
*
|
||||||
|
* The change is idempotent: if MAVEN_ARGS already disables transfer progress
|
||||||
|
* (via `-ntp` or `--no-transfer-progress`) nothing is added. Any pre-existing
|
||||||
|
* MAVEN_ARGS value is preserved.
|
||||||
|
*
|
||||||
|
* MAVEN_ARGS is honored by Maven 3.9.0+ and the Maven Wrapper; older Maven
|
||||||
|
* versions ignore it, so this is a no-op there. It has no effect on non-Maven
|
||||||
|
* builds such as Gradle or sbt.
|
||||||
|
*/
|
||||||
|
export function configureMavenArgs(): void {
|
||||||
|
const showDownloadProgress = getBooleanInput(
|
||||||
|
INPUT_SHOW_DOWNLOAD_PROGRESS,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
if (showDownloadProgress) {
|
||||||
|
core.debug(
|
||||||
|
`${INPUT_SHOW_DOWNLOAD_PROGRESS} is true; leaving ${MAVEN_ARGS_ENV} unchanged`
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const existingArgs = (process.env[MAVEN_ARGS_ENV] ?? '').trim();
|
||||||
|
|
||||||
|
const alreadyDisabled = existingArgs
|
||||||
|
.split(/\s+/)
|
||||||
|
.some(
|
||||||
|
arg =>
|
||||||
|
arg === MAVEN_NO_TRANSFER_PROGRESS_FLAG ||
|
||||||
|
arg === MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG
|
||||||
|
);
|
||||||
|
|
||||||
|
if (alreadyDisabled) {
|
||||||
|
core.debug(
|
||||||
|
`${MAVEN_ARGS_ENV} already disables transfer progress; leaving it unchanged`
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const updatedArgs = existingArgs
|
||||||
|
? `${existingArgs} ${MAVEN_NO_TRANSFER_PROGRESS_FLAG}`
|
||||||
|
: MAVEN_NO_TRANSFER_PROGRESS_FLAG;
|
||||||
|
|
||||||
|
core.exportVariable(MAVEN_ARGS_ENV, updatedArgs);
|
||||||
|
core.info(
|
||||||
|
`Configured ${MAVEN_ARGS_ENV} to include ${MAVEN_NO_TRANSFER_PROGRESS_FLAG} to suppress Maven transfer progress logs. ` +
|
||||||
|
`Set '${INPUT_SHOW_DOWNLOAD_PROGRESS}: true' to keep the download progress output.`
|
||||||
|
);
|
||||||
|
}
|
||||||
+67
-19
@@ -12,13 +12,12 @@ import {restore} from './cache';
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import {getJavaDistribution} from './distributions/distribution-factory';
|
import {getJavaDistribution} from './distributions/distribution-factory';
|
||||||
import {JavaInstallerOptions} from './distributions/base-models';
|
import {JavaInstallerOptions} from './distributions/base-models';
|
||||||
|
import {configureMavenArgs} from './maven-args';
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
try {
|
try {
|
||||||
const versions = core.getMultilineInput(constants.INPUT_JAVA_VERSION);
|
const versions = core.getMultilineInput(constants.INPUT_JAVA_VERSION);
|
||||||
const distributionName = core.getInput(constants.INPUT_DISTRIBUTION, {
|
let distributionName = core.getInput(constants.INPUT_DISTRIBUTION);
|
||||||
required: true
|
|
||||||
});
|
|
||||||
const versionFile = core.getInput(constants.INPUT_JAVA_VERSION_FILE);
|
const versionFile = core.getInput(constants.INPUT_JAVA_VERSION_FILE);
|
||||||
const architecture = core.getInput(constants.INPUT_ARCHITECTURE);
|
const architecture = core.getInput(constants.INPUT_ARCHITECTURE);
|
||||||
const packageType = core.getInput(constants.INPUT_JAVA_PACKAGE);
|
const packageType = core.getInput(constants.INPUT_JAVA_PACKAGE);
|
||||||
@@ -28,6 +27,13 @@ async function run() {
|
|||||||
constants.INPUT_CACHE_DEPENDENCY_PATH
|
constants.INPUT_CACHE_DEPENDENCY_PATH
|
||||||
);
|
);
|
||||||
const checkLatest = getBooleanInput(constants.INPUT_CHECK_LATEST, false);
|
const checkLatest = getBooleanInput(constants.INPUT_CHECK_LATEST, false);
|
||||||
|
const setDefault = getBooleanInput(constants.INPUT_SET_DEFAULT, true);
|
||||||
|
const verifySignature = getBooleanInput(
|
||||||
|
constants.INPUT_VERIFY_SIGNATURE,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
const verifySignaturePublicKey =
|
||||||
|
core.getInput(constants.INPUT_VERIFY_SIGNATURE_PUBLIC_KEY) || undefined;
|
||||||
let toolchainIds = core.getMultilineInput(constants.INPUT_MVN_TOOLCHAIN_ID);
|
let toolchainIds = core.getMultilineInput(constants.INPUT_MVN_TOOLCHAIN_ID);
|
||||||
|
|
||||||
core.startGroup('Installed distributions');
|
core.startGroup('Installed distributions');
|
||||||
@@ -40,45 +46,78 @@ async function run() {
|
|||||||
throw new Error('java-version or java-version-file input expected');
|
throw new Error('java-version or java-version-file input expected');
|
||||||
}
|
}
|
||||||
|
|
||||||
const installerInputsOptions: installerInputsOptions = {
|
|
||||||
architecture,
|
|
||||||
packageType,
|
|
||||||
checkLatest,
|
|
||||||
distributionName,
|
|
||||||
jdkFile,
|
|
||||||
toolchainIds
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!versions.length) {
|
if (!versions.length) {
|
||||||
core.debug(
|
core.debug(
|
||||||
'java-version input is empty, looking for java-version-file input'
|
'java-version input is empty, looking for java-version-file input'
|
||||||
);
|
);
|
||||||
const content = fs.readFileSync(versionFile).toString().trim();
|
const content = fs.readFileSync(versionFile).toString().trim();
|
||||||
|
|
||||||
const version = getVersionFromFileContent(
|
const versionInfo = getVersionFromFileContent(
|
||||||
content,
|
content,
|
||||||
distributionName,
|
distributionName,
|
||||||
versionFile
|
versionFile
|
||||||
);
|
);
|
||||||
core.debug(`Parsed version from file '${version}'`);
|
core.debug(`Parsed version from file '${versionInfo?.version}'`);
|
||||||
|
|
||||||
if (!version) {
|
if (!versionInfo) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`No supported version was found in file ${versionFile}`
|
`No supported version was found in file ${versionFile}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
await installVersion(version, installerInputsOptions);
|
// Use distribution from file if available, otherwise use the input
|
||||||
}
|
if (versionInfo.distribution) {
|
||||||
|
core.info(
|
||||||
|
`Using distribution '${versionInfo.distribution}' from ${versionFile}`
|
||||||
|
);
|
||||||
|
distributionName = versionInfo.distribution;
|
||||||
|
} else if (!distributionName) {
|
||||||
|
throw new Error(
|
||||||
|
'distribution input is required when not specified in the version file'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
for (const [index, version] of versions.entries()) {
|
const installerInputsOptions: installerInputsOptions = {
|
||||||
await installVersion(version, installerInputsOptions, index);
|
architecture,
|
||||||
|
packageType,
|
||||||
|
checkLatest,
|
||||||
|
setDefault,
|
||||||
|
verifySignature,
|
||||||
|
verifySignaturePublicKey,
|
||||||
|
distributionName,
|
||||||
|
jdkFile,
|
||||||
|
toolchainIds
|
||||||
|
};
|
||||||
|
|
||||||
|
await installVersion(versionInfo.version, installerInputsOptions);
|
||||||
|
} else {
|
||||||
|
// When using java-version input, distribution is still required
|
||||||
|
if (!distributionName) {
|
||||||
|
throw new Error('distribution input is required');
|
||||||
|
}
|
||||||
|
|
||||||
|
const installerInputsOptions: installerInputsOptions = {
|
||||||
|
architecture,
|
||||||
|
packageType,
|
||||||
|
checkLatest,
|
||||||
|
setDefault,
|
||||||
|
verifySignature,
|
||||||
|
verifySignaturePublicKey,
|
||||||
|
distributionName,
|
||||||
|
jdkFile,
|
||||||
|
toolchainIds
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const [index, version] of versions.entries()) {
|
||||||
|
await installVersion(version, installerInputsOptions, index);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
core.endGroup();
|
core.endGroup();
|
||||||
const matchersPath = path.join(__dirname, '..', '..', '.github');
|
const matchersPath = path.join(__dirname, '..', '..', '.github');
|
||||||
core.info(`##[add-matcher]${path.join(matchersPath, 'java.json')}`);
|
core.info(`##[add-matcher]${path.join(matchersPath, 'java.json')}`);
|
||||||
|
|
||||||
await auth.configureAuthentication();
|
await auth.configureAuthentication();
|
||||||
|
configureMavenArgs();
|
||||||
if (cache && isCacheFeatureAvailable()) {
|
if (cache && isCacheFeatureAvailable()) {
|
||||||
await restore(cache, cacheDependencyPath);
|
await restore(cache, cacheDependencyPath);
|
||||||
}
|
}
|
||||||
@@ -100,6 +139,9 @@ async function installVersion(
|
|||||||
architecture,
|
architecture,
|
||||||
packageType,
|
packageType,
|
||||||
checkLatest,
|
checkLatest,
|
||||||
|
setDefault,
|
||||||
|
verifySignature,
|
||||||
|
verifySignaturePublicKey,
|
||||||
toolchainIds
|
toolchainIds
|
||||||
} = options;
|
} = options;
|
||||||
|
|
||||||
@@ -107,6 +149,9 @@ async function installVersion(
|
|||||||
architecture,
|
architecture,
|
||||||
packageType,
|
packageType,
|
||||||
checkLatest,
|
checkLatest,
|
||||||
|
setDefault,
|
||||||
|
verifySignature,
|
||||||
|
verifySignaturePublicKey,
|
||||||
version
|
version
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -141,6 +186,9 @@ interface installerInputsOptions {
|
|||||||
architecture: string;
|
architecture: string;
|
||||||
packageType: string;
|
packageType: string;
|
||||||
checkLatest: boolean;
|
checkLatest: boolean;
|
||||||
|
setDefault: boolean;
|
||||||
|
verifySignature: boolean;
|
||||||
|
verifySignaturePublicKey: string | undefined;
|
||||||
distributionName: string;
|
distributionName: string;
|
||||||
jdkFile: string;
|
jdkFile: string;
|
||||||
toolchainIds: Array<string>;
|
toolchainIds: Array<string>;
|
||||||
|
|||||||
+89
-39
@@ -83,47 +83,76 @@ export function generateToolchainDefinition(
|
|||||||
id: string,
|
id: string,
|
||||||
jdkHome: string
|
jdkHome: string
|
||||||
) {
|
) {
|
||||||
let xmlObj;
|
let jsToolchains: Toolchain[] = [
|
||||||
if (original?.length) {
|
{
|
||||||
xmlObj = xmlCreate(original)
|
type: 'jdk',
|
||||||
.root()
|
provides: {
|
||||||
.ele({
|
version: `${version}`,
|
||||||
toolchain: {
|
vendor: `${vendor}`,
|
||||||
type: 'jdk',
|
id: `${id}`
|
||||||
provides: {
|
},
|
||||||
version: `${version}`,
|
configuration: {
|
||||||
vendor: `${vendor}`,
|
jdkHome: `${jdkHome}`
|
||||||
id: `${id}`
|
|
||||||
},
|
|
||||||
configuration: {
|
|
||||||
jdkHome: `${jdkHome}`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else
|
|
||||||
xmlObj = xmlCreate({
|
|
||||||
toolchains: {
|
|
||||||
'@xmlns': 'http://maven.apache.org/TOOLCHAINS/1.1.0',
|
|
||||||
'@xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
|
|
||||||
'@xsi:schemaLocation':
|
|
||||||
'http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd',
|
|
||||||
toolchain: [
|
|
||||||
{
|
|
||||||
type: 'jdk',
|
|
||||||
provides: {
|
|
||||||
version: `${version}`,
|
|
||||||
vendor: `${vendor}`,
|
|
||||||
id: `${id}`
|
|
||||||
},
|
|
||||||
configuration: {
|
|
||||||
jdkHome: `${jdkHome}`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
];
|
||||||
|
// default root attributes, used when the existing file does not declare its own
|
||||||
|
let rootAttributes: Record<string, string> = {
|
||||||
|
'@xmlns': 'http://maven.apache.org/TOOLCHAINS/1.1.0',
|
||||||
|
'@xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
|
||||||
|
'@xsi:schemaLocation':
|
||||||
|
'http://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd'
|
||||||
|
};
|
||||||
|
if (original?.length) {
|
||||||
|
// convert existing toolchains into TS native objects for better handling
|
||||||
|
// xmlbuilder2 will convert the document into a `{toolchains: { toolchain: [] | {} }}` structure
|
||||||
|
// instead of the desired `toolchains: [{}]` one or simply `[{}]`
|
||||||
|
const jsObj = xmlCreate(original)
|
||||||
|
.root()
|
||||||
|
.toObject() as unknown as ExtractedToolchains;
|
||||||
|
if (jsObj.toolchains) {
|
||||||
|
// preserve the existing root attributes (xmlns, schemaLocation, …) so we don't
|
||||||
|
// silently rewrite user-managed metadata or change the effective XML namespace;
|
||||||
|
// xmlbuilder2 exposes attributes as `@`-prefixed keys on the element object
|
||||||
|
const existingAttributes = Object.fromEntries(
|
||||||
|
Object.entries(jsObj.toolchains).filter(([key]) => key.startsWith('@'))
|
||||||
|
) as Record<string, string>;
|
||||||
|
// fall back to the defaults only for attributes the existing file is missing
|
||||||
|
rootAttributes = {...rootAttributes, ...existingAttributes};
|
||||||
|
|
||||||
return xmlObj.end({
|
if (jsObj.toolchains.toolchain) {
|
||||||
|
// in case only a single child exists xmlbuilder2 will not create an array and using verbose = true equally doesn't work here
|
||||||
|
// See https://oozcitak.github.io/xmlbuilder2/serialization.html#js-object-and-map-serializers for details
|
||||||
|
if (Array.isArray(jsObj.toolchains.toolchain)) {
|
||||||
|
jsToolchains.push(...jsObj.toolchains.toolchain);
|
||||||
|
} else {
|
||||||
|
jsToolchains.push(jsObj.toolchains.toolchain);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove potential duplicates based on type & id (which should be a unique combination);
|
||||||
|
// self.findIndex will only return the first occurrence, ensuring duplicates are skipped
|
||||||
|
jsToolchains = jsToolchains.filter(
|
||||||
|
(value, index, self) =>
|
||||||
|
// ensure non-jdk toolchains are kept in the results, we must not touch them because they belong to the user
|
||||||
|
value.type !== 'jdk' ||
|
||||||
|
// keep toolchains that lack a usable string id (e.g. partially-formed user files);
|
||||||
|
// we cannot safely deduplicate them and must not crash while reading them
|
||||||
|
typeof value.provides?.id !== 'string' ||
|
||||||
|
index ===
|
||||||
|
self.findIndex(
|
||||||
|
t => t.type === value.type && t.provides?.id === value.provides?.id
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return xmlCreate({
|
||||||
|
toolchains: {
|
||||||
|
...rootAttributes,
|
||||||
|
toolchain: jsToolchains
|
||||||
|
}
|
||||||
|
}).end({
|
||||||
format: 'xml',
|
format: 'xml',
|
||||||
wellFormed: false,
|
wellFormed: false,
|
||||||
headless: false,
|
headless: false,
|
||||||
@@ -166,3 +195,24 @@ async function writeToolchainsFileToDisk(
|
|||||||
flag: 'w'
|
flag: 'w'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface ExtractedToolchains {
|
||||||
|
toolchains: {
|
||||||
|
// root attributes such as xmlns / schemaLocation are exposed as `@`-prefixed keys
|
||||||
|
[attribute: `@${string}`]: string;
|
||||||
|
toolchain?: Toolchain[] | Toolchain;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Toolchain type definition according to Maven Toolchains XSD 1.1.0
|
||||||
|
interface Toolchain {
|
||||||
|
type: string;
|
||||||
|
provides:
|
||||||
|
| {
|
||||||
|
version: string;
|
||||||
|
vendor: string;
|
||||||
|
id: string;
|
||||||
|
}
|
||||||
|
| any;
|
||||||
|
configuration: any;
|
||||||
|
}
|
||||||
|
|||||||
+113
-9
@@ -6,7 +6,11 @@ import * as cache from '@actions/cache';
|
|||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
|
||||||
import * as tc from '@actions/tool-cache';
|
import * as tc from '@actions/tool-cache';
|
||||||
import {INPUT_JOB_STATUS, DISTRIBUTIONS_ONLY_MAJOR_VERSION} from './constants';
|
import {
|
||||||
|
INPUT_JOB_STATUS,
|
||||||
|
DISTRIBUTIONS_ONLY_MAJOR_VERSION,
|
||||||
|
SUPPORTED_DISTRIBUTIONS
|
||||||
|
} from './constants';
|
||||||
import {OutgoingHttpHeaders} from 'http';
|
import {OutgoingHttpHeaders} from 'http';
|
||||||
|
|
||||||
export function getTempDir() {
|
export function getTempDir() {
|
||||||
@@ -127,12 +131,18 @@ export function isCacheFeatureAvailable(): boolean {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface VersionInfo {
|
||||||
|
version: string;
|
||||||
|
distribution?: string;
|
||||||
|
}
|
||||||
|
|
||||||
export function getVersionFromFileContent(
|
export function getVersionFromFileContent(
|
||||||
content: string,
|
content: string,
|
||||||
distributionName: string,
|
distributionName: string,
|
||||||
versionFile: string
|
versionFile: string
|
||||||
): string | null {
|
): VersionInfo | null {
|
||||||
let javaVersionRegExp: RegExp;
|
let javaVersionRegExp: RegExp;
|
||||||
|
let extractedDistribution: string | undefined;
|
||||||
|
|
||||||
function getFileName(versionFile: string) {
|
function getFileName(versionFile: string) {
|
||||||
return path.basename(versionFile);
|
return path.basename(versionFile);
|
||||||
@@ -141,17 +151,47 @@ export function getVersionFromFileContent(
|
|||||||
const versionFileName = getFileName(versionFile);
|
const versionFileName = getFileName(versionFile);
|
||||||
if (versionFileName == '.tool-versions') {
|
if (versionFileName == '.tool-versions') {
|
||||||
javaVersionRegExp =
|
javaVersionRegExp =
|
||||||
/^java\s+(?:\S*-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
/^java\s+(?:(?<distribution>\S*?)-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||||
} else if (versionFileName == '.sdkmanrc') {
|
} else if (versionFileName == '.sdkmanrc') {
|
||||||
javaVersionRegExp = /^java\s*=\s*(?<version>[^-]+)/m;
|
// Match both version and optional distribution identifier
|
||||||
|
javaVersionRegExp =
|
||||||
|
/^java\s*=\s*(?<version>[^-\s]+)(?:-(?<distribution>[a-z0-9]+))?/m;
|
||||||
} else {
|
} else {
|
||||||
javaVersionRegExp = /(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
|
// .java-version (jenv), version optionally prefixed with a distribution
|
||||||
|
// identifier, e.g. `temurin-21.0.5` or `openjdk64-11.0.2`.
|
||||||
|
javaVersionRegExp =
|
||||||
|
/(?:(?<distribution>[a-zA-Z][a-zA-Z0-9-]*?)-)?(?<version>(?<=(^|\s|-))(\d+\S*))(\s|$)/;
|
||||||
}
|
}
|
||||||
|
|
||||||
const capturedVersion = content.match(javaVersionRegExp)?.groups?.version
|
const match = content.match(javaVersionRegExp);
|
||||||
? (content.match(javaVersionRegExp)?.groups?.version as string)
|
const capturedVersion = match?.groups?.version
|
||||||
|
? (match.groups.version as string)
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
|
// Extract distribution from .sdkmanrc file
|
||||||
|
if (versionFileName == '.sdkmanrc' && match?.groups?.distribution) {
|
||||||
|
const sdkmanDist = match.groups.distribution;
|
||||||
|
extractedDistribution = mapSdkmanDistribution(sdkmanDist);
|
||||||
|
core.debug(
|
||||||
|
`Parsed distribution '${extractedDistribution}' from SDKMAN identifier '${sdkmanDist}'`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extract distribution from .java-version (jenv) or .tool-versions (asdf) file
|
||||||
|
if (
|
||||||
|
versionFileName != '.sdkmanrc' &&
|
||||||
|
match?.groups?.distribution &&
|
||||||
|
capturedVersion
|
||||||
|
) {
|
||||||
|
const fileDistribution = match.groups.distribution;
|
||||||
|
extractedDistribution = mapJavaVersionFileDistribution(fileDistribution);
|
||||||
|
if (extractedDistribution) {
|
||||||
|
core.debug(
|
||||||
|
`Parsed distribution '${extractedDistribution}' from identifier '${fileDistribution}' in '${versionFileName}'`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
core.debug(
|
core.debug(
|
||||||
`Parsed version '${capturedVersion}' from file '${versionFileName}'`
|
`Parsed version '${capturedVersion}' from file '${versionFileName}'`
|
||||||
);
|
);
|
||||||
@@ -172,12 +212,76 @@ export function getVersionFromFileContent(
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DISTRIBUTIONS_ONLY_MAJOR_VERSION.includes(distributionName)) {
|
// Apply DISTRIBUTIONS_ONLY_MAJOR_VERSION logic whenever the effective distribution
|
||||||
|
// (either explicitly provided or extracted from the version file) is in the list.
|
||||||
|
if (
|
||||||
|
DISTRIBUTIONS_ONLY_MAJOR_VERSION.includes(
|
||||||
|
extractedDistribution || distributionName
|
||||||
|
)
|
||||||
|
) {
|
||||||
const coerceVersion = semver.coerce(version) ?? version;
|
const coerceVersion = semver.coerce(version) ?? version;
|
||||||
version = semver.major(coerceVersion).toString();
|
version = semver.major(coerceVersion).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
return version.toString();
|
return {
|
||||||
|
version: version.toString(),
|
||||||
|
distribution: extractedDistribution
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Map SDKMAN distribution identifiers to setup-java distribution names
|
||||||
|
function mapSdkmanDistribution(sdkmanDist: string): string | undefined {
|
||||||
|
const distributionMap: Record<string, string> = {
|
||||||
|
tem: 'temurin',
|
||||||
|
sem: 'semeru',
|
||||||
|
albba: 'dragonwell',
|
||||||
|
zulu: 'zulu',
|
||||||
|
amzn: 'corretto',
|
||||||
|
graal: 'graalvm',
|
||||||
|
graalce: 'graalvm',
|
||||||
|
librca: 'liberica',
|
||||||
|
ms: 'microsoft',
|
||||||
|
oracle: 'oracle',
|
||||||
|
sapmchn: 'sapmachine',
|
||||||
|
jbr: 'jetbrains',
|
||||||
|
dragonwell: 'dragonwell',
|
||||||
|
kona: 'kona'
|
||||||
|
};
|
||||||
|
|
||||||
|
const mapped = distributionMap[sdkmanDist.toLowerCase()];
|
||||||
|
if (!mapped) {
|
||||||
|
core.warning(
|
||||||
|
`Unknown SDKMAN distribution identifier '${sdkmanDist}'. Please specify the distribution explicitly.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return mapped;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Map a distribution identifier found in a `.java-version` (jenv) or
|
||||||
|
// `.tool-versions` (asdf) file to a setup-java distribution name.
|
||||||
|
// jenv-style identifiers may carry an architecture suffix (e.g. `openjdk64`,
|
||||||
|
// `temurin64`), which is stripped before matching. Identifiers that do not map
|
||||||
|
// to a supported distribution (e.g. the generic `openjdk`) are ignored so the
|
||||||
|
// `distribution` input is used instead.
|
||||||
|
function mapJavaVersionFileDistribution(
|
||||||
|
identifier: string
|
||||||
|
): string | undefined {
|
||||||
|
const normalized = identifier.toLowerCase();
|
||||||
|
|
||||||
|
if (SUPPORTED_DISTRIBUTIONS.includes(normalized)) {
|
||||||
|
return normalized;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Strip a trailing architecture suffix (e.g. `temurin64` -> `temurin`).
|
||||||
|
const withoutArch = normalized.replace(/(32|64)$/, '');
|
||||||
|
if (SUPPORTED_DISTRIBUTIONS.includes(withoutArch)) {
|
||||||
|
return withoutArch;
|
||||||
|
}
|
||||||
|
|
||||||
|
core.debug(
|
||||||
|
`Distribution identifier '${identifier}' from version file is not a supported distribution; falling back to the 'distribution' input.`
|
||||||
|
);
|
||||||
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
// By convention, action expects version 8 in the format `8.*` instead of `1.8`
|
// By convention, action expects version 8 in the format `8.*` instead of `1.8`
|
||||||
|
|||||||
Reference in New Issue
Block a user