mirror of
https://github.com/actions/setup-java.git
synced 2026-06-30 09:08:12 +00:00
Compare commits
26 Commits
3844707995
...
da8ec469ba
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da8ec469ba | ||
|
|
baa1691374 | ||
|
|
bc52a13212 | ||
|
|
c9b6aee07e | ||
|
|
f300429fba | ||
|
|
ad2b38190b | ||
|
|
b24df5bba5 | ||
|
|
43120bc3c3 | ||
|
|
ad9d6a6320 | ||
|
|
039af37997 | ||
|
|
1756ab6acd | ||
|
|
662bb59f48 | ||
|
|
1071fc12d6 | ||
|
|
576b821f29 | ||
|
|
301143a197 | ||
|
|
3140bcf59b | ||
|
|
f542c1c07f | ||
|
|
a7b700f304 | ||
|
|
3721876b1b | ||
|
|
7f63f5d619 | ||
|
|
d44c72fc6c | ||
|
|
bb2f571838 | ||
|
|
48d05a6851 | ||
|
|
3f583bc86a | ||
|
|
a06c8ec39e | ||
|
|
78111dc9a8 |
4
.github/workflows/codeql-analysis.yml
vendored
4
.github/workflows/codeql-analysis.yml
vendored
@ -10,5 +10,9 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call-codeQL-analysis:
|
call-codeQL-analysis:
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
name: CodeQL analysis
|
name: CodeQL analysis
|
||||||
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
||||||
|
|||||||
26
.github/workflows/e2e-versions.yml
vendored
26
.github/workflows/e2e-versions.yml
vendored
@ -86,6 +86,32 @@ jobs:
|
|||||||
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-alpine-linux:
|
||||||
|
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - alpine-linux - ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
container:
|
||||||
|
image: alpine:latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
distribution: ['temurin', 'sapmachine']
|
||||||
|
version: ['21', '17']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
- name: Install bash
|
||||||
|
run: apk add --no-cache bash
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
java-version: ${{ matrix.version }}
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
|
- name: Verify Java
|
||||||
|
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
||||||
|
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-x64) - ${{ matrix.os }}
|
||||||
needs: setup-java-major-versions
|
needs: setup-java-major-versions
|
||||||
|
|||||||
BIN
.licenses/npm/@nodable/entities.dep.yml
generated
Normal file
BIN
.licenses/npm/@nodable/entities.dep.yml
generated
Normal file
Binary file not shown.
BIN
.licenses/npm/anynum.dep.yml
generated
Normal file
BIN
.licenses/npm/anynum.dep.yml
generated
Normal file
Binary file not shown.
BIN
.licenses/npm/debug.dep.yml
generated
BIN
.licenses/npm/debug.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/fast-xml-builder.dep.yml
generated
BIN
.licenses/npm/fast-xml-builder.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/fast-xml-parser.dep.yml
generated
BIN
.licenses/npm/fast-xml-parser.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/ms.dep.yml
generated
BIN
.licenses/npm/ms.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/path-expression-matcher.dep.yml
generated
BIN
.licenses/npm/path-expression-matcher.dep.yml
generated
Binary file not shown.
Binary file not shown.
BIN
.licenses/npm/strnum.dep.yml
generated
BIN
.licenses/npm/strnum.dep.yml
generated
Binary file not shown.
BIN
.licenses/npm/xml-naming.dep.yml
generated
Normal file
BIN
.licenses/npm/xml-naming.dep.yml
generated
Normal file
Binary file not shown.
@ -40,7 +40,7 @@ For information about the latest releases, recent updates, and newly supported d
|
|||||||
|
|
||||||
- `distribution`: _(required)_ Java [distribution](#supported-distributions).
|
- `distribution`: _(required)_ Java [distribution](#supported-distributions).
|
||||||
|
|
||||||
- `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`. For Azul Zulu, `jdk+crac` and `jre+crac` are also supported to select builds with [CRaC](https://openjdk.org/projects/crac/) support. Default value: `jdk`.
|
||||||
|
|
||||||
- `architecture`: The target architecture of the package. Possible values: `x86`, `x64`, `armv7`, `aarch64`, `ppc64le`. Default value: Derived from the runner machine.
|
- `architecture`: The target architecture of the package. Possible values: `x86`, `x64`, `armv7`, `aarch64`, `ppc64le`. Default value: Derived from the runner machine.
|
||||||
|
|
||||||
|
|||||||
@ -1,254 +1,722 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": 10996,
|
"package_uuid": "uuid-10996",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
|
||||||
"name": "zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
"name": "zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
||||||
"zulu_version": [8, 1, 0, 10],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
||||||
"jdk_version": [8, 0, 5, 13]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10997,
|
"package_uuid": "uuid-10997",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
|
||||||
"name": "zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
"name": "zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
||||||
"zulu_version": [8, 2, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
||||||
"jdk_version": [8, 0, 11, 12]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
11,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10346,
|
"package_uuid": "uuid-10346",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
"name": "zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 21, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 131, 11]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
131,
|
||||||
|
11
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
21,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10362,
|
"package_uuid": "uuid-10362",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
"name": "zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 23, 0, 3],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 144, 1]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
144,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
23,
|
||||||
|
0,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10399,
|
"package_uuid": "uuid-10399",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
"name": "zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 25, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 152, 16]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
152,
|
||||||
|
16
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
25,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11355,
|
"package_uuid": "uuid-11355",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
"name": "zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 46, 0, 19],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 252, 14]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
252,
|
||||||
|
14
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
46,
|
||||||
|
0,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11481,
|
"package_uuid": "uuid-11481",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
"name": "zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 47],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 17]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
17
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
47
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11622,
|
"package_uuid": "uuid-11622",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
"name": "zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 51],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 19]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
51
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11535,
|
"package_uuid": "uuid-11535",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
"name": "zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 49],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 18]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
18
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
49
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12424,
|
"package_uuid": "uuid-12424",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
|
||||||
"name": "zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
"name": "zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
||||||
"zulu_version": [8, 52, 0, 23],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 282, 8]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
282,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
52,
|
||||||
|
0,
|
||||||
|
23
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10383,
|
"package_uuid": "uuid-10383",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
|
||||||
"name": "zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
"name": "zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
||||||
"zulu_version": [9, 0, 0, 15],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
||||||
"jdk_version": [9, 0, 0, 0]
|
"java_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
15
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10413,
|
"package_uuid": "uuid-10413",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
"name": "zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [9, 0, 1, 3],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [9, 0, 1, 0]
|
"java_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10503,
|
"package_uuid": "uuid-10503",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
"name": "zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [10, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [10, 0, 1, 9]
|
"java_version": [
|
||||||
|
10,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
10,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10541,
|
"package_uuid": "uuid-10541",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
|
||||||
"name": "zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
"name": "zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
||||||
"zulu_version": [10, 3, 5, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
||||||
"jdk_version": [10, 0, 2, 13]
|
"java_version": [
|
||||||
|
10,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
10,
|
||||||
|
3,
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10576,
|
"package_uuid": "uuid-10576",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
"name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [11, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 1, 13]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10604,
|
"package_uuid": "uuid-10604",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
|
||||||
"name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
"name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
||||||
"zulu_version": [11, 29, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 2, 7]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
29,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10687,
|
"package_uuid": "uuid-10687",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
|
||||||
"name": "zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
"name": "zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
||||||
"zulu_version": [11, 31, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 3, 7]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
3,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
31,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10856,
|
"package_uuid": "uuid-10856",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
"name": "zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 13, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
13,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10933,
|
"package_uuid": "uuid-10933",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 15, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10933,
|
"package_uuid": "uuid-10933",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-linux_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12397,
|
"package_uuid": "uuid-12397",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
|
||||||
"name": "zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
"name": "zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
||||||
"zulu_version": [11, 45, 27, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 10, 9]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
45,
|
||||||
|
27,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10667,
|
"package_uuid": "uuid-10667",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
|
||||||
"name": "zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
"name": "zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
||||||
"zulu_version": [12, 1, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 0, 33]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
33
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
1,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10710,
|
"package_uuid": "uuid-10710",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
"name": "zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [12, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 1, 12]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10780,
|
"package_uuid": "uuid-10780",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
|
||||||
"name": "zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
"name": "zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
||||||
"zulu_version": [12, 3, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 2, 3]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
3,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10846,
|
"package_uuid": "uuid-10846",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
|
||||||
"name": "zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
"name": "zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
||||||
"zulu_version": [13, 27, 9, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 0, 33]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
33
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
27,
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10888,
|
"package_uuid": "uuid-10888",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
"name": "zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [13, 28, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 1, 10]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
28,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11073,
|
"package_uuid": "uuid-11073",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
|
||||||
"name": "zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
"name": "zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
||||||
"zulu_version": [13, 29, 9, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 2, 6]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
6
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
29,
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12408,
|
"package_uuid": "uuid-12408",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
|
||||||
"name": "zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
"name": "zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
||||||
"zulu_version": [13, 37, 21, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 6, 5]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
6,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
37,
|
||||||
|
21,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11236,
|
"package_uuid": "uuid-11236",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
|
||||||
"name": "zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
"name": "zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
||||||
"zulu_version": [14, 27, 1, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 0, 36]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
27,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11349,
|
"package_uuid": "uuid-11349",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
"name": "zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [14, 28, 21, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 1, 8]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
28,
|
||||||
|
21,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11513,
|
"package_uuid": "uuid-11513",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
|
||||||
"name": "zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
"name": "zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
||||||
"zulu_version": [14, 29, 23, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 2, 12]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
29,
|
||||||
|
23,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11780,
|
"package_uuid": "uuid-11780",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
|
||||||
"name": "zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
"name": "zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
||||||
"zulu_version": [15, 27, 17, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 0, 36]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
27,
|
||||||
|
17,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11924,
|
"package_uuid": "uuid-11924",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
"name": "zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [15, 28, 13, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 1, 8]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
28,
|
||||||
|
13,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12101,
|
"package_uuid": "uuid-12101",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
|
||||||
"name": "zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
"name": "zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
"zulu_version": [15, 28, 51, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 1, 9]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
28,
|
||||||
|
51,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12445,
|
"package_uuid": "uuid-12445",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
|
||||||
"name": "zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
"name": "zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
||||||
"zulu_version": [15, 29, 15, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 2, 7]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
29,
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12447,
|
"package_uuid": "uuid-12447",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
|
||||||
"name": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
"name": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
||||||
"zulu_version": [21, 32, 17, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
||||||
"jdk_version": [21, 0, 2, 6]
|
"java_version": [
|
||||||
|
21,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
6
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
21,
|
||||||
|
32,
|
||||||
|
17,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,247 +1,702 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": 10996,
|
"package_uuid": "uuid-10996",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-macosx.tar.gz",
|
|
||||||
"name": "zulu1.8.0_05-8.1.0.10-macosx.tar.gz",
|
"name": "zulu1.8.0_05-8.1.0.10-macosx.tar.gz",
|
||||||
"zulu_version": [8, 1, 0, 10],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-macosx.tar.gz",
|
||||||
"jdk_version": [8, 0, 5, 13]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10997,
|
"package_uuid": "uuid-10997",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-macosx.tar.gz",
|
|
||||||
"name": "zulu1.8.0_11-8.2.0.1-macosx.tar.gz",
|
"name": "zulu1.8.0_11-8.2.0.1-macosx.tar.gz",
|
||||||
"zulu_version": [8, 2, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-macosx.tar.gz",
|
||||||
"jdk_version": [8, 0, 11, 12]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
11,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10346,
|
"package_uuid": "uuid-10346",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz",
|
"name": "zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 21, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 131, 11]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
131,
|
||||||
|
11
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
21,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10362,
|
"package_uuid": "uuid-10362",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz",
|
"name": "zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 23, 0, 3],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 144, 1]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
144,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
23,
|
||||||
|
0,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10399,
|
"package_uuid": "uuid-10399",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz",
|
"name": "zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 25, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 152, 16]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
152,
|
||||||
|
16
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
25,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11355,
|
"package_uuid": "uuid-11355",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz",
|
"name": "zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 46, 0, 19],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 252, 14]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
252,
|
||||||
|
14
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
46,
|
||||||
|
0,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11481,
|
"package_uuid": "uuid-11481",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz",
|
"name": "zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 47],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 17]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
17
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
47
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11622,
|
"package_uuid": "uuid-11622",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz",
|
"name": "zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 51],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 19]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
51
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11535,
|
"package_uuid": "uuid-11535",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz",
|
"name": "zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 49],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 18]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
18
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
49
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12424,
|
"package_uuid": "uuid-12424",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz",
|
"name": "zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz",
|
||||||
"zulu_version": [8, 52, 0, 23],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 282, 8]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
282,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
52,
|
||||||
|
0,
|
||||||
|
23
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10383,
|
"package_uuid": "uuid-10383",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz",
|
"name": "zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz",
|
||||||
"zulu_version": [9, 0, 0, 15],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz",
|
||||||
"jdk_version": [9, 0, 0, 0]
|
"java_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
15
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10413,
|
"package_uuid": "uuid-10413",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz",
|
"name": "zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [9, 0, 1, 3],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [9, 0, 1, 0]
|
"java_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10503,
|
"package_uuid": "uuid-10503",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz",
|
"name": "zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [10, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [10, 0, 1, 9]
|
"java_version": [
|
||||||
|
10,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
10,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10541,
|
"package_uuid": "uuid-10541",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz",
|
"name": "zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz",
|
||||||
"zulu_version": [10, 3, 5, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz",
|
||||||
"jdk_version": [10, 0, 2, 13]
|
"java_version": [
|
||||||
|
10,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
10,
|
||||||
|
3,
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10576,
|
"package_uuid": "uuid-10576",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
|
"name": "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [11, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 1, 13]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10604,
|
"package_uuid": "uuid-10604",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz",
|
"name": "zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz",
|
||||||
"zulu_version": [11, 29, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 2, 7]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
29,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10687,
|
"package_uuid": "uuid-10687",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz",
|
"name": "zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz",
|
||||||
"zulu_version": [11, 31, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 3, 7]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
3,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
31,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10856,
|
"package_uuid": "uuid-10856",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz",
|
"name": "zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 13, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
13,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10933,
|
"package_uuid": "uuid-10933",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
"name": "zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 15, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10933,
|
"package_uuid": "uuid-10933",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
"name": "zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12397,
|
"package_uuid": "uuid-12397",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz",
|
"name": "zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz",
|
||||||
"zulu_version": [11, 45, 27, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 10, 9]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
45,
|
||||||
|
27,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10667,
|
"package_uuid": "uuid-10667",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz",
|
"name": "zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz",
|
||||||
"zulu_version": [12, 1, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 0, 33]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
33
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
1,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10710,
|
"package_uuid": "uuid-10710",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz",
|
"name": "zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [12, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 1, 12]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10780,
|
"package_uuid": "uuid-10780",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz",
|
"name": "zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz",
|
||||||
"zulu_version": [12, 3, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 2, 3]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
3,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10846,
|
"package_uuid": "uuid-10846",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz",
|
"name": "zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz",
|
||||||
"zulu_version": [13, 27, 9, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 0, 33]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
33
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
27,
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10888,
|
"package_uuid": "uuid-10888",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz",
|
"name": "zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [13, 28, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 1, 10]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
28,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11073,
|
"package_uuid": "uuid-11073",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz",
|
"name": "zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz",
|
||||||
"zulu_version": [13, 29, 9, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 2, 6]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
6
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
29,
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12408,
|
"package_uuid": "uuid-12408",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz",
|
"name": "zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz",
|
||||||
"zulu_version": [13, 37, 21, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 6, 5]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
6,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
37,
|
||||||
|
21,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11236,
|
"package_uuid": "uuid-11236",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz",
|
"name": "zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz",
|
||||||
"zulu_version": [14, 27, 1, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 0, 36]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
27,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11349,
|
"package_uuid": "uuid-11349",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz",
|
"name": "zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [14, 28, 21, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 1, 8]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
28,
|
||||||
|
21,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11513,
|
"package_uuid": "uuid-11513",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz",
|
"name": "zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz",
|
||||||
"zulu_version": [14, 29, 23, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 2, 12]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
29,
|
||||||
|
23,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11780,
|
"package_uuid": "uuid-11780",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
|
"name": "zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
|
||||||
"zulu_version": [15, 27, 17, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 0, 36]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
27,
|
||||||
|
17,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11924,
|
"package_uuid": "uuid-11924",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz",
|
"name": "zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [15, 28, 13, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 1, 8]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
28,
|
||||||
|
13,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12101,
|
"package_uuid": "uuid-12101",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz",
|
"name": "zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||||
"zulu_version": [15, 28, 51, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 1, 9]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
28,
|
||||||
|
51,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12445,
|
"package_uuid": "uuid-12445",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz",
|
|
||||||
"name": "zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz",
|
"name": "zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz",
|
||||||
"zulu_version": [15, 29, 15, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 2, 7]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
29,
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,254 +1,722 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": 10996,
|
"package_uuid": "uuid-10996",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
|
||||||
"name": "zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
"name": "zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
||||||
"zulu_version": [8, 1, 0, 10],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
||||||
"jdk_version": [8, 0, 5, 13]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10997,
|
"package_uuid": "uuid-10997",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
|
||||||
"name": "zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
"name": "zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
||||||
"zulu_version": [8, 2, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
||||||
"jdk_version": [8, 0, 11, 12]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
11,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10346,
|
"package_uuid": "uuid-10346",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
"name": "zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 21, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 131, 11]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
131,
|
||||||
|
11
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
21,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10362,
|
"package_uuid": "uuid-10362",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
"name": "zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 23, 0, 3],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 144, 1]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
144,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
23,
|
||||||
|
0,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10399,
|
"package_uuid": "uuid-10399",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
"name": "zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 25, 0, 1],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 152, 16]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
152,
|
||||||
|
16
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
25,
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11355,
|
"package_uuid": "uuid-11355",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
"name": "zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 46, 0, 19],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 252, 14]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
252,
|
||||||
|
14
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
46,
|
||||||
|
0,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11481,
|
"package_uuid": "uuid-11481",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
"name": "zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 47],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 17]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
17
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
47
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11622,
|
"package_uuid": "uuid-11622",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
"name": "zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 51],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 19]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
19
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
51
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11535,
|
"package_uuid": "uuid-11535",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
"name": "zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 48, 0, 49],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 262, 18]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
262,
|
||||||
|
18
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
48,
|
||||||
|
0,
|
||||||
|
49
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12424,
|
"package_uuid": "uuid-12424",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
|
||||||
"name": "zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
"name": "zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
||||||
"zulu_version": [8, 52, 0, 23],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
||||||
"jdk_version": [8, 0, 282, 8]
|
"java_version": [
|
||||||
|
8,
|
||||||
|
0,
|
||||||
|
282,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
8,
|
||||||
|
52,
|
||||||
|
0,
|
||||||
|
23
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10383,
|
"package_uuid": "uuid-10383",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
|
||||||
"name": "zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
"name": "zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
||||||
"zulu_version": [9, 0, 0, 15],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
||||||
"jdk_version": [9, 0, 0, 0]
|
"java_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
15
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10413,
|
"package_uuid": "uuid-10413",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
"name": "zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [9, 0, 1, 3],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [9, 0, 1, 0]
|
"java_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10503,
|
"package_uuid": "uuid-10503",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
"name": "zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [10, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [10, 0, 1, 9]
|
"java_version": [
|
||||||
|
10,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
10,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10541,
|
"package_uuid": "uuid-10541",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
|
||||||
"name": "zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
"name": "zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
||||||
"zulu_version": [10, 3, 5, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
||||||
"jdk_version": [10, 0, 2, 13]
|
"java_version": [
|
||||||
|
10,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
10,
|
||||||
|
3,
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10576,
|
"package_uuid": "uuid-10576",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
"name": "zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [11, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 1, 13]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10604,
|
"package_uuid": "uuid-10604",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
|
||||||
"name": "zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
"name": "zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
||||||
"zulu_version": [11, 29, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 2, 7]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
29,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10687,
|
"package_uuid": "uuid-10687",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
|
||||||
"name": "zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
"name": "zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
||||||
"zulu_version": [11, 31, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 3, 7]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
3,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
31,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10856,
|
"package_uuid": "uuid-10856",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
"name": "zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 13, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
13,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10933,
|
"package_uuid": "uuid-10933",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 15, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10933,
|
"package_uuid": "uuid-10933",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-windows_x64.tar.gz",
|
|
||||||
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
"zulu_version": [11, 35, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 5, 10]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
35,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12397,
|
"package_uuid": "uuid-12397",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
|
||||||
"name": "zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
"name": "zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
||||||
"zulu_version": [11, 45, 27, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
||||||
"jdk_version": [11, 0, 10, 9]
|
"java_version": [
|
||||||
|
11,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
11,
|
||||||
|
45,
|
||||||
|
27,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10667,
|
"package_uuid": "uuid-10667",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
|
||||||
"name": "zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
"name": "zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
||||||
"zulu_version": [12, 1, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 0, 33]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
33
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
1,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10710,
|
"package_uuid": "uuid-10710",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
"name": "zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [12, 2, 3, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 1, 12]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10780,
|
"package_uuid": "uuid-10780",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
|
||||||
"name": "zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
"name": "zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
||||||
"zulu_version": [12, 3, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
||||||
"jdk_version": [12, 0, 2, 3]
|
"java_version": [
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
12,
|
||||||
|
3,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10846,
|
"package_uuid": "uuid-10846",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
|
||||||
"name": "zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
"name": "zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
||||||
"zulu_version": [13, 27, 9, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 0, 33]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
33
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
27,
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10888,
|
"package_uuid": "uuid-10888",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
"name": "zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [13, 28, 11, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 1, 10]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
28,
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11073,
|
"package_uuid": "uuid-11073",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
|
||||||
"name": "zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
"name": "zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
||||||
"zulu_version": [13, 29, 9, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 2, 6]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
6
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
29,
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12408,
|
"package_uuid": "uuid-12408",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
|
||||||
"name": "zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
"name": "zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
||||||
"zulu_version": [13, 37, 21, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
||||||
"jdk_version": [13, 0, 6, 5]
|
"java_version": [
|
||||||
|
13,
|
||||||
|
0,
|
||||||
|
6,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
13,
|
||||||
|
37,
|
||||||
|
21,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11236,
|
"package_uuid": "uuid-11236",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
|
||||||
"name": "zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
"name": "zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
||||||
"zulu_version": [14, 27, 1, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 0, 36]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
27,
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11349,
|
"package_uuid": "uuid-11349",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
"name": "zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [14, 28, 21, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 1, 8]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
28,
|
||||||
|
21,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11513,
|
"package_uuid": "uuid-11513",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
|
||||||
"name": "zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
"name": "zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
||||||
"zulu_version": [14, 29, 23, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
||||||
"jdk_version": [14, 0, 2, 12]
|
"java_version": [
|
||||||
|
14,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
14,
|
||||||
|
29,
|
||||||
|
23,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11780,
|
"package_uuid": "uuid-11780",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
|
||||||
"name": "zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
"name": "zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
||||||
"zulu_version": [15, 27, 17, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 0, 36]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
27,
|
||||||
|
17,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 11924,
|
"package_uuid": "uuid-11924",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
"name": "zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [15, 28, 13, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 1, 8]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
28,
|
||||||
|
13,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12101,
|
"package_uuid": "uuid-12101",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
|
||||||
"name": "zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
"name": "zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
"zulu_version": [15, 28, 51, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 1, 9]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
28,
|
||||||
|
51,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12445,
|
"package_uuid": "uuid-12445",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
|
||||||
"name": "zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
"name": "zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
||||||
"zulu_version": [15, 29, 15, 0],
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
||||||
"jdk_version": [15, 0, 2, 7]
|
"java_version": [
|
||||||
|
15,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
15,
|
||||||
|
29,
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 12446,
|
"package_uuid": "uuid-12446",
|
||||||
"url": "https://cdn.azul.com/zulu/bin/zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip",
|
"name": "zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip",
|
||||||
"name": "zulu17.48.15-ca-jdk17.0.10-win_aarhc4.zip",
|
"download_url": "https://cdn.azul.com/zulu/bin/zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip",
|
||||||
"zulu_version": [17, 48, 15, 0],
|
"java_version": [
|
||||||
"jdk_version": [17, 0, 10, 7]
|
17,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"distro_version": [
|
||||||
|
17,
|
||||||
|
48,
|
||||||
|
15,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"availability_type": "ca",
|
||||||
|
"javafx_bundled": false,
|
||||||
|
"crac_supported": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import {
|
|||||||
AdoptDistribution,
|
AdoptDistribution,
|
||||||
AdoptImplementation
|
AdoptImplementation
|
||||||
} from '../../src/distributions/adopt/installer';
|
} from '../../src/distributions/adopt/installer';
|
||||||
|
import {TemurinDistribution} from '../../src/distributions/temurin/installer';
|
||||||
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
||||||
|
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
@ -14,6 +15,7 @@ import * as core from '@actions/core';
|
|||||||
describe('getAvailableVersions', () => {
|
describe('getAvailableVersions', () => {
|
||||||
let spyHttpClient: jest.SpyInstance;
|
let spyHttpClient: jest.SpyInstance;
|
||||||
let spyCoreError: jest.SpyInstance;
|
let spyCoreError: jest.SpyInstance;
|
||||||
|
let spyCoreWarning: jest.SpyInstance;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
@ -26,6 +28,8 @@ describe('getAvailableVersions', () => {
|
|||||||
// Mock core.error to suppress error logs
|
// Mock core.error to suppress error logs
|
||||||
spyCoreError = jest.spyOn(core, 'error');
|
spyCoreError = jest.spyOn(core, 'error');
|
||||||
spyCoreError.mockImplementation(() => {});
|
spyCoreError.mockImplementation(() => {});
|
||||||
|
spyCoreWarning = jest.spyOn(core, 'warning');
|
||||||
|
spyCoreWarning.mockImplementation(() => {});
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
@ -136,22 +140,19 @@ describe('getAvailableVersions', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
it('load available versions', async () => {
|
it('load available versions', async () => {
|
||||||
|
const nextPageUrl =
|
||||||
|
'https://api.adoptopenjdk.net/v3/assets/version/%5B1.0,100.0%5D?page=1&page_size=20';
|
||||||
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
spyHttpClient
|
spyHttpClient
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {link: `<${nextPageUrl}>; rel="next"`},
|
||||||
result: manifestData as any
|
result: manifestData as any
|
||||||
})
|
})
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {},
|
||||||
result: manifestData as any
|
result: manifestData as any
|
||||||
})
|
|
||||||
.mockReturnValueOnce({
|
|
||||||
statusCode: 200,
|
|
||||||
headers: {},
|
|
||||||
result: []
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const distribution = new AdoptDistribution(
|
const distribution = new AdoptDistribution(
|
||||||
@ -166,6 +167,34 @@ describe('getAvailableVersions', () => {
|
|||||||
const availableVersions = await distribution['getAvailableVersions']();
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
expect(availableVersions).not.toBeNull();
|
expect(availableVersions).not.toBeNull();
|
||||||
expect(availableVersions.length).toBe(manifestData.length * 2);
|
expect(availableVersions.length).toBe(manifestData.length * 2);
|
||||||
|
expect(spyHttpClient).toHaveBeenNthCalledWith(2, nextPageUrl);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('stops pagination after 1000 pages as a safeguard', async () => {
|
||||||
|
const nextPageUrl =
|
||||||
|
'https://api.adoptopenjdk.net/v3/assets/version/%5B1.0,100.0%5D?page=2&page_size=20';
|
||||||
|
spyHttpClient.mockReturnValue({
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {link: `<${nextPageUrl}>; rel="next"`},
|
||||||
|
result: [{version_data: {semver: '17.0.1'}, binaries: []}] as any
|
||||||
|
});
|
||||||
|
|
||||||
|
const distribution = new AdoptDistribution(
|
||||||
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
AdoptImplementation.Hotspot
|
||||||
|
);
|
||||||
|
|
||||||
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
|
expect(spyHttpClient).toHaveBeenCalledTimes(1000);
|
||||||
|
expect(spyCoreWarning).toHaveBeenCalledWith(
|
||||||
|
expect.stringContaining('Reached pagination safeguard limit (1000 pages)')
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
@ -228,6 +257,38 @@ describe('getAvailableVersions', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('findPackageForDownload', () => {
|
describe('findPackageForDownload', () => {
|
||||||
|
it('returns Temurin result and does not query Adopt API when Temurin succeeds', async () => {
|
||||||
|
const temurinRelease = {
|
||||||
|
version: '11.0.31+11',
|
||||||
|
url: 'https://example.test/temurin-11.tar.gz'
|
||||||
|
};
|
||||||
|
const temurinFindPackageForDownload = jest
|
||||||
|
.fn()
|
||||||
|
.mockResolvedValue(temurinRelease);
|
||||||
|
const temurinDistribution = {
|
||||||
|
findPackageForDownload: temurinFindPackageForDownload
|
||||||
|
} as unknown as TemurinDistribution;
|
||||||
|
|
||||||
|
const distribution = new AdoptDistribution(
|
||||||
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
AdoptImplementation.Hotspot,
|
||||||
|
temurinDistribution
|
||||||
|
);
|
||||||
|
const adoptLookupSpy = jest.fn();
|
||||||
|
distribution['getAvailableVersions'] = adoptLookupSpy;
|
||||||
|
|
||||||
|
const resolvedVersion = await distribution['findPackageForDownload']('11');
|
||||||
|
|
||||||
|
expect(resolvedVersion).toEqual(temurinRelease);
|
||||||
|
expect(temurinFindPackageForDownload).toHaveBeenCalledWith('11');
|
||||||
|
expect(adoptLookupSpy).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
['9', '9.0.7+10'],
|
['9', '9.0.7+10'],
|
||||||
['15', '15.0.2+7'],
|
['15', '15.0.2+7'],
|
||||||
@ -250,6 +311,11 @@ describe('findPackageForDownload', () => {
|
|||||||
},
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
|
// Mock Temurin to fail so fallback to AdoptOpenJDK is tested
|
||||||
|
distribution['temurinDistribution']!['findPackageForDownload'] =
|
||||||
|
async () => {
|
||||||
|
throw new Error('No matching version found for SemVer');
|
||||||
|
};
|
||||||
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);
|
||||||
@ -265,6 +331,11 @@ describe('findPackageForDownload', () => {
|
|||||||
},
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
|
// Mock Temurin to fail so fallback to AdoptOpenJDK is tested
|
||||||
|
distribution['temurinDistribution']!['findPackageForDownload'] =
|
||||||
|
async () => {
|
||||||
|
throw new Error('No matching version found for SemVer');
|
||||||
|
};
|
||||||
distribution['getAvailableVersions'] = async () => manifestData as any;
|
distribution['getAvailableVersions'] = async () => manifestData as any;
|
||||||
await expect(
|
await expect(
|
||||||
distribution['findPackageForDownload']('9.0.8')
|
distribution['findPackageForDownload']('9.0.8')
|
||||||
@ -281,6 +352,11 @@ describe('findPackageForDownload', () => {
|
|||||||
},
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
|
// Mock Temurin to fail so fallback to AdoptOpenJDK is tested
|
||||||
|
distribution['temurinDistribution']!['findPackageForDownload'] =
|
||||||
|
async () => {
|
||||||
|
throw new Error('No matching version found for SemVer');
|
||||||
|
};
|
||||||
distribution['getAvailableVersions'] = async () => manifestData as any;
|
distribution['getAvailableVersions'] = async () => manifestData as any;
|
||||||
await expect(distribution['findPackageForDownload']('7.x')).rejects.toThrow(
|
await expect(distribution['findPackageForDownload']('7.x')).rejects.toThrow(
|
||||||
/No matching version found for SemVer */
|
/No matching version found for SemVer */
|
||||||
@ -297,6 +373,11 @@ describe('findPackageForDownload', () => {
|
|||||||
},
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
|
// Mock Temurin to fail so fallback to AdoptOpenJDK is tested
|
||||||
|
distribution['temurinDistribution']!['findPackageForDownload'] =
|
||||||
|
async () => {
|
||||||
|
throw new Error('No matching version found for SemVer');
|
||||||
|
};
|
||||||
distribution['getAvailableVersions'] = async () => [];
|
distribution['getAvailableVersions'] = async () => [];
|
||||||
await expect(distribution['findPackageForDownload']('11')).rejects.toThrow(
|
await expect(distribution['findPackageForDownload']('11')).rejects.toThrow(
|
||||||
/No matching version found for SemVer */
|
/No matching version found for SemVer */
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import * as core from '@actions/core';
|
|||||||
describe('getAvailableVersions', () => {
|
describe('getAvailableVersions', () => {
|
||||||
let spyHttpClient: jest.SpyInstance;
|
let spyHttpClient: jest.SpyInstance;
|
||||||
let spyCoreError: jest.SpyInstance;
|
let spyCoreError: jest.SpyInstance;
|
||||||
|
let spyCoreWarning: jest.SpyInstance;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
@ -20,6 +21,8 @@ describe('getAvailableVersions', () => {
|
|||||||
// Mock core.error to suppress error logs
|
// Mock core.error to suppress error logs
|
||||||
spyCoreError = jest.spyOn(core, 'error');
|
spyCoreError = jest.spyOn(core, 'error');
|
||||||
spyCoreError.mockImplementation(() => {});
|
spyCoreError.mockImplementation(() => {});
|
||||||
|
spyCoreWarning = jest.spyOn(core, 'warning');
|
||||||
|
spyCoreWarning.mockImplementation(() => {});
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
@ -82,22 +85,19 @@ describe('getAvailableVersions', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
it('load available versions', async () => {
|
it('load available versions', async () => {
|
||||||
|
const nextPageUrl =
|
||||||
|
'https://api.adoptopenjdk.net/v3/assets/version/%5B1.0,100.0%5D?page=1&page_size=20';
|
||||||
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
spyHttpClient
|
spyHttpClient
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {link: `<${nextPageUrl}>; rel="next"`},
|
||||||
result: manifestData as any
|
result: manifestData as any
|
||||||
})
|
})
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {},
|
||||||
result: manifestData as any
|
result: manifestData as any
|
||||||
})
|
|
||||||
.mockReturnValueOnce({
|
|
||||||
statusCode: 200,
|
|
||||||
headers: {},
|
|
||||||
result: []
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const distribution = new SemeruDistribution({
|
const distribution = new SemeruDistribution({
|
||||||
@ -109,6 +109,31 @@ describe('getAvailableVersions', () => {
|
|||||||
const availableVersions = await distribution['getAvailableVersions']();
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
expect(availableVersions).not.toBeNull();
|
expect(availableVersions).not.toBeNull();
|
||||||
expect(availableVersions.length).toBe(manifestData.length * 2);
|
expect(availableVersions.length).toBe(manifestData.length * 2);
|
||||||
|
expect(spyHttpClient).toHaveBeenNthCalledWith(2, nextPageUrl);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('stops pagination after 1000 pages as a safeguard', async () => {
|
||||||
|
const nextPageUrl =
|
||||||
|
'https://api.adoptopenjdk.net/v3/assets/version/%5B1.0,100.0%5D?page=2&page_size=20';
|
||||||
|
spyHttpClient.mockReturnValue({
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {link: `<${nextPageUrl}>; rel="next"`},
|
||||||
|
result: [{version_data: {semver: '17.0.1'}, binaries: []}] as any
|
||||||
|
});
|
||||||
|
|
||||||
|
const distribution = new SemeruDistribution({
|
||||||
|
version: '8',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
|
||||||
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
|
expect(spyHttpClient).toHaveBeenCalledTimes(1000);
|
||||||
|
expect(spyCoreWarning).toHaveBeenCalledWith(
|
||||||
|
expect.stringContaining('Reached pagination safeguard limit (1000 pages)')
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
|
|||||||
@ -12,6 +12,7 @@ import * as core from '@actions/core';
|
|||||||
describe('getAvailableVersions', () => {
|
describe('getAvailableVersions', () => {
|
||||||
let spyHttpClient: jest.SpyInstance;
|
let spyHttpClient: jest.SpyInstance;
|
||||||
let spyCoreError: jest.SpyInstance;
|
let spyCoreError: jest.SpyInstance;
|
||||||
|
let spyCoreWarning: jest.SpyInstance;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
@ -23,6 +24,8 @@ describe('getAvailableVersions', () => {
|
|||||||
// Mock core.error to suppress error logs
|
// Mock core.error to suppress error logs
|
||||||
spyCoreError = jest.spyOn(core, 'error');
|
spyCoreError = jest.spyOn(core, 'error');
|
||||||
spyCoreError.mockImplementation(() => {});
|
spyCoreError.mockImplementation(() => {});
|
||||||
|
spyCoreWarning = jest.spyOn(core, 'warning');
|
||||||
|
spyCoreWarning.mockImplementation(() => {});
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
@ -93,22 +96,19 @@ describe('getAvailableVersions', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
it('load available versions', async () => {
|
it('load available versions', async () => {
|
||||||
|
const nextPageUrl =
|
||||||
|
'https://api.adoptium.net/v3/assets/version/%5B1.0,100.0%5D?page=1&page_size=20';
|
||||||
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
spyHttpClient
|
spyHttpClient
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {link: `<${nextPageUrl}>; rel="next"`},
|
||||||
result: manifestData as any
|
result: manifestData as any
|
||||||
})
|
})
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {},
|
||||||
result: manifestData as any
|
result: manifestData as any
|
||||||
})
|
|
||||||
.mockReturnValueOnce({
|
|
||||||
statusCode: 200,
|
|
||||||
headers: {},
|
|
||||||
result: []
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const distribution = new TemurinDistribution(
|
const distribution = new TemurinDistribution(
|
||||||
@ -123,6 +123,34 @@ describe('getAvailableVersions', () => {
|
|||||||
const availableVersions = await distribution['getAvailableVersions']();
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
expect(availableVersions).not.toBeNull();
|
expect(availableVersions).not.toBeNull();
|
||||||
expect(availableVersions.length).toBe(manifestData.length * 2);
|
expect(availableVersions.length).toBe(manifestData.length * 2);
|
||||||
|
expect(spyHttpClient).toHaveBeenNthCalledWith(2, nextPageUrl);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('stops pagination after 1000 pages as a safeguard', async () => {
|
||||||
|
const nextPageUrl =
|
||||||
|
'https://api.adoptium.net/v3/assets/version/%5B1.0,100.0%5D?page=2&page_size=20';
|
||||||
|
spyHttpClient.mockReturnValue({
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {link: `<${nextPageUrl}>; rel="next"`},
|
||||||
|
result: [{version_data: {semver: '17.0.1'}, binaries: []}] as any
|
||||||
|
});
|
||||||
|
|
||||||
|
const distribution = new TemurinDistribution(
|
||||||
|
{
|
||||||
|
version: '8',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
TemurinImplementation.Hotspot
|
||||||
|
);
|
||||||
|
|
||||||
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
|
expect(spyHttpClient).toHaveBeenCalledTimes(1000);
|
||||||
|
expect(spyCoreWarning).toHaveBeenCalledWith(
|
||||||
|
expect.stringContaining('Reached pagination safeguard limit (1000 pages)')
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
|
|||||||
@ -45,7 +45,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ga'
|
'?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ea'
|
'?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -63,7 +63,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
'?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -72,7 +72,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jre',
|
packageType: 'jre',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jre&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
'?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -81,7 +81,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk+fx',
|
packageType: 'jdk+fx',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
'?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -90,7 +90,16 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jre+fx',
|
packageType: 'jre+fx',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jre&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
'?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '8',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk+crac',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
'?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=true&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -99,7 +108,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=64&release_status=ga'
|
'?os=macos&arch=aarch64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -108,12 +117,12 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=&release_status=ga'
|
'?os=macos&arch=arm&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
]
|
]
|
||||||
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
||||||
const distribution = new ZuluDistribution(input);
|
const distribution = new ZuluDistribution(input);
|
||||||
distribution['getPlatformOption'] = () => 'macos';
|
distribution['getPlatformOption'] = () => 'macos';
|
||||||
const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/${parsedUrl}`;
|
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/${parsedUrl}`;
|
||||||
|
|
||||||
await distribution['getAvailableVersions']();
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
@ -126,8 +135,8 @@ describe('getAvailableVersions', () => {
|
|||||||
arch: string;
|
arch: string;
|
||||||
};
|
};
|
||||||
it.each([
|
it.each([
|
||||||
['amd64', {bitness: '64', arch: 'x86'}],
|
['amd64', {bitness: '64', arch: 'x64'}],
|
||||||
['arm64', {bitness: '64', arch: 'arm'}]
|
['arm64', {bitness: '64', arch: 'aarch64'}]
|
||||||
])(
|
])(
|
||||||
'defaults to os.arch(): %s mapped to distro arch: %s',
|
'defaults to os.arch(): %s mapped to distro arch: %s',
|
||||||
async (osArch: string, distroArch: DistroArch) => {
|
async (osArch: string, distroArch: DistroArch) => {
|
||||||
@ -142,7 +151,7 @@ describe('getAvailableVersions', () => {
|
|||||||
checkLatest: false
|
checkLatest: false
|
||||||
});
|
});
|
||||||
distribution['getPlatformOption'] = () => 'macos';
|
distribution['getPlatformOption'] = () => 'macos';
|
||||||
const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=${distroArch.arch}&hw_bitness=${distroArch.bitness}&release_status=ga`;
|
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=macos&arch=${distroArch.arch}&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`;
|
||||||
|
|
||||||
await distribution['getAvailableVersions']();
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
@ -161,6 +170,28 @@ describe('getAvailableVersions', () => {
|
|||||||
const availableVersions = await distribution['getAvailableVersions']();
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
expect(availableVersions).toHaveLength(manifestData.length);
|
expect(availableVersions).toHaveLength(manifestData.length);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('fetches multiple pages when first page is full', async () => {
|
||||||
|
const firstPage = Array(100).fill(manifestData[0]) as IZuluVersions[];
|
||||||
|
const secondPage = manifestData.slice(0, 5) as IZuluVersions[];
|
||||||
|
|
||||||
|
spyHttpClient
|
||||||
|
.mockReturnValueOnce({statusCode: 200, headers: {}, result: firstPage})
|
||||||
|
.mockReturnValueOnce({statusCode: 200, headers: {}, result: secondPage});
|
||||||
|
|
||||||
|
const distribution = new ZuluDistribution({
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
distribution['getPlatformOption'] = () => 'linux';
|
||||||
|
|
||||||
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
|
expect(spyHttpClient).toHaveBeenCalledTimes(2);
|
||||||
|
expect(availableVersions).toHaveLength(firstPage.length + secondPage.length);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('getArchitectureOptions', () => {
|
describe('getArchitectureOptions', () => {
|
||||||
|
|||||||
@ -46,7 +46,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ga'
|
'?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -55,7 +55,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ea'
|
'?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -64,7 +64,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
'?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -73,7 +73,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jre',
|
packageType: 'jre',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jre&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
'?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -82,7 +82,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk+fx',
|
packageType: 'jdk+fx',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
'?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -91,7 +91,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jre+fx',
|
packageType: 'jre+fx',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jre&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
'?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -100,7 +100,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=64&release_status=ga'
|
'?os=linux-glibc&arch=aarch64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -109,12 +109,12 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=&release_status=ga'
|
'?os=linux-glibc&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
]
|
]
|
||||||
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
||||||
const distribution = new ZuluDistribution(input);
|
const distribution = new ZuluDistribution(input);
|
||||||
distribution['getPlatformOption'] = () => 'linux';
|
distribution['getPlatformOption'] = () => 'linux';
|
||||||
const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/${parsedUrl}`;
|
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/${parsedUrl}`;
|
||||||
|
|
||||||
await distribution['getAvailableVersions']();
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
@ -145,7 +145,8 @@ describe('getAvailableVersions', () => {
|
|||||||
distribution['getPlatformOption'] = () => 'linux';
|
distribution['getPlatformOption'] = () => 'linux';
|
||||||
// Override extension for linux default arch case to match util behavior
|
// Override extension for linux default arch case to match util behavior
|
||||||
spyUtilGetDownloadArchiveExtension.mockReturnValue('tar.gz');
|
spyUtilGetDownloadArchiveExtension.mockReturnValue('tar.gz');
|
||||||
const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?os=linux&ext=tar.gz&bundle_type=jdk&javafx=false&arch=${distroArch.arch}&hw_bitness=${distroArch.bitness}&release_status=ga`;
|
const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'aarch64' : distroArch.arch;
|
||||||
|
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=linux-glibc&arch=${expectedArch}&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`;
|
||||||
|
|
||||||
await distribution['getAvailableVersions']();
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
|
|||||||
@ -46,7 +46,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ga'
|
'?os=windows&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -55,7 +55,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ea'
|
'?os=windows&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -64,7 +64,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
'?os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -73,7 +73,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jre',
|
packageType: 'jre',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jre&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
'?os=windows&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -82,7 +82,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk+fx',
|
packageType: 'jdk+fx',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
'?os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -91,7 +91,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jre+fx',
|
packageType: 'jre+fx',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jre&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
'?os=windows&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -100,7 +100,7 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=64&release_status=ga'
|
'?os=windows&arch=aarch64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -109,12 +109,12 @@ describe('getAvailableVersions', () => {
|
|||||||
packageType: 'jdk',
|
packageType: 'jdk',
|
||||||
checkLatest: false
|
checkLatest: false
|
||||||
},
|
},
|
||||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=&release_status=ga'
|
'?os=windows&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100'
|
||||||
]
|
]
|
||||||
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
||||||
const distribution = new ZuluDistribution(input);
|
const distribution = new ZuluDistribution(input);
|
||||||
distribution['getPlatformOption'] = () => 'windows';
|
distribution['getPlatformOption'] = () => 'windows';
|
||||||
const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/${parsedUrl}`;
|
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/${parsedUrl}`;
|
||||||
|
|
||||||
await distribution['getAvailableVersions']();
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
@ -143,7 +143,8 @@ describe('getAvailableVersions', () => {
|
|||||||
checkLatest: false
|
checkLatest: false
|
||||||
});
|
});
|
||||||
distribution['getPlatformOption'] = () => 'windows';
|
distribution['getPlatformOption'] = () => 'windows';
|
||||||
const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=${distroArch.arch}&hw_bitness=${distroArch.bitness}&release_status=ga`;
|
const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'aarch64' : distroArch.arch;
|
||||||
|
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=windows&arch=${expectedArch}&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`;
|
||||||
|
|
||||||
await distribution['getAvailableVersions']();
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
|
|||||||
@ -4,10 +4,12 @@ import * as fs from 'fs';
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import {
|
import {
|
||||||
convertVersionToSemver,
|
convertVersionToSemver,
|
||||||
|
getNextPageUrlFromLinkHeader,
|
||||||
getVersionFromFileContent,
|
getVersionFromFileContent,
|
||||||
isVersionSatisfies,
|
isVersionSatisfies,
|
||||||
isCacheFeatureAvailable,
|
isCacheFeatureAvailable,
|
||||||
isGhes
|
isGhes,
|
||||||
|
validatePaginationUrl
|
||||||
} from '../src/util';
|
} from '../src/util';
|
||||||
|
|
||||||
jest.mock('@actions/cache');
|
jest.mock('@actions/cache');
|
||||||
@ -27,7 +29,11 @@ describe('isVersionSatisfies', () => {
|
|||||||
['2.5.1+3', '2.5.1+3', true],
|
['2.5.1+3', '2.5.1+3', true],
|
||||||
['2.5.1+3', '2.5.1+2', false],
|
['2.5.1+3', '2.5.1+2', false],
|
||||||
['15.0.0+14', '15.0.0+14.1.202003190635', false],
|
['15.0.0+14', '15.0.0+14.1.202003190635', false],
|
||||||
['15.0.0+14.1.202003190635', '15.0.0+14.1.202003190635', true]
|
['15.0.0+14.1.202003190635', '15.0.0+14.1.202003190635', true],
|
||||||
|
// 4-segment versions (e.g. JetBrains Runtime '17.0.8.1+1080.1') are not
|
||||||
|
// valid semver — they should be rejected, not throw.
|
||||||
|
['25.0.3+480.61', '17.0.8.1+1080.1', false],
|
||||||
|
['17', '17.0.8.1+1080.1', false]
|
||||||
])(
|
])(
|
||||||
'%s, %s -> %s',
|
'%s, %s -> %s',
|
||||||
(inputRange: string, inputVersion: string, expected: boolean) => {
|
(inputRange: string, inputVersion: string, expected: boolean) => {
|
||||||
@ -85,6 +91,78 @@ describe('convertVersionToSemver', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('getNextPageUrlFromLinkHeader', () => {
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
{
|
||||||
|
link: '<https://api.adoptium.net/v3/info/release_versions?page=1&page_size=10>; rel="next"'
|
||||||
|
},
|
||||||
|
'https://api.adoptium.net/v3/info/release_versions?page=1&page_size=10'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
Link: '<https://example.com/last?page=5>; rel="last", <https://example.com/next?page=2>; rel="next"'
|
||||||
|
},
|
||||||
|
'https://example.com/next?page=2'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
link: '<https://api.adoptium.net/v3/versions?page=3>; type="application/json"; rel="next"'
|
||||||
|
},
|
||||||
|
'https://api.adoptium.net/v3/versions?page=3'
|
||||||
|
],
|
||||||
|
[{link: '<https://example.com/last?page=5>; rel="last"'}, null],
|
||||||
|
[{link: '<https://example.com/page?p=2>; rel="nextsomething"'}, null],
|
||||||
|
[undefined, null]
|
||||||
|
])('returns %s -> %s', (headers, expected) => {
|
||||||
|
expect(getNextPageUrlFromLinkHeader(headers)).toBe(expected);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('validatePaginationUrl', () => {
|
||||||
|
it('accepts URL with matching origin', () => {
|
||||||
|
expect(
|
||||||
|
validatePaginationUrl(
|
||||||
|
'https://api.adoptium.net/v3/assets?page=2',
|
||||||
|
'https://api.adoptium.net'
|
||||||
|
)
|
||||||
|
).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('rejects URL with different host', () => {
|
||||||
|
expect(
|
||||||
|
validatePaginationUrl(
|
||||||
|
'https://evil.example.com/steal?data=1',
|
||||||
|
'https://api.adoptium.net'
|
||||||
|
)
|
||||||
|
).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('rejects URL with different protocol', () => {
|
||||||
|
expect(
|
||||||
|
validatePaginationUrl(
|
||||||
|
'http://api.adoptium.net/v3/assets?page=2',
|
||||||
|
'https://api.adoptium.net'
|
||||||
|
)
|
||||||
|
).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('returns false for invalid URL', () => {
|
||||||
|
expect(validatePaginationUrl('not-a-url', 'https://api.adoptium.net')).toBe(
|
||||||
|
false
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('accepts URL with explicit default port', () => {
|
||||||
|
expect(
|
||||||
|
validatePaginationUrl(
|
||||||
|
'https://api.adoptium.net:443/v3/assets?page=2',
|
||||||
|
'https://api.adoptium.net'
|
||||||
|
)
|
||||||
|
).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('getVersionFromFileContent', () => {
|
describe('getVersionFromFileContent', () => {
|
||||||
describe('.sdkmanrc', () => {
|
describe('.sdkmanrc', () => {
|
||||||
it.each([
|
it.each([
|
||||||
|
|||||||
@ -11,7 +11,7 @@ inputs:
|
|||||||
description: 'Java distribution. See the list of supported distributions in README file'
|
description: 'Java distribution. See the list of supported distributions in README file'
|
||||||
required: true
|
required: true
|
||||||
java-package:
|
java-package:
|
||||||
description: 'The package type (jdk, jre, jdk+fx, jre+fx)'
|
description: 'The package type (jdk, jre, jdk+fx, jre+fx, jdk+crac, jre+crac)'
|
||||||
required: false
|
required: false
|
||||||
default: 'jdk'
|
default: 'jdk'
|
||||||
architecture:
|
architecture:
|
||||||
|
|||||||
4765
dist/cleanup/index.js
vendored
4765
dist/cleanup/index.js
vendored
File diff suppressed because one or more lines are too long
6705
dist/setup/index.js
vendored
6705
dist/setup/index.js
vendored
File diff suppressed because one or more lines are too long
@ -61,10 +61,25 @@ steps:
|
|||||||
with:
|
with:
|
||||||
distribution: 'zulu'
|
distribution: 'zulu'
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
java-package: jdk # optional (jdk, jre, jdk+fx or jre+fx) - defaults to jdk
|
java-package: jdk # optional (jdk, jre, jdk+fx, jre+fx, jdk+crac or jre+crac) - defaults to jdk
|
||||||
- run: java -cp java HelloWorldApp
|
- run: java -cp java HelloWorldApp
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To use a Zulu JDK build with [CRaC (Coordinated Restore at Checkpoint)](https://openjdk.org/projects/crac/) support, set `java-package` to `jdk+crac` or `jre+crac`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: '21'
|
||||||
|
java-package: jdk+crac
|
||||||
|
- run: java -cp java HelloWorldApp
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note:** CRaC builds are only available for specific Zulu versions on Linux. The default (`jdk`) selects non-CRaC builds.
|
||||||
|
|
||||||
### Liberica
|
### Liberica
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|||||||
3820
package-lock.json
generated
3820
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
18
package.json
18
package.json
@ -40,20 +40,20 @@
|
|||||||
"xmlbuilder2": "^4.0.3"
|
"xmlbuilder2": "^4.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^30.0.0",
|
||||||
"@types/node": "^24.1.0",
|
"@types/node": "^25.9.3",
|
||||||
"@types/semver": "^7.5.8",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.35.1",
|
"@typescript-eslint/eslint-plugin": "^8.48.0",
|
||||||
"@typescript-eslint/parser": "^8.35.1",
|
"@typescript-eslint/parser": "^8.61.1",
|
||||||
"@vercel/ncc": "^0.38.1",
|
"@vercel/ncc": "^0.44.0",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-config-prettier": "^8.6.0",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"eslint-plugin-jest": "^29.0.1",
|
"eslint-plugin-jest": "^29.0.1",
|
||||||
"eslint-plugin-node": "^11.1.0",
|
"eslint-plugin-node": "^11.1.0",
|
||||||
"jest": "^29.7.0",
|
"jest": "^30.4.2",
|
||||||
"jest-circus": "^29.7.0",
|
"jest-circus": "^30.4.2",
|
||||||
"prettier": "^3.6.2",
|
"prettier": "^3.6.2",
|
||||||
"ts-jest": "^29.3.0",
|
"ts-jest": "^29.4.11",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.3.3"
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
|||||||
@ -14,10 +14,14 @@ import {
|
|||||||
} from '../base-models';
|
} from '../base-models';
|
||||||
import {
|
import {
|
||||||
extractJdkFile,
|
extractJdkFile,
|
||||||
|
getNextPageUrlFromLinkHeader,
|
||||||
getDownloadArchiveExtension,
|
getDownloadArchiveExtension,
|
||||||
isVersionSatisfies,
|
isVersionSatisfies,
|
||||||
renameWinArchive
|
renameWinArchive,
|
||||||
|
MAX_PAGINATION_PAGES,
|
||||||
|
validatePaginationUrl
|
||||||
} from '../../util';
|
} from '../../util';
|
||||||
|
import {TemurinDistribution, TemurinImplementation} from '../temurin/installer';
|
||||||
|
|
||||||
export enum AdoptImplementation {
|
export enum AdoptImplementation {
|
||||||
Hotspot = 'Hotspot',
|
Hotspot = 'Hotspot',
|
||||||
@ -25,15 +29,72 @@ export enum AdoptImplementation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class AdoptDistribution extends JavaBase {
|
export class AdoptDistribution extends JavaBase {
|
||||||
|
private readonly temurinDistribution: TemurinDistribution | null;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
installerOptions: JavaInstallerOptions,
|
installerOptions: JavaInstallerOptions,
|
||||||
private readonly jvmImpl: AdoptImplementation
|
private readonly jvmImpl: AdoptImplementation,
|
||||||
|
temurinDistribution: TemurinDistribution | null = null
|
||||||
) {
|
) {
|
||||||
super(`Adopt-${jvmImpl}`, installerOptions);
|
super(`Adopt-${jvmImpl}`, installerOptions);
|
||||||
|
|
||||||
|
if (
|
||||||
|
temurinDistribution !== null &&
|
||||||
|
jvmImpl !== AdoptImplementation.Hotspot
|
||||||
|
) {
|
||||||
|
throw new Error('Only Hotspot JVM is supported by Temurin.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only use the temurin repo for Hotspot JVMs
|
||||||
|
this.temurinDistribution =
|
||||||
|
temurinDistribution ??
|
||||||
|
(jvmImpl === AdoptImplementation.Hotspot
|
||||||
|
? new TemurinDistribution(
|
||||||
|
installerOptions,
|
||||||
|
TemurinImplementation.Hotspot
|
||||||
|
)
|
||||||
|
: null);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async findPackageForDownload(
|
protected async findPackageForDownload(
|
||||||
version: string
|
version: string
|
||||||
|
): Promise<JavaDownloadRelease> {
|
||||||
|
if (this.jvmImpl === AdoptImplementation.Hotspot) {
|
||||||
|
core.notice(
|
||||||
|
"AdoptOpenJDK has moved to Eclipse Temurin https://github.com/actions/setup-java#supported-distributions please consider changing to the 'temurin' distribution type in your setup-java configuration."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
this.jvmImpl === AdoptImplementation.Hotspot &&
|
||||||
|
this.temurinDistribution !== null
|
||||||
|
) {
|
||||||
|
try {
|
||||||
|
return await this.temurinDistribution.findPackageForDownload(version);
|
||||||
|
} catch (error) {
|
||||||
|
// Log the failure but always fall back to legacy AdoptOpenJDK for resilience
|
||||||
|
const errorMessage =
|
||||||
|
error instanceof Error ? error.message : String(error);
|
||||||
|
if (error instanceof Error && error.name === 'VersionNotFoundError') {
|
||||||
|
core.notice(
|
||||||
|
'The JVM you are looking for could not be found in the Temurin repository, this likely indicates ' +
|
||||||
|
'that you are using an out of date version of Java, consider updating and moving to using the Temurin distribution type in setup-java.'
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
// Log other errors for debugging but gracefully fall back
|
||||||
|
core.debug(
|
||||||
|
`Temurin lookup failed: ${errorMessage}. Falling back to AdoptOpenJDK API.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// failed to find a Temurin version, so fall back to AdoptOpenJDK
|
||||||
|
return this.findPackageForDownloadOldAdoptOpenJdk(version);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async findPackageForDownloadOldAdoptOpenJdk(
|
||||||
|
version: string
|
||||||
): Promise<JavaDownloadRelease> {
|
): Promise<JavaDownloadRelease> {
|
||||||
const availableVersionsRaw = await this.getAvailableVersions();
|
const availableVersionsRaw = await this.getAvailableVersions();
|
||||||
const availableVersionsWithBinaries = availableVersionsRaw
|
const availableVersionsWithBinaries = availableVersionsRaw
|
||||||
@ -125,30 +186,46 @@ export class AdoptDistribution extends JavaBase {
|
|||||||
`jvm_impl=${this.jvmImpl.toLowerCase()}`
|
`jvm_impl=${this.jvmImpl.toLowerCase()}`
|
||||||
].join('&');
|
].join('&');
|
||||||
|
|
||||||
// need to iterate through all pages to retrieve the list of all versions
|
const requestArguments = `${baseRequestArguments}&page_size=20&page=0`;
|
||||||
// Adopt API doesn't provide way to retrieve the count of pages to iterate so infinity loop
|
let availableVersionsUrl: string | null =
|
||||||
let page_index = 0;
|
`https://api.adoptopenjdk.net/v3/assets/version/${versionRange}?${requestArguments}`;
|
||||||
const availableVersions: IAdoptAvailableVersions[] = [];
|
const availableVersions: IAdoptAvailableVersions[] = [];
|
||||||
while (true) {
|
let pageCount = 0;
|
||||||
const requestArguments = `${baseRequestArguments}&page_size=20&page=${page_index}`;
|
if (core.isDebug()) {
|
||||||
const availableVersionsUrl = `https://api.adoptopenjdk.net/v3/assets/version/${versionRange}?${requestArguments}`;
|
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
||||||
if (core.isDebug() && page_index === 0) {
|
}
|
||||||
// url is identical except page_index so print it once for debug
|
|
||||||
core.debug(
|
|
||||||
`Gathering available versions from '${availableVersionsUrl}'`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const paginationPage = (
|
while (availableVersionsUrl) {
|
||||||
await this.http.getJson<IAdoptAvailableVersions[]>(availableVersionsUrl)
|
pageCount++;
|
||||||
).result;
|
const response =
|
||||||
|
await this.http.getJson<IAdoptAvailableVersions[]>(
|
||||||
|
availableVersionsUrl
|
||||||
|
);
|
||||||
|
const paginationPage = response.result;
|
||||||
|
const nextUrl = getNextPageUrlFromLinkHeader(response.headers);
|
||||||
|
if (
|
||||||
|
nextUrl &&
|
||||||
|
!validatePaginationUrl(nextUrl, 'https://api.adoptopenjdk.net')
|
||||||
|
) {
|
||||||
|
core.warning(
|
||||||
|
`Ignoring pagination link with unexpected origin: ${nextUrl}`
|
||||||
|
);
|
||||||
|
availableVersionsUrl = null;
|
||||||
|
} else {
|
||||||
|
availableVersionsUrl = nextUrl;
|
||||||
|
}
|
||||||
if (paginationPage === null || paginationPage.length === 0) {
|
if (paginationPage === null || paginationPage.length === 0) {
|
||||||
// break infinity loop because we have reached end of pagination
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
availableVersions.push(...paginationPage);
|
availableVersions.push(...paginationPage);
|
||||||
page_index++;
|
|
||||||
|
if (pageCount >= MAX_PAGINATION_PAGES) {
|
||||||
|
core.warning(
|
||||||
|
`Reached pagination safeguard limit (${MAX_PAGINATION_PAGES} pages) while listing Adopt releases.`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (core.isDebug()) {
|
if (core.isDebug()) {
|
||||||
|
|||||||
@ -292,7 +292,9 @@ export abstract class JavaBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Error(parts.join('\n'));
|
const error = new Error(parts.join('\n'));
|
||||||
|
error.name = 'VersionNotFoundError';
|
||||||
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected setJavaDefault(version: string, toolPath: string) {
|
protected setJavaDefault(version: string, toolPath: string) {
|
||||||
|
|||||||
@ -7,9 +7,12 @@ import {
|
|||||||
import semver from 'semver';
|
import semver from 'semver';
|
||||||
import {
|
import {
|
||||||
extractJdkFile,
|
extractJdkFile,
|
||||||
|
getNextPageUrlFromLinkHeader,
|
||||||
getDownloadArchiveExtension,
|
getDownloadArchiveExtension,
|
||||||
isVersionSatisfies,
|
isVersionSatisfies,
|
||||||
renameWinArchive
|
renameWinArchive,
|
||||||
|
MAX_PAGINATION_PAGES,
|
||||||
|
validatePaginationUrl
|
||||||
} from '../../util';
|
} from '../../util';
|
||||||
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';
|
||||||
@ -155,32 +158,46 @@ export class SemeruDistribution extends JavaBase {
|
|||||||
`jvm_impl=openj9`
|
`jvm_impl=openj9`
|
||||||
].join('&');
|
].join('&');
|
||||||
|
|
||||||
// need to iterate through all pages to retrieve the list of all versions
|
const requestArguments = `${baseRequestArguments}&page_size=20&page=0`;
|
||||||
// Adoptium API doesn't provide way to retrieve the count of pages to iterate so infinity loop
|
let availableVersionsUrl: string | null =
|
||||||
let page_index = 0;
|
`https://api.adoptopenjdk.net/v3/assets/version/${versionRange}?${requestArguments}`;
|
||||||
const availableVersions: ISemeruAvailableVersions[] = [];
|
const availableVersions: ISemeruAvailableVersions[] = [];
|
||||||
while (true) {
|
let pageCount = 0;
|
||||||
const requestArguments = `${baseRequestArguments}&page_size=20&page=${page_index}`;
|
if (core.isDebug()) {
|
||||||
const availableVersionsUrl = `https://api.adoptopenjdk.net/v3/assets/version/${versionRange}?${requestArguments}`;
|
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
||||||
if (core.isDebug() && page_index === 0) {
|
}
|
||||||
// url is identical except page_index so print it once for debug
|
|
||||||
core.debug(
|
|
||||||
`Gathering available versions from '${availableVersionsUrl}'`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const paginationPage = (
|
while (availableVersionsUrl) {
|
||||||
|
pageCount++;
|
||||||
|
const response =
|
||||||
await this.http.getJson<ISemeruAvailableVersions[]>(
|
await this.http.getJson<ISemeruAvailableVersions[]>(
|
||||||
availableVersionsUrl
|
availableVersionsUrl
|
||||||
)
|
);
|
||||||
).result;
|
const paginationPage = response.result;
|
||||||
|
const nextUrl = getNextPageUrlFromLinkHeader(response.headers);
|
||||||
|
if (
|
||||||
|
nextUrl &&
|
||||||
|
!validatePaginationUrl(nextUrl, 'https://api.adoptopenjdk.net')
|
||||||
|
) {
|
||||||
|
core.warning(
|
||||||
|
`Ignoring pagination link with unexpected origin: ${nextUrl}`
|
||||||
|
);
|
||||||
|
availableVersionsUrl = null;
|
||||||
|
} else {
|
||||||
|
availableVersionsUrl = nextUrl;
|
||||||
|
}
|
||||||
if (paginationPage === null || paginationPage.length === 0) {
|
if (paginationPage === null || paginationPage.length === 0) {
|
||||||
// break infinity loop because we have reached end of pagination
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
availableVersions.push(...paginationPage);
|
availableVersions.push(...paginationPage);
|
||||||
page_index++;
|
|
||||||
|
if (pageCount >= MAX_PAGINATION_PAGES) {
|
||||||
|
core.warning(
|
||||||
|
`Reached pagination safeguard limit (${MAX_PAGINATION_PAGES} pages) while listing Semeru releases.`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (core.isDebug()) {
|
if (core.isDebug()) {
|
||||||
|
|||||||
@ -14,9 +14,12 @@ import {
|
|||||||
} from '../base-models';
|
} from '../base-models';
|
||||||
import {
|
import {
|
||||||
extractJdkFile,
|
extractJdkFile,
|
||||||
|
getNextPageUrlFromLinkHeader,
|
||||||
getDownloadArchiveExtension,
|
getDownloadArchiveExtension,
|
||||||
isVersionSatisfies,
|
isVersionSatisfies,
|
||||||
renameWinArchive
|
renameWinArchive,
|
||||||
|
MAX_PAGINATION_PAGES,
|
||||||
|
validatePaginationUrl
|
||||||
} from '../../util';
|
} from '../../util';
|
||||||
|
|
||||||
export enum TemurinImplementation {
|
export enum TemurinImplementation {
|
||||||
@ -31,7 +34,10 @@ export class TemurinDistribution extends JavaBase {
|
|||||||
super(`Temurin-${jvmImpl}`, installerOptions);
|
super(`Temurin-${jvmImpl}`, installerOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async findPackageForDownload(
|
/**
|
||||||
|
* @internal For cross-distribution reuse only. Not intended as a public API.
|
||||||
|
*/
|
||||||
|
public async findPackageForDownload(
|
||||||
version: string
|
version: string
|
||||||
): Promise<JavaDownloadRelease> {
|
): Promise<JavaDownloadRelease> {
|
||||||
const availableVersionsRaw = await this.getAvailableVersions();
|
const availableVersionsRaw = await this.getAvailableVersions();
|
||||||
@ -123,32 +129,47 @@ export class TemurinDistribution extends JavaBase {
|
|||||||
`jvm_impl=${this.jvmImpl.toLowerCase()}`
|
`jvm_impl=${this.jvmImpl.toLowerCase()}`
|
||||||
].join('&');
|
].join('&');
|
||||||
|
|
||||||
// need to iterate through all pages to retrieve the list of all versions
|
const requestArguments = `${baseRequestArguments}&page_size=20&page=0`;
|
||||||
// Adoptium API doesn't provide way to retrieve the count of pages to iterate so infinity loop
|
let availableVersionsUrl: string | null =
|
||||||
let page_index = 0;
|
`https://api.adoptium.net/v3/assets/version/${versionRange}?${requestArguments}`;
|
||||||
const availableVersions: ITemurinAvailableVersions[] = [];
|
const availableVersions: ITemurinAvailableVersions[] = [];
|
||||||
while (true) {
|
let pageCount = 0;
|
||||||
const requestArguments = `${baseRequestArguments}&page_size=20&page=${page_index}`;
|
if (core.isDebug()) {
|
||||||
const availableVersionsUrl = `https://api.adoptium.net/v3/assets/version/${versionRange}?${requestArguments}`;
|
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
||||||
if (core.isDebug() && page_index === 0) {
|
}
|
||||||
// url is identical except page_index so print it once for debug
|
|
||||||
core.debug(
|
|
||||||
`Gathering available versions from '${availableVersionsUrl}'`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const paginationPage = (
|
while (availableVersionsUrl) {
|
||||||
|
pageCount++;
|
||||||
|
const response =
|
||||||
await this.http.getJson<ITemurinAvailableVersions[]>(
|
await this.http.getJson<ITemurinAvailableVersions[]>(
|
||||||
availableVersionsUrl
|
availableVersionsUrl
|
||||||
)
|
);
|
||||||
).result;
|
const paginationPage = response.result;
|
||||||
|
const nextUrl = getNextPageUrlFromLinkHeader(response.headers);
|
||||||
|
if (
|
||||||
|
nextUrl &&
|
||||||
|
!validatePaginationUrl(nextUrl, 'https://api.adoptium.net')
|
||||||
|
) {
|
||||||
|
core.warning(
|
||||||
|
`Ignoring pagination link with unexpected origin: ${nextUrl}`
|
||||||
|
);
|
||||||
|
availableVersionsUrl = null;
|
||||||
|
} else {
|
||||||
|
availableVersionsUrl = nextUrl;
|
||||||
|
}
|
||||||
|
|
||||||
if (paginationPage === null || paginationPage.length === 0) {
|
if (paginationPage === null || paginationPage.length === 0) {
|
||||||
// break infinity loop because we have reached end of pagination
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
availableVersions.push(...paginationPage);
|
availableVersions.push(...paginationPage);
|
||||||
page_index++;
|
|
||||||
|
if (pageCount >= MAX_PAGINATION_PAGES) {
|
||||||
|
core.warning(
|
||||||
|
`Reached pagination safeguard limit (${MAX_PAGINATION_PAGES} pages) while listing Temurin releases.`
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (core.isDebug()) {
|
if (core.isDebug()) {
|
||||||
@ -171,6 +192,11 @@ export class TemurinDistribution extends JavaBase {
|
|||||||
return 'mac';
|
return 'mac';
|
||||||
case 'win32':
|
case 'win32':
|
||||||
return 'windows';
|
return 'windows';
|
||||||
|
case 'linux':
|
||||||
|
if (fs.existsSync('/etc/alpine-release')) {
|
||||||
|
return 'alpine-linux';
|
||||||
|
}
|
||||||
|
return 'linux';
|
||||||
default:
|
default:
|
||||||
return process.platform;
|
return process.platform;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,16 +31,16 @@ export class ZuluDistribution extends JavaBase {
|
|||||||
const availableVersionsRaw = await this.getAvailableVersions();
|
const availableVersionsRaw = await this.getAvailableVersions();
|
||||||
const availableVersions = availableVersionsRaw.map(item => {
|
const availableVersions = availableVersionsRaw.map(item => {
|
||||||
return {
|
return {
|
||||||
version: convertVersionToSemver(item.jdk_version),
|
version: convertVersionToSemver(item.java_version),
|
||||||
url: item.url,
|
url: item.download_url,
|
||||||
zuluVersion: convertVersionToSemver(item.zulu_version)
|
zuluVersion: convertVersionToSemver(item.distro_version)
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
const satisfiedVersions = availableVersions
|
const satisfiedVersions = availableVersions
|
||||||
.filter(item => isVersionSatisfies(version, item.version))
|
.filter(item => isVersionSatisfies(version, item.version))
|
||||||
.sort((a, b) => {
|
.sort((a, b) => {
|
||||||
// Azul provides two versions: jdk_version and azul_version
|
// Azul provides two versions: java_version and distro_version
|
||||||
// we should sort by both fields by descending
|
// we should sort by both fields by descending
|
||||||
return (
|
return (
|
||||||
-semver.compareBuild(a.version, b.version) ||
|
-semver.compareBuild(a.version, b.version) ||
|
||||||
@ -95,50 +95,74 @@ export class ZuluDistribution extends JavaBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async getAvailableVersions(): Promise<IZuluVersions[]> {
|
private async getAvailableVersions(): Promise<IZuluVersions[]> {
|
||||||
const {arch, hw_bitness, abi} = this.getArchitectureOptions();
|
const {arch, hw_bitness} = this.getArchitectureOptions();
|
||||||
const [bundleType, features] = this.packageType.split('+');
|
const [bundleType, features] = this.packageType.split('+');
|
||||||
const platform = this.getPlatformOption();
|
const platform = this.getPlatformOption();
|
||||||
const extension = getDownloadArchiveExtension();
|
const extension = getDownloadArchiveExtension();
|
||||||
const javafx = features?.includes('fx') ?? false;
|
const javafx = features?.includes('fx') ?? false;
|
||||||
|
const crac = features?.includes('crac') ?? false;
|
||||||
const releaseStatus = this.stable ? 'ga' : 'ea';
|
const releaseStatus = this.stable ? 'ga' : 'ea';
|
||||||
|
|
||||||
if (core.isDebug()) {
|
if (core.isDebug()) {
|
||||||
console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
||||||
}
|
}
|
||||||
|
|
||||||
const requestArguments = [
|
// Map old API parameters to new metadata API parameters
|
||||||
`os=${platform}`,
|
const osParam = this.getOsParam(platform);
|
||||||
`ext=${extension}`,
|
const archiveType = this.getArchiveType(extension);
|
||||||
`bundle_type=${bundleType}`,
|
const archParam = this.getArchParam(arch, hw_bitness);
|
||||||
`javafx=${javafx}`,
|
|
||||||
`arch=${arch}`,
|
|
||||||
`hw_bitness=${hw_bitness}`,
|
|
||||||
`release_status=${releaseStatus}`,
|
|
||||||
abi ? `abi=${abi}` : null,
|
|
||||||
features ? `features=${features}` : null
|
|
||||||
]
|
|
||||||
.filter(Boolean)
|
|
||||||
.join('&');
|
|
||||||
|
|
||||||
const availableVersionsUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?${requestArguments}`;
|
// Fetch all pages to avoid missing packages when there are > 100 results
|
||||||
|
let allVersions: IZuluVersions[] = [];
|
||||||
|
let page = 1;
|
||||||
|
const pageSize = 100;
|
||||||
|
let hasMore = true;
|
||||||
|
|
||||||
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
while (hasMore) {
|
||||||
|
const requestArguments = [
|
||||||
|
`os=${osParam}`,
|
||||||
|
`arch=${archParam}`,
|
||||||
|
`archive_type=${archiveType}`,
|
||||||
|
`java_package_type=${bundleType}`,
|
||||||
|
`javafx_bundled=${javafx}`,
|
||||||
|
`crac_supported=${crac}`,
|
||||||
|
`release_status=${releaseStatus}`,
|
||||||
|
`availability_types=ca`,
|
||||||
|
// Only filter by TCK certification for GA releases
|
||||||
|
// EA releases typically don't have TCK certification
|
||||||
|
releaseStatus === 'ga' ? `certifications=tck` : '',
|
||||||
|
`page=${page}`,
|
||||||
|
`page_size=${pageSize}`
|
||||||
|
]
|
||||||
|
.filter(Boolean)
|
||||||
|
.join('&');
|
||||||
|
|
||||||
const availableVersions =
|
const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`;
|
||||||
(await this.http.getJson<Array<IZuluVersions>>(availableVersionsUrl))
|
|
||||||
.result ?? [];
|
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
||||||
|
|
||||||
|
const pageResults =
|
||||||
|
(await this.http.getJson<Array<IZuluVersions>>(availableVersionsUrl))
|
||||||
|
.result ?? [];
|
||||||
|
|
||||||
|
allVersions = allVersions.concat(pageResults);
|
||||||
|
|
||||||
|
// If we got fewer results than page size, we've reached the end
|
||||||
|
hasMore = pageResults.length === pageSize;
|
||||||
|
page++;
|
||||||
|
}
|
||||||
|
|
||||||
if (core.isDebug()) {
|
if (core.isDebug()) {
|
||||||
core.startGroup('Print information about available versions');
|
core.startGroup('Print information about available versions');
|
||||||
console.timeEnd('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
console.timeEnd('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
||||||
core.debug(`Available versions: [${availableVersions.length}]`);
|
core.debug(`Available versions: [${allVersions.length}]`);
|
||||||
core.debug(
|
core.debug(
|
||||||
availableVersions.map(item => item.jdk_version.join('.')).join(', ')
|
allVersions.map(item => item.java_version.join('.')).join(', ')
|
||||||
);
|
);
|
||||||
core.endGroup();
|
core.endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
return availableVersions;
|
return allVersions;
|
||||||
}
|
}
|
||||||
|
|
||||||
private getArchitectureOptions(): {
|
private getArchitectureOptions(): {
|
||||||
@ -171,4 +195,47 @@ export class ZuluDistribution extends JavaBase {
|
|||||||
return process.platform;
|
return process.platform;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private getOsParam(platform: string): string {
|
||||||
|
// Map platform to new metadata API OS parameter
|
||||||
|
// The new API uses more specific OS names like 'linux-glibc', 'macos', 'windows'
|
||||||
|
switch (platform) {
|
||||||
|
case 'linux':
|
||||||
|
return 'linux-glibc';
|
||||||
|
case 'macos':
|
||||||
|
return 'macos';
|
||||||
|
case 'windows':
|
||||||
|
return 'windows';
|
||||||
|
default:
|
||||||
|
return platform;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private getArchParam(arch: string, hw_bitness: string): string {
|
||||||
|
// Map architecture to new metadata API arch parameter
|
||||||
|
// The new API uses x64, x86, aarch64, arm
|
||||||
|
if (arch === 'x86' && hw_bitness === '64') {
|
||||||
|
return 'x64';
|
||||||
|
} else if (arch === 'x86' && hw_bitness === '32') {
|
||||||
|
return 'x86';
|
||||||
|
} else if (arch === 'arm' && hw_bitness === '64') {
|
||||||
|
return 'aarch64';
|
||||||
|
} else if (arch === 'arm' && hw_bitness === '') {
|
||||||
|
return 'arm';
|
||||||
|
}
|
||||||
|
// Fallback for other architectures
|
||||||
|
return arch;
|
||||||
|
}
|
||||||
|
|
||||||
|
private getArchiveType(extension: string): string {
|
||||||
|
// Map extension to archive_type parameter for new API
|
||||||
|
switch (extension) {
|
||||||
|
case 'tar.gz':
|
||||||
|
return 'tar.gz';
|
||||||
|
case 'zip':
|
||||||
|
return 'zip';
|
||||||
|
default:
|
||||||
|
return extension;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,12 @@
|
|||||||
// Models from https://app.swaggerhub.com/apis-docs/azul/zulu-download-community/1.0
|
// Models from https://api.azul.com/metadata/v1/docs/swagger (metadata API v1)
|
||||||
|
|
||||||
export interface IZuluVersions {
|
export interface IZuluVersions {
|
||||||
id: number;
|
package_uuid: string;
|
||||||
name: string;
|
name: string;
|
||||||
url: string;
|
download_url: string;
|
||||||
jdk_version: Array<number>;
|
java_version: Array<number>;
|
||||||
zulu_version: Array<number>;
|
distro_version: Array<number>;
|
||||||
|
availability_type: string;
|
||||||
|
javafx_bundled: boolean;
|
||||||
|
crac_supported?: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
57
src/util.ts
57
src/util.ts
@ -55,6 +55,14 @@ export function getDownloadArchiveExtension() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function isVersionSatisfies(range: string, version: string): boolean {
|
export function isVersionSatisfies(range: string, version: string): boolean {
|
||||||
|
// Some distributions (e.g. JetBrains Runtime) publish 4-segment versions
|
||||||
|
// like '17.0.8.1+1080.1' that semver rejects. If the candidate version
|
||||||
|
// isn't valid semver, it can't match — bail out rather than letting
|
||||||
|
// compareBuild / satisfies throw.
|
||||||
|
if (!semver.valid(version)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (semver.valid(range)) {
|
if (semver.valid(range)) {
|
||||||
// if full version with build digit is provided as a range (such as '1.2.3+4')
|
// if full version with build digit is provided as a range (such as '1.2.3+4')
|
||||||
// we should check for exact equal via compareBuild
|
// we should check for exact equal via compareBuild
|
||||||
@ -201,6 +209,55 @@ export function getGitHubHttpHeaders(): OutgoingHttpHeaders {
|
|||||||
return headers;
|
return headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const MAX_PAGINATION_PAGES = 1000;
|
||||||
|
|
||||||
|
export function getNextPageUrlFromLinkHeader(
|
||||||
|
headers?: Record<string, string | string[] | undefined>
|
||||||
|
): string | null {
|
||||||
|
if (!headers) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const linkHeader = headers.link ?? headers.Link;
|
||||||
|
if (!linkHeader) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const normalizedLinkHeader = Array.isArray(linkHeader)
|
||||||
|
? linkHeader.join(',')
|
||||||
|
: linkHeader;
|
||||||
|
|
||||||
|
// Split into individual link-values and find the one with rel="next"
|
||||||
|
// RFC 8288 allows rel to appear anywhere among the parameters
|
||||||
|
const linkValues = normalizedLinkHeader.split(/,(?=\s*<)/);
|
||||||
|
for (const linkValue of linkValues) {
|
||||||
|
const urlMatch = linkValue.match(/<([^>]+)>/);
|
||||||
|
if (!urlMatch) continue;
|
||||||
|
|
||||||
|
const params = linkValue.slice(urlMatch[0].length);
|
||||||
|
// Use word boundary to match "next" as a standalone relation type
|
||||||
|
// RFC 8288 allows space-separated relation types like rel="next prev"
|
||||||
|
if (/;\s*rel="?[^"]*\bnext\b/i.test(params)) {
|
||||||
|
return urlMatch[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function validatePaginationUrl(
|
||||||
|
url: string,
|
||||||
|
allowedOrigin: string
|
||||||
|
): boolean {
|
||||||
|
try {
|
||||||
|
const parsed = new URL(url);
|
||||||
|
const allowed = new URL(allowedOrigin);
|
||||||
|
return parsed.origin === allowed.origin;
|
||||||
|
} catch {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Rename archive to add extension because after downloading
|
// Rename archive to add extension because after downloading
|
||||||
// archive does not contain extension type and it leads to some issues
|
// archive does not contain extension type and it leads to some issues
|
||||||
// on Windows runners without PowerShell Core.
|
// on Windows runners without PowerShell Core.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user