mirror of
https://gitea.com/actions/setup-java.git
synced 2026-07-09 19:22:05 +08:00
Compare commits
9 Commits
v5
...
releases/v
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
513edc4f87 | ||
|
|
62df799a9c | ||
|
|
176156a187 | ||
|
|
bf7b8deac2 | ||
|
|
0173e6dd1b | ||
|
|
f45cd82b67 | ||
|
|
e2863ad499 | ||
|
|
78efe031a6 | ||
|
|
3be16b57e9 |
13
.github/java.json
vendored
13
.github/java.json
vendored
@@ -21,6 +21,19 @@
|
||||
"message": 4
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"owner": "maven-javac",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^\\[(WARNING|ERROR)\\]\\s+(.+?\\.java):\\[(\\d+),(\\d+)\\]\\s+(.+)$",
|
||||
"severity": 1,
|
||||
"file": 2,
|
||||
"line": 3,
|
||||
"column": 4,
|
||||
"message": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
5
.github/workflows/e2e-local-file.yml
vendored
5
.github/workflows/e2e-local-file.yml
vendored
@@ -47,7 +47,7 @@ jobs:
|
||||
id: setup-java
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }}
|
||||
jdk-file: ${{ runner.temp }}/${{ env.LocalFilename }}
|
||||
java-version: '11.0.0-ea'
|
||||
architecture: x64
|
||||
- name: Verify Java version
|
||||
@@ -88,7 +88,7 @@ jobs:
|
||||
id: setup-java
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }}
|
||||
jdk-file: ${{ runner.temp }}/${{ env.LocalFilename }}
|
||||
java-version: '11.0.0-ea'
|
||||
architecture: x64
|
||||
- name: Verify Java version
|
||||
@@ -129,6 +129,7 @@ jobs:
|
||||
id: setup-java
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
# Intentionally uses the deprecated `jdkFile` alias to keep it covered.
|
||||
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }}
|
||||
java-version: '11.0.0-ea'
|
||||
architecture: x64
|
||||
|
||||
10
README.md
10
README.md
@@ -33,11 +33,11 @@ For more details, see the full release notes on the [releases page](https://git
|
||||
|
||||
- `distribution`: Java [distribution](#supported-distributions). Required unless `java-version-file` points to `.sdkmanrc` with a recognized distribution suffix (for example `java=21.0.5-tem`).
|
||||
|
||||
- `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. Default value: `jdk`.
|
||||
|
||||
- `architecture`: The target architecture of the package. Possible values: `x86`, `x64`, `armv7`, `aarch64`, `ppc64le`. Default value: Derived from the runner machine.
|
||||
|
||||
- `jdkFile`: If a use-case requires a custom distribution setup-java uses the compressed JDK from the location pointed by this input and will take care of the installation and caching on the VM. Note: `distribution` must be set to 'jdkfile' (case-sensitive; all lowercase) when using this option.
|
||||
- `jdk-file`: If a use-case requires a custom distribution setup-java uses the compressed JDK from the location pointed by this input and will take care of the installation and caching on the VM. Note: `distribution` must be set to 'jdkfile' (case-sensitive; all lowercase) when using this option. (The camelCase `jdkFile` input is still accepted as a deprecated alias and may be removed in a future release.)
|
||||
|
||||
- `check-latest`: Setting this option makes the action to check for the latest available version for the version spec.
|
||||
|
||||
@@ -126,7 +126,7 @@ Currently, the following distributions are supported:
|
||||
> [!NOTE]
|
||||
> - The different distributors can provide discrepant list of available versions / supported configurations. Please refer to the official documentation to see the list of supported versions.
|
||||
> - AdoptOpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from `adopt` and `adopt-openj9`, to `temurin` and `semeru` respectively, to keep receiving software and security updates. See more details in the [Good-bye AdoptOpenJDK post](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/).
|
||||
> - For Azul Zulu OpenJDK architectures x64 and arm64 are mapped to x86 / arm with proper hw_bitness.
|
||||
> - For Azul Zulu OpenJDK, architecture `arm64` is mapped to `aarch64` when querying the Azul Metadata API.
|
||||
> - To comply with the GraalVM Free Terms and Conditions (GFTC) license, it is recommended to use GraalVM JDK 17 version 17.0.12, as this is the only version of GraalVM JDK 17 available under the GFTC license. Additionally, it is encouraged to consider upgrading to GraalVM JDK 21, which offers the latest features and improvements.
|
||||
> - GraalVM Community is available as `distribution: 'graalvm-community'` for stable JDK 17 and later releases published on GitHub.
|
||||
|
||||
@@ -138,13 +138,15 @@ Currently, the following distributions are supported:
|
||||
The action has a built-in functionality for caching and restoring dependencies. It uses [toolkit/cache](https://github.com/actions/toolkit/tree/main/packages/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle, maven and sbt. The format of the used cache key is `setup-java-${{ platform }}-${{ packageManager }}-${{ fileHash }}`, where the hash is based on the following files:
|
||||
|
||||
- gradle: `**/*.gradle*`, `**/gradle-wrapper.properties`, `buildSrc/**/Versions.kt`, `buildSrc/**/Dependencies.kt`, `gradle/*.versions.toml`, and `**/versions.properties`
|
||||
- maven: `**/pom.xml` and `**/.mvn/wrapper/maven-wrapper.properties`
|
||||
- maven: `**/pom.xml`, `**/.mvn/wrapper/maven-wrapper.properties`, and `**/.mvn/extensions.xml`
|
||||
- sbt: all sbt build definition files `**/*.sbt`, `**/project/build.properties`, `**/project/**.scala`, `**/project/**.sbt`
|
||||
|
||||
When the option `cache-dependency-path` is specified, the hash is based on the matching file. This option supports wildcards and a list of file names, and is especially useful for monorepos.
|
||||
|
||||
The workflow output `cache-hit` is set to indicate if an exact match was found for the key [as actions/cache does](https://github.com/actions/cache/tree/main#outputs).
|
||||
|
||||
The workflow output `cache-primary-key` exposes the primary cache key computed by the action for the configured build tool. It is useful for composing with [`actions/cache`](https://github.com/actions/cache) or [`actions/cache/restore`](https://github.com/actions/cache/tree/main/restore) in later steps or dependent jobs that need to reuse the exact same key. It is empty when caching is not enabled or when caching is skipped (for example, when the cache service is unavailable).
|
||||
|
||||
The cache input is optional, and caching is turned off by default.
|
||||
|
||||
**Maven Wrapper:** when `cache: 'maven'` is enabled, the action also caches and restores the Maven Wrapper distribution downloaded to `~/.m2/wrapper/dists` (in addition to the local repository), so wrapper-based (`./mvnw`) builds don't re-download the wrapper on every run. This is keyed on `**/.mvn/wrapper/maven-wrapper.properties` as shown above.
|
||||
|
||||
@@ -78,6 +78,10 @@ describe('dependency cache', () => {
|
||||
ReturnType<typeof glob.hashFiles>,
|
||||
Parameters<typeof glob.hashFiles>
|
||||
>;
|
||||
let spySetOutput: jest.SpyInstance<
|
||||
ReturnType<typeof core.setOutput>,
|
||||
Parameters<typeof core.setOutput>
|
||||
>;
|
||||
|
||||
beforeEach(() => {
|
||||
spyCacheRestore = jest
|
||||
@@ -86,6 +90,7 @@ describe('dependency cache', () => {
|
||||
Promise.resolve(undefined)
|
||||
);
|
||||
spyGlobHashFiles = jest.spyOn(glob, 'hashFiles');
|
||||
spySetOutput = jest.spyOn(core, 'setOutput').mockImplementation(() => {});
|
||||
spyWarning.mockImplementation(() => null);
|
||||
});
|
||||
|
||||
@@ -96,11 +101,11 @@ describe('dependency cache', () => {
|
||||
});
|
||||
|
||||
describe('for maven', () => {
|
||||
it('throws error if no pom.xml or maven-wrapper.properties found', async () => {
|
||||
it('throws error if no pom.xml, maven-wrapper.properties, or extensions.xml found', async () => {
|
||||
await expect(restore('maven', '')).rejects.toThrow(
|
||||
`No file in ${projectRoot(
|
||||
workspace
|
||||
)} matched to [**/pom.xml,**/.mvn/wrapper/maven-wrapper.properties], make sure you have checked out the target repository`
|
||||
)} matched to [**/pom.xml,**/.mvn/wrapper/maven-wrapper.properties,**/.mvn/extensions.xml], make sure you have checked out the target repository`
|
||||
);
|
||||
});
|
||||
it('downloads cache based on pom.xml', async () => {
|
||||
@@ -115,11 +120,20 @@ describe('dependency cache', () => {
|
||||
expect.any(String)
|
||||
);
|
||||
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||
'**/pom.xml\n**/.mvn/wrapper/maven-wrapper.properties'
|
||||
'**/pom.xml\n**/.mvn/wrapper/maven-wrapper.properties\n**/.mvn/extensions.xml'
|
||||
);
|
||||
expect(spyWarning).not.toHaveBeenCalled();
|
||||
expect(spyInfo).toHaveBeenCalledWith('maven cache is not found');
|
||||
});
|
||||
it('sets the cache-primary-key output', async () => {
|
||||
createFile(join(workspace, 'pom.xml'));
|
||||
|
||||
await restore('maven', '');
|
||||
expect(spySetOutput).toHaveBeenCalledWith(
|
||||
'cache-primary-key',
|
||||
expect.stringContaining('setup-java-')
|
||||
);
|
||||
});
|
||||
it('downloads cache based on maven-wrapper.properties', async () => {
|
||||
createDirectory(join(workspace, '.mvn'));
|
||||
createDirectory(join(workspace, '.mvn', 'wrapper'));
|
||||
@@ -136,7 +150,25 @@ describe('dependency cache', () => {
|
||||
expect.any(String)
|
||||
);
|
||||
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||
'**/pom.xml\n**/.mvn/wrapper/maven-wrapper.properties'
|
||||
'**/pom.xml\n**/.mvn/wrapper/maven-wrapper.properties\n**/.mvn/extensions.xml'
|
||||
);
|
||||
expect(spyWarning).not.toHaveBeenCalled();
|
||||
expect(spyInfo).toHaveBeenCalledWith('maven cache is not found');
|
||||
});
|
||||
it('downloads cache based on extensions.xml', async () => {
|
||||
createDirectory(join(workspace, '.mvn'));
|
||||
createFile(join(workspace, '.mvn', 'extensions.xml'));
|
||||
|
||||
await restore('maven', '');
|
||||
expect(spyCacheRestore).toHaveBeenCalledWith(
|
||||
[
|
||||
join(os.homedir(), '.m2', 'repository'),
|
||||
join(os.homedir(), '.m2', 'wrapper', 'dists')
|
||||
],
|
||||
expect.any(String)
|
||||
);
|
||||
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||
'**/pom.xml\n**/.mvn/wrapper/maven-wrapper.properties\n**/.mvn/extensions.xml'
|
||||
);
|
||||
expect(spyWarning).not.toHaveBeenCalled();
|
||||
expect(spyInfo).toHaveBeenCalledWith('maven cache is not found');
|
||||
|
||||
@@ -1,254 +1,686 @@
|
||||
[
|
||||
[
|
||||
{
|
||||
"id": 10996,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
||||
"package_uuid": "test-uuid-10996",
|
||||
"name": "zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
||||
"zulu_version": [8, 1, 0, 10],
|
||||
"jdk_version": [8, 0, 5, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
8,
|
||||
1,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10997,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
||||
"package_uuid": "test-uuid-10997",
|
||||
"name": "zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
||||
"zulu_version": [8, 2, 0, 1],
|
||||
"jdk_version": [8, 0, 11, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
11
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
8,
|
||||
2,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10346,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10346",
|
||||
"name": "zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 21, 0, 1],
|
||||
"jdk_version": [8, 0, 131, 11]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
131
|
||||
],
|
||||
"openjdk_build_number": 11,
|
||||
"distro_version": [
|
||||
8,
|
||||
21,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10362,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10362",
|
||||
"name": "zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 23, 0, 3],
|
||||
"jdk_version": [8, 0, 144, 1]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
144
|
||||
],
|
||||
"openjdk_build_number": 1,
|
||||
"distro_version": [
|
||||
8,
|
||||
23,
|
||||
0,
|
||||
3
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10399,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10399",
|
||||
"name": "zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 25, 0, 1],
|
||||
"jdk_version": [8, 0, 152, 16]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
152
|
||||
],
|
||||
"openjdk_build_number": 16,
|
||||
"distro_version": [
|
||||
8,
|
||||
25,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11355,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11355",
|
||||
"name": "zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 46, 0, 19],
|
||||
"jdk_version": [8, 0, 252, 14]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
252
|
||||
],
|
||||
"openjdk_build_number": 14,
|
||||
"distro_version": [
|
||||
8,
|
||||
46,
|
||||
0,
|
||||
19
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11481,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11481",
|
||||
"name": "zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 47],
|
||||
"jdk_version": [8, 0, 262, 17]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 17,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
47
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11622,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11622",
|
||||
"name": "zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 51],
|
||||
"jdk_version": [8, 0, 262, 19]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 19,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
51
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11535,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11535",
|
||||
"name": "zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 49],
|
||||
"jdk_version": [8, 0, 262, 18]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 18,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
49
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12424,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12424",
|
||||
"name": "zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
||||
"zulu_version": [8, 52, 0, 23],
|
||||
"jdk_version": [8, 0, 282, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
282
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
8,
|
||||
52,
|
||||
0,
|
||||
23
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10383,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10383",
|
||||
"name": "zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
||||
"zulu_version": [9, 0, 0, 15],
|
||||
"jdk_version": [9, 0, 0, 0]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
9,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 0,
|
||||
"distro_version": [
|
||||
9,
|
||||
0,
|
||||
0,
|
||||
15
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10413,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10413",
|
||||
"name": "zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [9, 0, 1, 3],
|
||||
"jdk_version": [9, 0, 1, 0]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
9,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 0,
|
||||
"distro_version": [
|
||||
9,
|
||||
0,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10503,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10503",
|
||||
"name": "zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [10, 2, 3, 0],
|
||||
"jdk_version": [10, 0, 1, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
10,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
10,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10541,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10541",
|
||||
"name": "zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
||||
"zulu_version": [10, 3, 5, 0],
|
||||
"jdk_version": [10, 0, 2, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
10,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
10,
|
||||
3,
|
||||
5,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10576,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10576",
|
||||
"name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [11, 2, 3, 0],
|
||||
"jdk_version": [11, 0, 1, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
11,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10604,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10604",
|
||||
"name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
||||
"zulu_version": [11, 29, 3, 0],
|
||||
"jdk_version": [11, 0, 2, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
11,
|
||||
29,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10687,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10687",
|
||||
"name": "zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
||||
"zulu_version": [11, 31, 11, 0],
|
||||
"jdk_version": [11, 0, 3, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
3
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
11,
|
||||
31,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10856,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10856",
|
||||
"name": "zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 13, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
13,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10933,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10933",
|
||||
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 15, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
15,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10933,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10933",
|
||||
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 11, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12397,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12397",
|
||||
"name": "zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
||||
"zulu_version": [11, 45, 27, 0],
|
||||
"jdk_version": [11, 0, 10, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
11,
|
||||
45,
|
||||
27,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10667,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10667",
|
||||
"name": "zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
||||
"zulu_version": [12, 1, 3, 0],
|
||||
"jdk_version": [12, 0, 0, 33]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 33,
|
||||
"distro_version": [
|
||||
12,
|
||||
1,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10710,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10710",
|
||||
"name": "zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [12, 2, 3, 0],
|
||||
"jdk_version": [12, 0, 1, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
12,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10780,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10780",
|
||||
"name": "zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
||||
"zulu_version": [12, 3, 11, 0],
|
||||
"jdk_version": [12, 0, 2, 3]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 3,
|
||||
"distro_version": [
|
||||
12,
|
||||
3,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10846,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10846",
|
||||
"name": "zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
||||
"zulu_version": [13, 27, 9, 0],
|
||||
"jdk_version": [13, 0, 0, 33]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 33,
|
||||
"distro_version": [
|
||||
13,
|
||||
27,
|
||||
9,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10888,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10888",
|
||||
"name": "zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [13, 28, 11, 0],
|
||||
"jdk_version": [13, 0, 1, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
13,
|
||||
28,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11073,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11073",
|
||||
"name": "zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
||||
"zulu_version": [13, 29, 9, 0],
|
||||
"jdk_version": [13, 0, 2, 6]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 6,
|
||||
"distro_version": [
|
||||
13,
|
||||
29,
|
||||
9,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12408,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12408",
|
||||
"name": "zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
||||
"zulu_version": [13, 37, 21, 0],
|
||||
"jdk_version": [13, 0, 6, 5]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
6
|
||||
],
|
||||
"openjdk_build_number": 5,
|
||||
"distro_version": [
|
||||
13,
|
||||
37,
|
||||
21,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11236,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11236",
|
||||
"name": "zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
||||
"zulu_version": [14, 27, 1, 0],
|
||||
"jdk_version": [14, 0, 0, 36]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 36,
|
||||
"distro_version": [
|
||||
14,
|
||||
27,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11349,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11349",
|
||||
"name": "zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [14, 28, 21, 0],
|
||||
"jdk_version": [14, 0, 1, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
14,
|
||||
28,
|
||||
21,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11513,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11513",
|
||||
"name": "zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
||||
"zulu_version": [14, 29, 23, 0],
|
||||
"jdk_version": [14, 0, 2, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
14,
|
||||
29,
|
||||
23,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11780,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11780",
|
||||
"name": "zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
||||
"zulu_version": [15, 27, 17, 0],
|
||||
"jdk_version": [15, 0, 0, 36]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 36,
|
||||
"distro_version": [
|
||||
15,
|
||||
27,
|
||||
17,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11924,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11924",
|
||||
"name": "zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [15, 28, 13, 0],
|
||||
"jdk_version": [15, 0, 1, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
15,
|
||||
28,
|
||||
13,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12101,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12101",
|
||||
"name": "zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||
"zulu_version": [15, 28, 51, 0],
|
||||
"jdk_version": [15, 0, 1, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
15,
|
||||
28,
|
||||
51,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12445,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12445",
|
||||
"name": "zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
||||
"zulu_version": [15, 29, 15, 0],
|
||||
"jdk_version": [15, 0, 2, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
15,
|
||||
29,
|
||||
15,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12447,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
||||
"package_uuid": "test-uuid-12447",
|
||||
"name": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
||||
"zulu_version": [21, 32, 17, 0],
|
||||
"jdk_version": [21, 0, 2, 6]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
||||
"java_version": [
|
||||
21,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 6,
|
||||
"distro_version": [
|
||||
21,
|
||||
32,
|
||||
17,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
@@ -1,247 +1,667 @@
|
||||
[
|
||||
{
|
||||
"id": 10996,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-macosx.tar.gz",
|
||||
"package_uuid": "test-uuid-10996",
|
||||
"name": "zulu1.8.0_05-8.1.0.10-macosx.tar.gz",
|
||||
"zulu_version": [8, 1, 0, 10],
|
||||
"jdk_version": [8, 0, 5, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-macosx.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
8,
|
||||
1,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10997,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-macosx.tar.gz",
|
||||
"package_uuid": "test-uuid-10997",
|
||||
"name": "zulu1.8.0_11-8.2.0.1-macosx.tar.gz",
|
||||
"zulu_version": [8, 2, 0, 1],
|
||||
"jdk_version": [8, 0, 11, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-macosx.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
11
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
8,
|
||||
2,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10346,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10346",
|
||||
"name": "zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 21, 0, 1],
|
||||
"jdk_version": [8, 0, 131, 11]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
131
|
||||
],
|
||||
"openjdk_build_number": 11,
|
||||
"distro_version": [
|
||||
8,
|
||||
21,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10362,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10362",
|
||||
"name": "zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 23, 0, 3],
|
||||
"jdk_version": [8, 0, 144, 1]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
144
|
||||
],
|
||||
"openjdk_build_number": 1,
|
||||
"distro_version": [
|
||||
8,
|
||||
23,
|
||||
0,
|
||||
3
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10399,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10399",
|
||||
"name": "zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 25, 0, 1],
|
||||
"jdk_version": [8, 0, 152, 16]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
152
|
||||
],
|
||||
"openjdk_build_number": 16,
|
||||
"distro_version": [
|
||||
8,
|
||||
25,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11355,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11355",
|
||||
"name": "zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 46, 0, 19],
|
||||
"jdk_version": [8, 0, 252, 14]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
252
|
||||
],
|
||||
"openjdk_build_number": 14,
|
||||
"distro_version": [
|
||||
8,
|
||||
46,
|
||||
0,
|
||||
19
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11481,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11481",
|
||||
"name": "zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 47],
|
||||
"jdk_version": [8, 0, 262, 17]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 17,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
47
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11622,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11622",
|
||||
"name": "zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 51],
|
||||
"jdk_version": [8, 0, 262, 19]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 19,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
51
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11535,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11535",
|
||||
"name": "zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 49],
|
||||
"jdk_version": [8, 0, 262, 18]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 18,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
49
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12424,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12424",
|
||||
"name": "zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz",
|
||||
"zulu_version": [8, 52, 0, 23],
|
||||
"jdk_version": [8, 0, 282, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
282
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
8,
|
||||
52,
|
||||
0,
|
||||
23
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10383,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10383",
|
||||
"name": "zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz",
|
||||
"zulu_version": [9, 0, 0, 15],
|
||||
"jdk_version": [9, 0, 0, 0]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
9,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 0,
|
||||
"distro_version": [
|
||||
9,
|
||||
0,
|
||||
0,
|
||||
15
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10413,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10413",
|
||||
"name": "zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [9, 0, 1, 3],
|
||||
"jdk_version": [9, 0, 1, 0]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
9,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 0,
|
||||
"distro_version": [
|
||||
9,
|
||||
0,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10503,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10503",
|
||||
"name": "zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [10, 2, 3, 0],
|
||||
"jdk_version": [10, 0, 1, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
10,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
10,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10541,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10541",
|
||||
"name": "zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz",
|
||||
"zulu_version": [10, 3, 5, 0],
|
||||
"jdk_version": [10, 0, 2, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
10,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
10,
|
||||
3,
|
||||
5,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10576,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10576",
|
||||
"name": "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [11, 2, 3, 0],
|
||||
"jdk_version": [11, 0, 1, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
11,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10604,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10604",
|
||||
"name": "zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz",
|
||||
"zulu_version": [11, 29, 3, 0],
|
||||
"jdk_version": [11, 0, 2, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
11,
|
||||
29,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10687,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10687",
|
||||
"name": "zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz",
|
||||
"zulu_version": [11, 31, 11, 0],
|
||||
"jdk_version": [11, 0, 3, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
3
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
11,
|
||||
31,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10856,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10856",
|
||||
"name": "zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 13, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
13,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10933,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10933",
|
||||
"name": "zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 15, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
15,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10933,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10933",
|
||||
"name": "zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 11, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12397,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12397",
|
||||
"name": "zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz",
|
||||
"zulu_version": [11, 45, 27, 0],
|
||||
"jdk_version": [11, 0, 10, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
11,
|
||||
45,
|
||||
27,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10667,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10667",
|
||||
"name": "zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz",
|
||||
"zulu_version": [12, 1, 3, 0],
|
||||
"jdk_version": [12, 0, 0, 33]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 33,
|
||||
"distro_version": [
|
||||
12,
|
||||
1,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10710,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10710",
|
||||
"name": "zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [12, 2, 3, 0],
|
||||
"jdk_version": [12, 0, 1, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
12,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10780,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10780",
|
||||
"name": "zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz",
|
||||
"zulu_version": [12, 3, 11, 0],
|
||||
"jdk_version": [12, 0, 2, 3]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 3,
|
||||
"distro_version": [
|
||||
12,
|
||||
3,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10846,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10846",
|
||||
"name": "zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz",
|
||||
"zulu_version": [13, 27, 9, 0],
|
||||
"jdk_version": [13, 0, 0, 33]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 33,
|
||||
"distro_version": [
|
||||
13,
|
||||
27,
|
||||
9,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10888,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10888",
|
||||
"name": "zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [13, 28, 11, 0],
|
||||
"jdk_version": [13, 0, 1, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
13,
|
||||
28,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11073,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11073",
|
||||
"name": "zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz",
|
||||
"zulu_version": [13, 29, 9, 0],
|
||||
"jdk_version": [13, 0, 2, 6]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 6,
|
||||
"distro_version": [
|
||||
13,
|
||||
29,
|
||||
9,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12408,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12408",
|
||||
"name": "zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz",
|
||||
"zulu_version": [13, 37, 21, 0],
|
||||
"jdk_version": [13, 0, 6, 5]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
6
|
||||
],
|
||||
"openjdk_build_number": 5,
|
||||
"distro_version": [
|
||||
13,
|
||||
37,
|
||||
21,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11236,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11236",
|
||||
"name": "zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz",
|
||||
"zulu_version": [14, 27, 1, 0],
|
||||
"jdk_version": [14, 0, 0, 36]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 36,
|
||||
"distro_version": [
|
||||
14,
|
||||
27,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11349,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11349",
|
||||
"name": "zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [14, 28, 21, 0],
|
||||
"jdk_version": [14, 0, 1, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
14,
|
||||
28,
|
||||
21,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11513,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11513",
|
||||
"name": "zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz",
|
||||
"zulu_version": [14, 29, 23, 0],
|
||||
"jdk_version": [14, 0, 2, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
14,
|
||||
29,
|
||||
23,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11780,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11780",
|
||||
"name": "zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
|
||||
"zulu_version": [15, 27, 17, 0],
|
||||
"jdk_version": [15, 0, 0, 36]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 36,
|
||||
"distro_version": [
|
||||
15,
|
||||
27,
|
||||
17,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11924,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11924",
|
||||
"name": "zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [15, 28, 13, 0],
|
||||
"jdk_version": [15, 0, 1, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
15,
|
||||
28,
|
||||
13,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12101,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12101",
|
||||
"name": "zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||
"zulu_version": [15, 28, 51, 0],
|
||||
"jdk_version": [15, 0, 1, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
15,
|
||||
28,
|
||||
51,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12445,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12445",
|
||||
"name": "zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz",
|
||||
"zulu_version": [15, 29, 15, 0],
|
||||
"jdk_version": [15, 0, 2, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
15,
|
||||
29,
|
||||
15,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,254 +1,686 @@
|
||||
[
|
||||
[
|
||||
{
|
||||
"id": 10996,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
||||
"package_uuid": "test-uuid-10996",
|
||||
"name": "zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
||||
"zulu_version": [8, 1, 0, 10],
|
||||
"jdk_version": [8, 0, 5, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
8,
|
||||
1,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10997,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
||||
"package_uuid": "test-uuid-10997",
|
||||
"name": "zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
||||
"zulu_version": [8, 2, 0, 1],
|
||||
"jdk_version": [8, 0, 11, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
11
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
8,
|
||||
2,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10346,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10346",
|
||||
"name": "zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 21, 0, 1],
|
||||
"jdk_version": [8, 0, 131, 11]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
131
|
||||
],
|
||||
"openjdk_build_number": 11,
|
||||
"distro_version": [
|
||||
8,
|
||||
21,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10362,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10362",
|
||||
"name": "zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 23, 0, 3],
|
||||
"jdk_version": [8, 0, 144, 1]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
144
|
||||
],
|
||||
"openjdk_build_number": 1,
|
||||
"distro_version": [
|
||||
8,
|
||||
23,
|
||||
0,
|
||||
3
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10399,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10399",
|
||||
"name": "zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 25, 0, 1],
|
||||
"jdk_version": [8, 0, 152, 16]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
152
|
||||
],
|
||||
"openjdk_build_number": 16,
|
||||
"distro_version": [
|
||||
8,
|
||||
25,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11355,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11355",
|
||||
"name": "zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 46, 0, 19],
|
||||
"jdk_version": [8, 0, 252, 14]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
252
|
||||
],
|
||||
"openjdk_build_number": 14,
|
||||
"distro_version": [
|
||||
8,
|
||||
46,
|
||||
0,
|
||||
19
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11481,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11481",
|
||||
"name": "zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 47],
|
||||
"jdk_version": [8, 0, 262, 17]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 17,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
47
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11622,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11622",
|
||||
"name": "zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 51],
|
||||
"jdk_version": [8, 0, 262, 19]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 19,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
51
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11535,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11535",
|
||||
"name": "zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 48, 0, 49],
|
||||
"jdk_version": [8, 0, 262, 18]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
262
|
||||
],
|
||||
"openjdk_build_number": 18,
|
||||
"distro_version": [
|
||||
8,
|
||||
48,
|
||||
0,
|
||||
49
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12424,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12424",
|
||||
"name": "zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
||||
"zulu_version": [8, 52, 0, 23],
|
||||
"jdk_version": [8, 0, 282, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
8,
|
||||
0,
|
||||
282
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
8,
|
||||
52,
|
||||
0,
|
||||
23
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10383,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10383",
|
||||
"name": "zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
||||
"zulu_version": [9, 0, 0, 15],
|
||||
"jdk_version": [9, 0, 0, 0]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
9,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 0,
|
||||
"distro_version": [
|
||||
9,
|
||||
0,
|
||||
0,
|
||||
15
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10413,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10413",
|
||||
"name": "zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [9, 0, 1, 3],
|
||||
"jdk_version": [9, 0, 1, 0]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
9,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 0,
|
||||
"distro_version": [
|
||||
9,
|
||||
0,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10503,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10503",
|
||||
"name": "zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [10, 2, 3, 0],
|
||||
"jdk_version": [10, 0, 1, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
10,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
10,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10541,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10541",
|
||||
"name": "zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
||||
"zulu_version": [10, 3, 5, 0],
|
||||
"jdk_version": [10, 0, 2, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
10,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
10,
|
||||
3,
|
||||
5,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10576,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10576",
|
||||
"name": "zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [11, 2, 3, 0],
|
||||
"jdk_version": [11, 0, 1, 13]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 13,
|
||||
"distro_version": [
|
||||
11,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10604,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10604",
|
||||
"name": "zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
||||
"zulu_version": [11, 29, 3, 0],
|
||||
"jdk_version": [11, 0, 2, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
11,
|
||||
29,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10687,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10687",
|
||||
"name": "zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
||||
"zulu_version": [11, 31, 11, 0],
|
||||
"jdk_version": [11, 0, 3, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
3
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
11,
|
||||
31,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10856,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10856",
|
||||
"name": "zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 13, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
13,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10933,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10933",
|
||||
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 15, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
15,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10933,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10933",
|
||||
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"zulu_version": [11, 35, 11, 0],
|
||||
"jdk_version": [11, 0, 5, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
5
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
11,
|
||||
35,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12397,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12397",
|
||||
"name": "zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
||||
"zulu_version": [11, 45, 27, 0],
|
||||
"jdk_version": [11, 0, 10, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
11,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
11,
|
||||
45,
|
||||
27,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10667,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10667",
|
||||
"name": "zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
||||
"zulu_version": [12, 1, 3, 0],
|
||||
"jdk_version": [12, 0, 0, 33]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 33,
|
||||
"distro_version": [
|
||||
12,
|
||||
1,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10710,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10710",
|
||||
"name": "zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [12, 2, 3, 0],
|
||||
"jdk_version": [12, 0, 1, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
12,
|
||||
2,
|
||||
3,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10780,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10780",
|
||||
"name": "zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
||||
"zulu_version": [12, 3, 11, 0],
|
||||
"jdk_version": [12, 0, 2, 3]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
12,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 3,
|
||||
"distro_version": [
|
||||
12,
|
||||
3,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10846,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10846",
|
||||
"name": "zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
||||
"zulu_version": [13, 27, 9, 0],
|
||||
"jdk_version": [13, 0, 0, 33]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 33,
|
||||
"distro_version": [
|
||||
13,
|
||||
27,
|
||||
9,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 10888,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-10888",
|
||||
"name": "zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [13, 28, 11, 0],
|
||||
"jdk_version": [13, 0, 1, 10]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 10,
|
||||
"distro_version": [
|
||||
13,
|
||||
28,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11073,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11073",
|
||||
"name": "zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
||||
"zulu_version": [13, 29, 9, 0],
|
||||
"jdk_version": [13, 0, 2, 6]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 6,
|
||||
"distro_version": [
|
||||
13,
|
||||
29,
|
||||
9,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12408,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12408",
|
||||
"name": "zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
||||
"zulu_version": [13, 37, 21, 0],
|
||||
"jdk_version": [13, 0, 6, 5]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
13,
|
||||
0,
|
||||
6
|
||||
],
|
||||
"openjdk_build_number": 5,
|
||||
"distro_version": [
|
||||
13,
|
||||
37,
|
||||
21,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11236,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11236",
|
||||
"name": "zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
||||
"zulu_version": [14, 27, 1, 0],
|
||||
"jdk_version": [14, 0, 0, 36]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 36,
|
||||
"distro_version": [
|
||||
14,
|
||||
27,
|
||||
1,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11349,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11349",
|
||||
"name": "zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [14, 28, 21, 0],
|
||||
"jdk_version": [14, 0, 1, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
14,
|
||||
28,
|
||||
21,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11513,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11513",
|
||||
"name": "zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
||||
"zulu_version": [14, 29, 23, 0],
|
||||
"jdk_version": [14, 0, 2, 12]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
14,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 12,
|
||||
"distro_version": [
|
||||
14,
|
||||
29,
|
||||
23,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11780,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11780",
|
||||
"name": "zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
||||
"zulu_version": [15, 27, 17, 0],
|
||||
"jdk_version": [15, 0, 0, 36]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"openjdk_build_number": 36,
|
||||
"distro_version": [
|
||||
15,
|
||||
27,
|
||||
17,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 11924,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-11924",
|
||||
"name": "zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [15, 28, 13, 0],
|
||||
"jdk_version": [15, 0, 1, 8]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 8,
|
||||
"distro_version": [
|
||||
15,
|
||||
28,
|
||||
13,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12101,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12101",
|
||||
"name": "zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||
"zulu_version": [15, 28, 51, 0],
|
||||
"jdk_version": [15, 0, 1, 9]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"openjdk_build_number": 9,
|
||||
"distro_version": [
|
||||
15,
|
||||
28,
|
||||
51,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 12445,
|
||||
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
||||
"package_uuid": "test-uuid-12445",
|
||||
"name": "zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
||||
"zulu_version": [15, 29, 15, 0],
|
||||
"jdk_version": [15, 0, 2, 7]
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
||||
"java_version": [
|
||||
15,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
15,
|
||||
29,
|
||||
15,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
},
|
||||
{
|
||||
"id": 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-win_aarch4.zip",
|
||||
"zulu_version": [17, 48, 15, 0],
|
||||
"jdk_version": [17, 0, 10, 7]
|
||||
"package_uuid": "test-uuid-12446",
|
||||
"name": "zulu17.48.15-ca-jdk17.0.10-win_aarch64.zip",
|
||||
"download_url": "https://cdn.azul.com/zulu/bin/zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip",
|
||||
"java_version": [
|
||||
17,
|
||||
0,
|
||||
10
|
||||
],
|
||||
"openjdk_build_number": 7,
|
||||
"distro_version": [
|
||||
17,
|
||||
48,
|
||||
15,
|
||||
0
|
||||
],
|
||||
"latest": false,
|
||||
"availability_type": "ca"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
@@ -17,7 +17,7 @@ describe('getAvailableVersions', () => {
|
||||
spyHttpClient.mockReturnValue({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: manifestData as IZuluVersions[]
|
||||
result: [] as IZuluVersions[]
|
||||
});
|
||||
|
||||
spyUtilGetDownloadArchiveExtension = jest.spyOn(
|
||||
@@ -45,7 +45,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ga'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=i686&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -54,7 +54,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ea'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=i686&release_status=ea&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -63,7 +63,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -72,7 +72,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jre',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jre&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jre&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -81,7 +81,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk+fx',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -90,7 +90,16 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jre+fx',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jre&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jre&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
version: '8',
|
||||
architecture: 'x64',
|
||||
packageType: 'jdk+crac',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -99,7 +108,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=64&release_status=ga'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -108,12 +117,12 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=macos&ext=tar.gz&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=&release_status=ga'
|
||||
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
]
|
||||
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
||||
const distribution = new ZuluDistribution(input);
|
||||
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']();
|
||||
|
||||
@@ -121,16 +130,12 @@ describe('getAvailableVersions', () => {
|
||||
expect(spyHttpClient.mock.calls[0][0]).toBe(buildUrl);
|
||||
});
|
||||
|
||||
type DistroArch = {
|
||||
bitness: string;
|
||||
arch: string;
|
||||
};
|
||||
it.each([
|
||||
['amd64', {bitness: '64', arch: 'x86'}],
|
||||
['arm64', {bitness: '64', arch: 'arm'}]
|
||||
['amd64', 'x64'],
|
||||
['arm64', 'aarch64']
|
||||
])(
|
||||
'defaults to os.arch(): %s mapped to distro arch: %s',
|
||||
async (osArch: string, distroArch: DistroArch) => {
|
||||
async (osArch: string, distroArch: string) => {
|
||||
jest
|
||||
.spyOn(os, 'arch')
|
||||
.mockReturnValue(osArch as ReturnType<typeof os.arch>);
|
||||
@@ -142,7 +147,7 @@ describe('getAvailableVersions', () => {
|
||||
checkLatest: false
|
||||
});
|
||||
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&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
|
||||
|
||||
await distribution['getAvailableVersions']();
|
||||
|
||||
@@ -152,6 +157,18 @@ describe('getAvailableVersions', () => {
|
||||
);
|
||||
|
||||
it('load available versions', async () => {
|
||||
spyHttpClient
|
||||
.mockReturnValueOnce({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: manifestData as IZuluVersions[]
|
||||
})
|
||||
.mockReturnValueOnce({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: [] as IZuluVersions[]
|
||||
});
|
||||
|
||||
const distribution = new ZuluDistribution({
|
||||
version: '11',
|
||||
architecture: 'x86',
|
||||
@@ -165,10 +182,11 @@ describe('getAvailableVersions', () => {
|
||||
|
||||
describe('getArchitectureOptions', () => {
|
||||
it.each([
|
||||
[{architecture: 'x64'}, {arch: 'x86', hw_bitness: '64', abi: ''}],
|
||||
[{architecture: 'x86'}, {arch: 'x86', hw_bitness: '32', abi: ''}],
|
||||
[{architecture: 'x32'}, {arch: 'x32', hw_bitness: '', abi: ''}],
|
||||
[{architecture: 'arm'}, {arch: 'arm', hw_bitness: '', abi: ''}]
|
||||
[{architecture: 'x64'}, 'x64'],
|
||||
[{architecture: 'x86'}, 'i686'],
|
||||
[{architecture: 'aarch64'}, 'aarch64'],
|
||||
[{architecture: 'arm64'}, 'aarch64'],
|
||||
[{architecture: 'arm'}, 'arm']
|
||||
])('%s -> %s', (input, expected) => {
|
||||
const distribution = new ZuluDistribution({
|
||||
version: '11',
|
||||
@@ -176,7 +194,7 @@ describe('getArchitectureOptions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
});
|
||||
expect(distribution['getArchitectureOptions']()).toEqual(expected);
|
||||
expect(distribution['getArchitectureOptions']()).toBe(expected);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ describe('getAvailableVersions', () => {
|
||||
spyHttpClient.mockReturnValue({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: manifestData as IZuluVersions[]
|
||||
result: [] as IZuluVersions[]
|
||||
});
|
||||
|
||||
spyUtilGetDownloadArchiveExtension = jest.spyOn(
|
||||
@@ -46,7 +46,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ga'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=i686&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -55,7 +55,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ea'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=i686&release_status=ea&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -64,7 +64,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -73,7 +73,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jre',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jre&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -82,7 +82,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk+fx',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -91,7 +91,16 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jre+fx',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jre&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
version: '8',
|
||||
architecture: 'x64',
|
||||
packageType: 'jdk+crac',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -100,7 +109,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=64&release_status=ga'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -109,12 +118,12 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=&release_status=ga'
|
||||
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
]
|
||||
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
||||
const distribution = new ZuluDistribution(input);
|
||||
distribution['getPlatformOption'] = () => 'linux';
|
||||
const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/${parsedUrl}`;
|
||||
distribution['getPlatformOption'] = () => 'linux_glibc';
|
||||
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/${parsedUrl}`;
|
||||
|
||||
await distribution['getAvailableVersions']();
|
||||
|
||||
@@ -122,16 +131,12 @@ describe('getAvailableVersions', () => {
|
||||
expect(spyHttpClient.mock.calls[0][0]).toBe(buildUrl);
|
||||
});
|
||||
|
||||
type DistroArch = {
|
||||
bitness: string;
|
||||
arch: string;
|
||||
};
|
||||
it.each([
|
||||
['amd64', {bitness: '64', arch: 'x86'}],
|
||||
['arm64', {bitness: '64', arch: 'arm'}]
|
||||
['amd64', 'x64'],
|
||||
['arm64', 'aarch64']
|
||||
])(
|
||||
'defaults to os.arch(): %s mapped to distro arch: %s',
|
||||
async (osArch: string, distroArch: DistroArch) => {
|
||||
async (osArch: string, distroArch: string) => {
|
||||
jest
|
||||
.spyOn(os, 'arch')
|
||||
.mockReturnValue(osArch as ReturnType<typeof os.arch>);
|
||||
@@ -142,10 +147,10 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
});
|
||||
distribution['getPlatformOption'] = () => 'linux';
|
||||
distribution['getPlatformOption'] = () => 'linux_glibc';
|
||||
// Override extension for linux default arch case to match util behavior
|
||||
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 buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=linux_glibc&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
|
||||
|
||||
await distribution['getAvailableVersions']();
|
||||
|
||||
@@ -155,6 +160,18 @@ describe('getAvailableVersions', () => {
|
||||
);
|
||||
|
||||
it('load available versions', async () => {
|
||||
spyHttpClient
|
||||
.mockReturnValueOnce({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: manifestData as IZuluVersions[]
|
||||
})
|
||||
.mockReturnValueOnce({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: [] as IZuluVersions[]
|
||||
});
|
||||
|
||||
const distribution = new ZuluDistribution({
|
||||
version: '11',
|
||||
architecture: 'x86',
|
||||
@@ -168,10 +185,11 @@ describe('getAvailableVersions', () => {
|
||||
|
||||
describe('getArchitectureOptions', () => {
|
||||
it.each([
|
||||
[{architecture: 'x64'}, {arch: 'x86', hw_bitness: '64', abi: ''}],
|
||||
[{architecture: 'x86'}, {arch: 'x86', hw_bitness: '32', abi: ''}],
|
||||
[{architecture: 'x32'}, {arch: 'x32', hw_bitness: '', abi: ''}],
|
||||
[{architecture: 'arm'}, {arch: 'arm', hw_bitness: '', abi: ''}]
|
||||
[{architecture: 'x64'}, 'x64'],
|
||||
[{architecture: 'x86'}, 'i686'],
|
||||
[{architecture: 'aarch64'}, 'aarch64'],
|
||||
[{architecture: 'arm64'}, 'aarch64'],
|
||||
[{architecture: 'arm'}, 'arm']
|
||||
])('%s -> %s', (input, expected) => {
|
||||
const distribution = new ZuluDistribution({
|
||||
version: '11',
|
||||
@@ -179,7 +197,7 @@ describe('getArchitectureOptions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
});
|
||||
expect(distribution['getArchitectureOptions']()).toEqual(expected);
|
||||
expect(distribution['getArchitectureOptions']()).toBe(expected);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ describe('getAvailableVersions', () => {
|
||||
spyHttpClient.mockReturnValue({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: manifestData as IZuluVersions[]
|
||||
result: [] as IZuluVersions[]
|
||||
});
|
||||
|
||||
spyUtilGetDownloadArchiveExtension = jest.spyOn(
|
||||
@@ -46,7 +46,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ga'
|
||||
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=i686&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -55,7 +55,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=32&release_status=ea'
|
||||
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=i686&release_status=ea&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -64,7 +64,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
||||
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -73,7 +73,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jre',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jre&javafx=false&arch=x86&hw_bitness=64&release_status=ga'
|
||||
'?os=windows&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -82,7 +82,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk+fx',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
||||
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -91,7 +91,16 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jre+fx',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jre&javafx=true&arch=x86&hw_bitness=64&release_status=ga&features=fx'
|
||||
'?os=windows&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
version: '8',
|
||||
architecture: 'x64',
|
||||
packageType: 'jdk+crac',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -100,7 +109,7 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=64&release_status=ga'
|
||||
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
],
|
||||
[
|
||||
{
|
||||
@@ -109,12 +118,12 @@ describe('getAvailableVersions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
},
|
||||
'?os=windows&ext=zip&bundle_type=jdk&javafx=false&arch=arm&hw_bitness=&release_status=ga'
|
||||
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
|
||||
]
|
||||
])('build correct url for %s -> %s', async (input, parsedUrl) => {
|
||||
const distribution = new ZuluDistribution(input);
|
||||
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']();
|
||||
|
||||
@@ -122,16 +131,12 @@ describe('getAvailableVersions', () => {
|
||||
expect(spyHttpClient.mock.calls[0][0]).toBe(buildUrl);
|
||||
});
|
||||
|
||||
type DistroArch = {
|
||||
bitness: string;
|
||||
arch: string;
|
||||
};
|
||||
it.each([
|
||||
['amd64', {bitness: '64', arch: 'x86'}],
|
||||
['arm64', {bitness: '64', arch: 'arm'}]
|
||||
['amd64', 'x64'],
|
||||
['arm64', 'aarch64']
|
||||
])(
|
||||
'defaults to os.arch(): %s mapped to distro arch: %s',
|
||||
async (osArch: string, distroArch: DistroArch) => {
|
||||
async (osArch: string, distroArch: string) => {
|
||||
jest
|
||||
.spyOn(os, 'arch')
|
||||
.mockReturnValue(osArch as ReturnType<typeof os.arch>);
|
||||
@@ -143,7 +148,7 @@ describe('getAvailableVersions', () => {
|
||||
checkLatest: false
|
||||
});
|
||||
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 buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
|
||||
|
||||
await distribution['getAvailableVersions']();
|
||||
|
||||
@@ -153,6 +158,18 @@ describe('getAvailableVersions', () => {
|
||||
);
|
||||
|
||||
it('load available versions', async () => {
|
||||
spyHttpClient
|
||||
.mockReturnValueOnce({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: manifestData as IZuluVersions[]
|
||||
})
|
||||
.mockReturnValueOnce({
|
||||
statusCode: 200,
|
||||
headers: {},
|
||||
result: [] as IZuluVersions[]
|
||||
});
|
||||
|
||||
const distribution = new ZuluDistribution({
|
||||
version: '11',
|
||||
architecture: 'x86',
|
||||
@@ -166,10 +183,11 @@ describe('getAvailableVersions', () => {
|
||||
|
||||
describe('getArchitectureOptions', () => {
|
||||
it.each([
|
||||
[{architecture: 'x64'}, {arch: 'x86', hw_bitness: '64', abi: ''}],
|
||||
[{architecture: 'x86'}, {arch: 'x86', hw_bitness: '32', abi: ''}],
|
||||
[{architecture: 'x32'}, {arch: 'x32', hw_bitness: '', abi: ''}],
|
||||
[{architecture: 'arm'}, {arch: 'arm', hw_bitness: '', abi: ''}]
|
||||
[{architecture: 'x64'}, 'x64'],
|
||||
[{architecture: 'x86'}, 'i686'],
|
||||
[{architecture: 'aarch64'}, 'aarch64'],
|
||||
[{architecture: 'arm64'}, 'aarch64'],
|
||||
[{architecture: 'arm'}, 'arm']
|
||||
])('%s -> %s', (input, expected) => {
|
||||
const distribution = new ZuluDistribution({
|
||||
version: '11',
|
||||
@@ -177,7 +195,7 @@ describe('getArchitectureOptions', () => {
|
||||
packageType: 'jdk',
|
||||
checkLatest: false
|
||||
});
|
||||
expect(distribution['getArchitectureOptions']()).toEqual(expected);
|
||||
expect(distribution['getArchitectureOptions']()).toBe(expected);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -243,6 +243,72 @@ describe('getVersionFromFileContent', () => {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('.tool-versions', () => {
|
||||
it.each([
|
||||
['java temurin-17.0.3+7', '17.0.3+7', 'temurin'],
|
||||
['java temurin-jre-17.0.3+7', '17.0.3+7', 'temurin'],
|
||||
['java adoptopenjdk-11.0.16+8', '11.0.16+8', 'temurin'],
|
||||
['java adoptopenjdk-openj9-11.0.16+8', '11.0.16+8', 'temurin'],
|
||||
['java zulu-11.56.19', '11.56.19', 'zulu'],
|
||||
['java corretto-17.0.13.11.1', '17', 'corretto'], // corretto -> major only
|
||||
['java liberica-11.0.15+10', '11.0.15+10', 'liberica'],
|
||||
['java microsoft-11.0.13.8.1', '11.0.13', 'microsoft'],
|
||||
['java semeru-openj9-11.0.25+9', '11.0.25+9', 'semeru'],
|
||||
['java ibm-openj9-11.0.25+9', '11.0.25+9', 'semeru'],
|
||||
['java dragonwell-17.0.13.0.13+11', '17.0.13', 'dragonwell'],
|
||||
['java graalvm-22.3.0+java17', '22.3.0+java17', 'graalvm'],
|
||||
['java graalvm-community-22.3.0', '22.3.0', 'graalvm-community'],
|
||||
['java oracle-graalvm-21.0.5', '21.0.5', 'graalvm'],
|
||||
['java oracle-21.0.5', '21.0.5', 'oracle'],
|
||||
['java sapmachine-21.0.5', '21.0.5', 'sapmachine'],
|
||||
['java kona-17.0.13', '17.0.13', 'kona'],
|
||||
['java jetbrains-21.0.5', '21.0.5', 'jetbrains']
|
||||
])(
|
||||
'parsing %s should return version %s and distribution %s',
|
||||
(content: string, expectedVersion: string, expectedDist: string) => {
|
||||
const actual = getVersionFromFileContent(
|
||||
content,
|
||||
'openjdk',
|
||||
'.tool-versions'
|
||||
);
|
||||
expect(actual?.version).toBe(expectedVersion);
|
||||
expect(actual?.distribution).toBe(expectedDist);
|
||||
}
|
||||
);
|
||||
|
||||
it.each([
|
||||
['java 17.0.7', '17.0.7'],
|
||||
['java 17', '17'],
|
||||
['java 1.8', '8'],
|
||||
['java 21-ea', '21-ea']
|
||||
])(
|
||||
'parsing prefix-less %s should return version %s and no distribution',
|
||||
(content: string, expectedVersion: string) => {
|
||||
const actual = getVersionFromFileContent(
|
||||
content,
|
||||
'temurin',
|
||||
'.tool-versions'
|
||||
);
|
||||
expect(actual?.version).toBe(expectedVersion);
|
||||
expect(actual?.distribution).toBeUndefined();
|
||||
}
|
||||
);
|
||||
|
||||
it('should warn and return undefined distribution for unsupported vendor', () => {
|
||||
const warnSpy = jest.spyOn(core, 'warning');
|
||||
const actual = getVersionFromFileContent(
|
||||
'java openjdk-17.0.7',
|
||||
'temurin',
|
||||
'.tool-versions'
|
||||
);
|
||||
expect(actual?.version).toBe('17.0.7');
|
||||
expect(actual?.distribution).toBeUndefined();
|
||||
expect(warnSpy).toHaveBeenCalledWith(
|
||||
expect.stringContaining('Unknown asdf distribution identifier')
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('isGhes', () => {
|
||||
|
||||
10
action.yml
10
action.yml
@@ -13,15 +13,19 @@ inputs:
|
||||
description: 'Java distribution. See the list of supported distributions in README file. This input is required except when java-version-file points to .sdkmanrc with a recognized distribution suffix (e.g., java=21.0.5-tem).'
|
||||
required: false
|
||||
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
|
||||
default: 'jdk'
|
||||
architecture:
|
||||
description: "The architecture of the package (defaults to the action runner's architecture)"
|
||||
required: false
|
||||
jdkFile:
|
||||
jdk-file:
|
||||
description: 'Path to where the compressed JDK is located'
|
||||
required: false
|
||||
jdkFile:
|
||||
description: 'Deprecated alias for `jdk-file`. Path to where the compressed JDK is located. Use `jdk-file` instead; this alias may be removed in a future release.'
|
||||
required: false
|
||||
deprecationMessage: 'The `jdkFile` input is deprecated. Use `jdk-file` instead.'
|
||||
check-latest:
|
||||
description: 'Set this option if you want the action to check for the latest available version that satisfies the version spec'
|
||||
required: false
|
||||
@@ -99,6 +103,8 @@ outputs:
|
||||
description: 'Path to where the java environment has been installed (same as $JAVA_HOME)'
|
||||
cache-hit:
|
||||
description: 'A boolean value to indicate an exact match was found for the primary key'
|
||||
cache-primary-key:
|
||||
description: 'The primary cache key computed by the action for the configured build tool. Empty when caching is not enabled or when caching is skipped (e.g. cache service unavailable). Useful for composing with actions/cache or actions/cache/restore across jobs.'
|
||||
runs:
|
||||
using: 'node24'
|
||||
main: 'dist/setup/index.js'
|
||||
|
||||
65
dist/cleanup/index.js
vendored
65
dist/cleanup/index.js
vendored
@@ -51973,7 +51973,11 @@ const supportedPackageManager = [
|
||||
(0, path_1.join)(os_1.default.homedir(), '.m2', 'wrapper', 'dists')
|
||||
],
|
||||
// https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---maven
|
||||
pattern: ['**/pom.xml', '**/.mvn/wrapper/maven-wrapper.properties']
|
||||
pattern: [
|
||||
'**/pom.xml',
|
||||
'**/.mvn/wrapper/maven-wrapper.properties',
|
||||
'**/.mvn/extensions.xml'
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'gradle',
|
||||
@@ -52052,6 +52056,7 @@ function restore(id, cacheDependencyPath) {
|
||||
const primaryKey = yield computeCacheKey(packageManager, cacheDependencyPath);
|
||||
core.debug(`primary key is ${primaryKey}`);
|
||||
core.saveState(STATE_CACHE_PRIMARY_KEY, primaryKey);
|
||||
core.setOutput(STATE_CACHE_PRIMARY_KEY, primaryKey);
|
||||
// No "restoreKeys" is set, to start with a clear cache after dependency update (see https://github.com/actions/setup-java/issues/269)
|
||||
const matchedKey = yield cache.restoreCache(packageManager.path, primaryKey);
|
||||
if (matchedKey) {
|
||||
@@ -52241,14 +52246,15 @@ else {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = exports.MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG = exports.MAVEN_NO_TRANSFER_PROGRESS_FLAG = exports.MAVEN_ARGS_ENV = exports.INPUT_SHOW_DOWNLOAD_PROGRESS = exports.INPUT_MVN_TOOLCHAIN_VENDOR = exports.INPUT_MVN_TOOLCHAIN_ID = exports.MVN_TOOLCHAINS_FILE = exports.MVN_SETTINGS_FILE = exports.M2_DIR = exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_JOB_STATUS = exports.INPUT_CACHE_DEPENDENCY_PATH = exports.INPUT_CACHE = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_OVERWRITE_SETTINGS = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = exports.INPUT_VERIFY_SIGNATURE = exports.INPUT_SET_DEFAULT = exports.INPUT_CHECK_LATEST = exports.INPUT_JDK_FILE = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION_FILE = exports.INPUT_JAVA_VERSION = exports.MACOS_JAVA_CONTENT_POSTFIX = void 0;
|
||||
exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = exports.MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG = exports.MAVEN_NO_TRANSFER_PROGRESS_FLAG = exports.MAVEN_ARGS_ENV = exports.INPUT_SHOW_DOWNLOAD_PROGRESS = exports.INPUT_MVN_TOOLCHAIN_VENDOR = exports.INPUT_MVN_TOOLCHAIN_ID = exports.MVN_TOOLCHAINS_FILE = exports.MVN_SETTINGS_FILE = exports.M2_DIR = exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_JOB_STATUS = exports.INPUT_CACHE_DEPENDENCY_PATH = exports.INPUT_CACHE = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_OVERWRITE_SETTINGS = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = exports.INPUT_VERIFY_SIGNATURE = exports.INPUT_SET_DEFAULT = exports.INPUT_CHECK_LATEST = exports.INPUT_JDK_FILE_DEPRECATED = exports.INPUT_JDK_FILE = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION_FILE = exports.INPUT_JAVA_VERSION = exports.MACOS_JAVA_CONTENT_POSTFIX = void 0;
|
||||
exports.MACOS_JAVA_CONTENT_POSTFIX = 'Contents/Home';
|
||||
exports.INPUT_JAVA_VERSION = 'java-version';
|
||||
exports.INPUT_JAVA_VERSION_FILE = 'java-version-file';
|
||||
exports.INPUT_ARCHITECTURE = 'architecture';
|
||||
exports.INPUT_JAVA_PACKAGE = 'java-package';
|
||||
exports.INPUT_DISTRIBUTION = 'distribution';
|
||||
exports.INPUT_JDK_FILE = 'jdkFile';
|
||||
exports.INPUT_JDK_FILE = 'jdk-file';
|
||||
exports.INPUT_JDK_FILE_DEPRECATED = 'jdkFile';
|
||||
exports.INPUT_CHECK_LATEST = 'check-latest';
|
||||
exports.INPUT_SET_DEFAULT = 'set-default';
|
||||
exports.INPUT_VERIFY_SIGNATURE = 'verify-signature';
|
||||
@@ -52572,7 +52578,7 @@ function isCacheFeatureAvailable() {
|
||||
}
|
||||
exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
|
||||
function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
var _a, _b, _c;
|
||||
var _a, _b, _c, _d;
|
||||
let javaVersionRegExp;
|
||||
let extractedDistribution;
|
||||
function getFileName(versionFile) {
|
||||
@@ -52580,8 +52586,10 @@ function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
}
|
||||
const versionFileName = getFileName(versionFile);
|
||||
if (versionFileName == '.tool-versions') {
|
||||
// Capture an optional asdf-java vendor prefix (e.g. `temurin-`, `corretto-`)
|
||||
// in the `distribution` group so it can be mapped to a setup-java distribution.
|
||||
javaVersionRegExp =
|
||||
/^java\s+(?:\S*-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||
/^java\s+(?:(?<distribution>\S*)-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||
}
|
||||
else if (versionFileName == '.sdkmanrc') {
|
||||
// Match both version and optional distribution identifier
|
||||
@@ -52601,6 +52609,14 @@ function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
extractedDistribution = mapSdkmanDistribution(sdkmanDist);
|
||||
core.debug(`Parsed distribution '${extractedDistribution}' from SDKMAN identifier '${sdkmanDist}'`);
|
||||
}
|
||||
// Extract distribution from asdf .tool-versions file
|
||||
if (versionFileName == '.tool-versions' && ((_c = match === null || match === void 0 ? void 0 : match.groups) === null || _c === void 0 ? void 0 : _c.distribution)) {
|
||||
const asdfDist = match.groups.distribution;
|
||||
extractedDistribution = mapAsdfDistribution(asdfDist);
|
||||
if (extractedDistribution) {
|
||||
core.debug(`Parsed distribution '${extractedDistribution}' from asdf identifier '${asdfDist}'`);
|
||||
}
|
||||
}
|
||||
core.debug(`Parsed version '${capturedVersion}' from file '${versionFileName}'`);
|
||||
if (!capturedVersion) {
|
||||
return null;
|
||||
@@ -52617,7 +52633,7 @@ function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
// Apply DISTRIBUTIONS_ONLY_MAJOR_VERSION logic whenever the effective distribution
|
||||
// (either explicitly provided or extracted from the version file) is in the list.
|
||||
if (constants_1.DISTRIBUTIONS_ONLY_MAJOR_VERSION.includes(extractedDistribution || distributionName)) {
|
||||
const coerceVersion = (_c = semver.coerce(version)) !== null && _c !== void 0 ? _c : version;
|
||||
const coerceVersion = (_d = semver.coerce(version)) !== null && _d !== void 0 ? _d : version;
|
||||
version = semver.major(coerceVersion).toString();
|
||||
}
|
||||
return {
|
||||
@@ -52650,6 +52666,43 @@ function mapSdkmanDistribution(sdkmanDist) {
|
||||
}
|
||||
return mapped;
|
||||
}
|
||||
// Map asdf-java (.tool-versions) vendor identifiers to setup-java distribution names.
|
||||
// asdf-java encodes the vendor as a prefix on the version string, e.g.
|
||||
// `java temurin-17.0.3+7` or `java semeru-openj9-11.0.25+9`. Packaging variants
|
||||
// (`-jre`, `-musl`, `-openj9`, `-crac`, `-javafx`, ...) are collapsed onto the
|
||||
// base vendor since setup-java does not distinguish them here.
|
||||
function mapAsdfDistribution(asdfDist) {
|
||||
const normalized = asdfDist.toLowerCase();
|
||||
// Multi-segment vendors that map to a distinct setup-java distribution.
|
||||
if (normalized.startsWith('graalvm-community')) {
|
||||
return 'graalvm-community';
|
||||
}
|
||||
if (normalized.startsWith('oracle-graalvm')) {
|
||||
return 'graalvm';
|
||||
}
|
||||
const baseVendor = normalized.split('-')[0];
|
||||
const distributionMap = {
|
||||
temurin: 'temurin',
|
||||
adoptopenjdk: 'temurin',
|
||||
zulu: 'zulu',
|
||||
corretto: 'corretto',
|
||||
liberica: 'liberica',
|
||||
microsoft: 'microsoft',
|
||||
semeru: 'semeru',
|
||||
ibm: 'semeru',
|
||||
dragonwell: 'dragonwell',
|
||||
graalvm: 'graalvm',
|
||||
oracle: 'oracle',
|
||||
sapmachine: 'sapmachine',
|
||||
kona: 'kona',
|
||||
jetbrains: 'jetbrains'
|
||||
};
|
||||
const mapped = distributionMap[baseVendor];
|
||||
if (!mapped) {
|
||||
core.warning(`Unknown asdf distribution identifier '${asdfDist}'. Please specify the distribution explicitly.`);
|
||||
}
|
||||
return mapped;
|
||||
}
|
||||
// By convention, action expects version 8 in the format `8.*` instead of `1.8`
|
||||
function avoidOldNotation(content) {
|
||||
return content.startsWith('1.') ? content.substring(2) : content;
|
||||
|
||||
160
dist/setup/index.js
vendored
160
dist/setup/index.js
vendored
@@ -77838,7 +77838,11 @@ const supportedPackageManager = [
|
||||
(0, path_1.join)(os_1.default.homedir(), '.m2', 'wrapper', 'dists')
|
||||
],
|
||||
// https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---maven
|
||||
pattern: ['**/pom.xml', '**/.mvn/wrapper/maven-wrapper.properties']
|
||||
pattern: [
|
||||
'**/pom.xml',
|
||||
'**/.mvn/wrapper/maven-wrapper.properties',
|
||||
'**/.mvn/extensions.xml'
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'gradle',
|
||||
@@ -77917,6 +77921,7 @@ function restore(id, cacheDependencyPath) {
|
||||
const primaryKey = yield computeCacheKey(packageManager, cacheDependencyPath);
|
||||
core.debug(`primary key is ${primaryKey}`);
|
||||
core.saveState(STATE_CACHE_PRIMARY_KEY, primaryKey);
|
||||
core.setOutput(STATE_CACHE_PRIMARY_KEY, primaryKey);
|
||||
// No "restoreKeys" is set, to start with a clear cache after dependency update (see https://github.com/actions/setup-java/issues/269)
|
||||
const matchedKey = yield cache.restoreCache(packageManager.path, primaryKey);
|
||||
if (matchedKey) {
|
||||
@@ -78001,14 +78006,15 @@ function isProbablyGradleDaemonProblem(packageManager, error) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = exports.MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG = exports.MAVEN_NO_TRANSFER_PROGRESS_FLAG = exports.MAVEN_ARGS_ENV = exports.INPUT_SHOW_DOWNLOAD_PROGRESS = exports.INPUT_MVN_TOOLCHAIN_VENDOR = exports.INPUT_MVN_TOOLCHAIN_ID = exports.MVN_TOOLCHAINS_FILE = exports.MVN_SETTINGS_FILE = exports.M2_DIR = exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_JOB_STATUS = exports.INPUT_CACHE_DEPENDENCY_PATH = exports.INPUT_CACHE = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_OVERWRITE_SETTINGS = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = exports.INPUT_VERIFY_SIGNATURE = exports.INPUT_SET_DEFAULT = exports.INPUT_CHECK_LATEST = exports.INPUT_JDK_FILE = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION_FILE = exports.INPUT_JAVA_VERSION = exports.MACOS_JAVA_CONTENT_POSTFIX = void 0;
|
||||
exports.DISTRIBUTIONS_ONLY_MAJOR_VERSION = exports.MAVEN_NO_TRANSFER_PROGRESS_LONG_FLAG = exports.MAVEN_NO_TRANSFER_PROGRESS_FLAG = exports.MAVEN_ARGS_ENV = exports.INPUT_SHOW_DOWNLOAD_PROGRESS = exports.INPUT_MVN_TOOLCHAIN_VENDOR = exports.INPUT_MVN_TOOLCHAIN_ID = exports.MVN_TOOLCHAINS_FILE = exports.MVN_SETTINGS_FILE = exports.M2_DIR = exports.STATE_GPG_PRIVATE_KEY_FINGERPRINT = exports.INPUT_JOB_STATUS = exports.INPUT_CACHE_DEPENDENCY_PATH = exports.INPUT_CACHE = exports.INPUT_DEFAULT_GPG_PASSPHRASE = exports.INPUT_DEFAULT_GPG_PRIVATE_KEY = exports.INPUT_GPG_PASSPHRASE = exports.INPUT_GPG_PRIVATE_KEY = exports.INPUT_OVERWRITE_SETTINGS = exports.INPUT_SETTINGS_PATH = exports.INPUT_SERVER_PASSWORD = exports.INPUT_SERVER_USERNAME = exports.INPUT_SERVER_ID = exports.INPUT_VERIFY_SIGNATURE_PUBLIC_KEY = exports.INPUT_VERIFY_SIGNATURE = exports.INPUT_SET_DEFAULT = exports.INPUT_CHECK_LATEST = exports.INPUT_JDK_FILE_DEPRECATED = exports.INPUT_JDK_FILE = exports.INPUT_DISTRIBUTION = exports.INPUT_JAVA_PACKAGE = exports.INPUT_ARCHITECTURE = exports.INPUT_JAVA_VERSION_FILE = exports.INPUT_JAVA_VERSION = exports.MACOS_JAVA_CONTENT_POSTFIX = void 0;
|
||||
exports.MACOS_JAVA_CONTENT_POSTFIX = 'Contents/Home';
|
||||
exports.INPUT_JAVA_VERSION = 'java-version';
|
||||
exports.INPUT_JAVA_VERSION_FILE = 'java-version-file';
|
||||
exports.INPUT_ARCHITECTURE = 'architecture';
|
||||
exports.INPUT_JAVA_PACKAGE = 'java-package';
|
||||
exports.INPUT_DISTRIBUTION = 'distribution';
|
||||
exports.INPUT_JDK_FILE = 'jdkFile';
|
||||
exports.INPUT_JDK_FILE = 'jdk-file';
|
||||
exports.INPUT_JDK_FILE_DEPRECATED = 'jdkFile';
|
||||
exports.INPUT_CHECK_LATEST = 'check-latest';
|
||||
exports.INPUT_SET_DEFAULT = 'set-default';
|
||||
exports.INPUT_VERIFY_SIGNATURE = 'verify-signature';
|
||||
@@ -81150,16 +81156,22 @@ class ZuluDistribution extends base_installer_1.JavaBase {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const availableVersionsRaw = yield this.getAvailableVersions();
|
||||
const availableVersions = availableVersionsRaw.map(item => {
|
||||
// The Azul Metadata API reports the JDK build number separately from
|
||||
// java_version (e.g. java_version=[17,0,7], openjdk_build_number=7).
|
||||
// Append it so the resulting semver retains the build (e.g. 17.0.7+7).
|
||||
const javaVersion = item.openjdk_build_number != null
|
||||
? [...item.java_version, item.openjdk_build_number]
|
||||
: item.java_version;
|
||||
return {
|
||||
version: (0, util_1.convertVersionToSemver)(item.jdk_version),
|
||||
url: item.url,
|
||||
zuluVersion: (0, util_1.convertVersionToSemver)(item.zulu_version)
|
||||
version: (0, util_1.convertVersionToSemver)(javaVersion),
|
||||
url: item.download_url,
|
||||
zuluVersion: (0, util_1.convertVersionToSemver)(item.distro_version)
|
||||
};
|
||||
});
|
||||
const satisfiedVersions = availableVersions
|
||||
.filter(item => (0, util_1.isVersionSatisfies)(version, item.version))
|
||||
.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
|
||||
return (-semver_1.default.compareBuild(a.version, b.version) ||
|
||||
-semver_1.default.compareBuild(a.zuluVersion, b.zuluVersion));
|
||||
@@ -81197,37 +81209,60 @@ class ZuluDistribution extends base_installer_1.JavaBase {
|
||||
getAvailableVersions() {
|
||||
var _a, _b;
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const { arch, hw_bitness, abi } = this.getArchitectureOptions();
|
||||
const arch = this.getArchitectureOptions();
|
||||
const [bundleType, features] = this.packageType.split('+');
|
||||
const platform = this.getPlatformOption();
|
||||
const extension = (0, util_1.getDownloadArchiveExtension)();
|
||||
const javafx = (_a = features === null || features === void 0 ? void 0 : features.includes('fx')) !== null && _a !== void 0 ? _a : false;
|
||||
const crac = (_b = features === null || features === void 0 ? void 0 : features.includes('crac')) !== null && _b !== void 0 ? _b : false;
|
||||
const releaseStatus = this.stable ? 'ga' : 'ea';
|
||||
if (core.isDebug()) {
|
||||
console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
||||
}
|
||||
const requestArguments = [
|
||||
const baseRequestArguments = [
|
||||
`os=${platform}`,
|
||||
`ext=${extension}`,
|
||||
`bundle_type=${bundleType}`,
|
||||
`javafx=${javafx}`,
|
||||
`archive_type=${extension}`,
|
||||
`java_package_type=${bundleType}`,
|
||||
`javafx_bundled=${javafx}`,
|
||||
`crac_supported=${crac}`,
|
||||
`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}`;
|
||||
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
||||
const availableVersions = (_b = (yield this.http.getJson(availableVersionsUrl))
|
||||
.result) !== null && _b !== void 0 ? _b : [];
|
||||
`availability_types=ca`
|
||||
].join('&');
|
||||
// Need to iterate through all pages to retrieve the list of all versions.
|
||||
// The Azul API doesn't return a total page count, so paginate until a page
|
||||
// comes back empty (or short), guarding against a runaway loop with a cap.
|
||||
const pageSize = 100;
|
||||
const maxPages = 100;
|
||||
let pageIndex = 1;
|
||||
const availableVersions = [];
|
||||
while (pageIndex <= maxPages) {
|
||||
const requestArguments = `${baseRequestArguments}&page=${pageIndex}&page_size=${pageSize}`;
|
||||
const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`;
|
||||
if (core.isDebug() && pageIndex === 1) {
|
||||
// the url is identical except for the page number, so print it once for debug
|
||||
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
||||
}
|
||||
const paginationPage = (yield this.http.getJson(availableVersionsUrl)).result;
|
||||
if (!paginationPage || paginationPage.length === 0) {
|
||||
// stop paginating because we have reached the end of the results
|
||||
break;
|
||||
}
|
||||
availableVersions.push(...paginationPage);
|
||||
if (paginationPage.length < pageSize) {
|
||||
// a short page means this was the last one; avoid an extra empty request
|
||||
break;
|
||||
}
|
||||
pageIndex++;
|
||||
}
|
||||
if (pageIndex > maxPages) {
|
||||
core.warning(`Reached the maximum of ${maxPages} pages while listing Zulu versions; results may be truncated.`);
|
||||
}
|
||||
if (core.isDebug()) {
|
||||
core.startGroup('Print information about available versions');
|
||||
console.timeEnd('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
||||
core.debug(`Available versions: [${availableVersions.length}]`);
|
||||
core.debug(availableVersions.map(item => item.jdk_version.join('.')).join(', '));
|
||||
core.debug(availableVersions.map(item => item.java_version.join('.')).join(', '));
|
||||
core.endGroup();
|
||||
}
|
||||
return availableVersions;
|
||||
@@ -81237,14 +81272,18 @@ class ZuluDistribution extends base_installer_1.JavaBase {
|
||||
const arch = this.distributionArchitecture();
|
||||
switch (arch) {
|
||||
case 'x64':
|
||||
return { arch: 'x86', hw_bitness: '64', abi: '' };
|
||||
return 'x64';
|
||||
case 'x86':
|
||||
return { arch: 'x86', hw_bitness: '32', abi: '' };
|
||||
// The Azul Metadata API's "x86" value returns both 32-bit (i686) and
|
||||
// 64-bit (x64) packages, which are indistinguishable by version and
|
||||
// would let a 32-bit request resolve to a 64-bit JDK. Use "i686" to
|
||||
// target only genuine 32-bit builds, matching the legacy API behavior.
|
||||
return 'i686';
|
||||
case 'aarch64':
|
||||
case 'arm64':
|
||||
return { arch: 'arm', hw_bitness: '64', abi: '' };
|
||||
return 'aarch64';
|
||||
default:
|
||||
return { arch: arch, hw_bitness: '', abi: '' };
|
||||
return arch;
|
||||
}
|
||||
}
|
||||
getPlatformOption() {
|
||||
@@ -81254,6 +81293,10 @@ class ZuluDistribution extends base_installer_1.JavaBase {
|
||||
return 'macos';
|
||||
case 'win32':
|
||||
return 'windows';
|
||||
case 'linux':
|
||||
// The new Metadata API's "linux" value returns both glibc and musl packages;
|
||||
// use "linux_glibc" to target only glibc, which is what standard runners use.
|
||||
return 'linux_glibc';
|
||||
default:
|
||||
return process.platform;
|
||||
}
|
||||
@@ -81546,7 +81589,7 @@ function run() {
|
||||
const versionFile = core.getInput(constants.INPUT_JAVA_VERSION_FILE);
|
||||
const architecture = core.getInput(constants.INPUT_ARCHITECTURE);
|
||||
const packageType = core.getInput(constants.INPUT_JAVA_PACKAGE);
|
||||
const jdkFile = core.getInput(constants.INPUT_JDK_FILE);
|
||||
const jdkFile = getJdkFileInput();
|
||||
const cache = core.getInput(constants.INPUT_CACHE);
|
||||
const cacheDependencyPath = core.getInput(constants.INPUT_CACHE_DEPENDENCY_PATH);
|
||||
const checkLatest = (0, util_1.getBooleanInput)(constants.INPUT_CHECK_LATEST, false);
|
||||
@@ -81625,6 +81668,14 @@ function run() {
|
||||
});
|
||||
}
|
||||
run();
|
||||
function getJdkFileInput() {
|
||||
const jdkFile = core.getInput(constants.INPUT_JDK_FILE);
|
||||
const deprecatedJdkFile = core.getInput(constants.INPUT_JDK_FILE_DEPRECATED);
|
||||
if (deprecatedJdkFile) {
|
||||
core.warning(`The '${constants.INPUT_JDK_FILE_DEPRECATED}' input is deprecated and may be removed in a future release. Please use '${constants.INPUT_JDK_FILE}' instead.`);
|
||||
}
|
||||
return jdkFile || deprecatedJdkFile;
|
||||
}
|
||||
function installVersion(version, options, toolchainId = 0) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const { distributionName, jdkFile, architecture, packageType, checkLatest, setDefault, verifySignature, verifySignaturePublicKey, toolchainIds } = options;
|
||||
@@ -81990,7 +82041,7 @@ function isCacheFeatureAvailable() {
|
||||
}
|
||||
exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
|
||||
function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
var _a, _b, _c;
|
||||
var _a, _b, _c, _d;
|
||||
let javaVersionRegExp;
|
||||
let extractedDistribution;
|
||||
function getFileName(versionFile) {
|
||||
@@ -81998,8 +82049,10 @@ function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
}
|
||||
const versionFileName = getFileName(versionFile);
|
||||
if (versionFileName == '.tool-versions') {
|
||||
// Capture an optional asdf-java vendor prefix (e.g. `temurin-`, `corretto-`)
|
||||
// in the `distribution` group so it can be mapped to a setup-java distribution.
|
||||
javaVersionRegExp =
|
||||
/^java\s+(?:\S*-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||
/^java\s+(?:(?<distribution>\S*)-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||
}
|
||||
else if (versionFileName == '.sdkmanrc') {
|
||||
// Match both version and optional distribution identifier
|
||||
@@ -82019,6 +82072,14 @@ function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
extractedDistribution = mapSdkmanDistribution(sdkmanDist);
|
||||
core.debug(`Parsed distribution '${extractedDistribution}' from SDKMAN identifier '${sdkmanDist}'`);
|
||||
}
|
||||
// Extract distribution from asdf .tool-versions file
|
||||
if (versionFileName == '.tool-versions' && ((_c = match === null || match === void 0 ? void 0 : match.groups) === null || _c === void 0 ? void 0 : _c.distribution)) {
|
||||
const asdfDist = match.groups.distribution;
|
||||
extractedDistribution = mapAsdfDistribution(asdfDist);
|
||||
if (extractedDistribution) {
|
||||
core.debug(`Parsed distribution '${extractedDistribution}' from asdf identifier '${asdfDist}'`);
|
||||
}
|
||||
}
|
||||
core.debug(`Parsed version '${capturedVersion}' from file '${versionFileName}'`);
|
||||
if (!capturedVersion) {
|
||||
return null;
|
||||
@@ -82035,7 +82096,7 @@ function getVersionFromFileContent(content, distributionName, versionFile) {
|
||||
// Apply DISTRIBUTIONS_ONLY_MAJOR_VERSION logic whenever the effective distribution
|
||||
// (either explicitly provided or extracted from the version file) is in the list.
|
||||
if (constants_1.DISTRIBUTIONS_ONLY_MAJOR_VERSION.includes(extractedDistribution || distributionName)) {
|
||||
const coerceVersion = (_c = semver.coerce(version)) !== null && _c !== void 0 ? _c : version;
|
||||
const coerceVersion = (_d = semver.coerce(version)) !== null && _d !== void 0 ? _d : version;
|
||||
version = semver.major(coerceVersion).toString();
|
||||
}
|
||||
return {
|
||||
@@ -82068,6 +82129,43 @@ function mapSdkmanDistribution(sdkmanDist) {
|
||||
}
|
||||
return mapped;
|
||||
}
|
||||
// Map asdf-java (.tool-versions) vendor identifiers to setup-java distribution names.
|
||||
// asdf-java encodes the vendor as a prefix on the version string, e.g.
|
||||
// `java temurin-17.0.3+7` or `java semeru-openj9-11.0.25+9`. Packaging variants
|
||||
// (`-jre`, `-musl`, `-openj9`, `-crac`, `-javafx`, ...) are collapsed onto the
|
||||
// base vendor since setup-java does not distinguish them here.
|
||||
function mapAsdfDistribution(asdfDist) {
|
||||
const normalized = asdfDist.toLowerCase();
|
||||
// Multi-segment vendors that map to a distinct setup-java distribution.
|
||||
if (normalized.startsWith('graalvm-community')) {
|
||||
return 'graalvm-community';
|
||||
}
|
||||
if (normalized.startsWith('oracle-graalvm')) {
|
||||
return 'graalvm';
|
||||
}
|
||||
const baseVendor = normalized.split('-')[0];
|
||||
const distributionMap = {
|
||||
temurin: 'temurin',
|
||||
adoptopenjdk: 'temurin',
|
||||
zulu: 'zulu',
|
||||
corretto: 'corretto',
|
||||
liberica: 'liberica',
|
||||
microsoft: 'microsoft',
|
||||
semeru: 'semeru',
|
||||
ibm: 'semeru',
|
||||
dragonwell: 'dragonwell',
|
||||
graalvm: 'graalvm',
|
||||
oracle: 'oracle',
|
||||
sapmachine: 'sapmachine',
|
||||
kona: 'kona',
|
||||
jetbrains: 'jetbrains'
|
||||
};
|
||||
const mapped = distributionMap[baseVendor];
|
||||
if (!mapped) {
|
||||
core.warning(`Unknown asdf distribution identifier '${asdfDist}'. Please specify the distribution explicitly.`);
|
||||
}
|
||||
return mapped;
|
||||
}
|
||||
// By convention, action expects version 8 in the format `8.*` instead of `1.8`
|
||||
function avoidOldNotation(content) {
|
||||
return content.startsWith('1.') ? content.substring(2) : content;
|
||||
|
||||
@@ -41,7 +41,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
- run: java --version
|
||||
```
|
||||
|
||||
@@ -66,8 +66,8 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: '21'
|
||||
java-package: jdk # optional (jdk, jre, jdk+fx or jre+fx) - defaults to jdk
|
||||
java-version: '25'
|
||||
java-package: jdk # optional (jdk, jre, jdk+fx, jre+fx, jdk+crac, or jre+crac) - defaults to jdk
|
||||
- run: java --version
|
||||
```
|
||||
|
||||
@@ -79,7 +79,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'liberica'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
java-package: jdk # optional (jdk, jre, jdk+fx or jre+fx) - defaults to jdk
|
||||
- run: java --version
|
||||
```
|
||||
@@ -92,7 +92,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'microsoft'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
- run: java --version
|
||||
```
|
||||
|
||||
@@ -107,7 +107,7 @@ uses: actions/setup-java@v5
|
||||
with:
|
||||
token: ${{ secrets.GH_DOTCOM_TOKEN }}
|
||||
distribution: 'microsoft'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
```
|
||||
|
||||
If the runner is not able to access github.com, any Java versions requested during a workflow run must come from the runner's tool cache. See "[Setting up the tool cache on self-hosted runners without internet access](https://docs.github.com/en/enterprise-server@3.2/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)" for more information.
|
||||
@@ -121,7 +121,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'corretto'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
- run: java --version
|
||||
```
|
||||
|
||||
@@ -134,7 +134,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'oracle'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
- run: java --version
|
||||
```
|
||||
|
||||
@@ -159,7 +159,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'sapmachine'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
- run: java --version
|
||||
```
|
||||
|
||||
@@ -172,7 +172,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'graalvm'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
- run: |
|
||||
java --version
|
||||
native-image --version
|
||||
@@ -256,7 +256,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: '<distribution>'
|
||||
java-version: '11'
|
||||
java-version: '25'
|
||||
java-package: jdk # optional (jdk or jre) - defaults to jdk
|
||||
- run: java --version
|
||||
```
|
||||
@@ -271,7 +271,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: '21'
|
||||
java-version: '25'
|
||||
java-package: jdk+fx
|
||||
cache: maven
|
||||
- name: Build with Maven
|
||||
@@ -293,7 +293,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: '<distribution>'
|
||||
java-version: '11'
|
||||
java-version: '25'
|
||||
architecture: x86 # optional - default value derived from the runner machine
|
||||
- run: java --version
|
||||
```
|
||||
@@ -330,7 +330,7 @@ In this example, `JAVA_HOME` and `java` on `PATH` point to Java 17, while Java 2
|
||||
If your use-case requires a custom distribution or a version that is not provided by setup-java, you can download it manually and setup-java will take care of the installation and caching on the VM:
|
||||
|
||||
> [!NOTE]
|
||||
> This approach also lets you use builds that setup-java does not provide directly, such as **Early Access (EA)** or other unreleased JDK builds (for example, an upcoming feature release or a Loom/Valhalla preview build). Download the desired archive in a prior step and point `jdkFile` at it; setup-java will extract, install, and cache it just like a supported distribution. When targeting multiple architectures, select the correct binary per architecture in your workflow (for example, with a build matrix).
|
||||
> This approach also lets you use builds that setup-java does not provide directly, such as **Early Access (EA)** or other unreleased JDK builds (for example, an upcoming feature release or a Loom/Valhalla preview build). Download the desired archive in a prior step and point `jdk-file` at it; setup-java will extract, install, and cache it just like a supported distribution. When targeting multiple architectures, select the correct binary per architecture in your workflow (for example, with a build matrix).
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
@@ -340,7 +340,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
jdkFile: ${{ runner.temp }}/java_package.tar.gz
|
||||
jdk-file: ${{ runner.temp }}/java_package.tar.gz
|
||||
java-version: '11.0.0'
|
||||
architecture: x64
|
||||
|
||||
@@ -357,7 +357,7 @@ steps:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
jdkFile: ${{ runner.temp }}/java_package.tar.gz
|
||||
jdk-file: ${{ runner.temp }}/java_package.tar.gz
|
||||
java-version: '25.0.0-ea.36'
|
||||
architecture: x64
|
||||
|
||||
@@ -383,7 +383,7 @@ If your use-case requires a custom distribution (in the example, alpine-linux is
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
jdkFile: ${{ runner.temp }}/java_package.tar.gz
|
||||
jdk-file: ${{ runner.temp }}/java_package.tar.gz
|
||||
java-version: {{ steps.fetch_latest_jdk.outputs.java_version }}
|
||||
architecture: x64
|
||||
- run: java --version
|
||||
@@ -708,7 +708,7 @@ The result is a Toolchain with entries for JDKs 8, 11 and 15. You can even combi
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
jdkFile: ${{ runner.temp }}/java_package.tar.gz
|
||||
jdk-file: ${{ runner.temp }}/java_package.tar.gz
|
||||
java-version: '1.6'
|
||||
architecture: x64
|
||||
```
|
||||
@@ -725,7 +725,7 @@ Each JDK provider will receive a default `vendor` using the `distribution` input
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'jdkfile'
|
||||
jdkFile: ${{ runner.temp }}/java_package.tar.gz
|
||||
jdk-file: ${{ runner.temp }}/java_package.tar.gz
|
||||
java-version: '1.6'
|
||||
architecture: x64
|
||||
mvn-toolchain-vendor: 'Oracle'
|
||||
@@ -780,7 +780,27 @@ steps:
|
||||
|
||||
Supported files are `.java-version`, `.tool-versions` and `.sdkmanrc`.
|
||||
* In `.java-version` file, only the version should be specified (e.g., 17.0.7). The `.java-version` file recognizes all variants of the version description according to [jenv](https://github.com/jenv/jenv).
|
||||
* In `.tool-versions` file, java version should be preceded by the java keyword (e.g., java 17.0.7). The `.tool-versions` file supports version specifications in accordance with [asdf](https://github.com/asdf-vm/asdf) standards, adhering to Semantic Versioning ([semver](https://semver.org/)).
|
||||
* In `.tool-versions` file, java version should be preceded by the java keyword (e.g., java 17.0.7). The `.tool-versions` file supports version specifications in accordance with [asdf](https://github.com/asdf-vm/asdf) standards, adhering to Semantic Versioning ([semver](https://semver.org/)). When the entry includes an [asdf-java](https://github.com/halcyon/asdf-java) vendor prefix (e.g. `java temurin-17.0.3+7`), setup-java can infer the `distribution` input automatically. Unrecognized vendor prefixes require setting `distribution` explicitly.
|
||||
|
||||
Supported asdf-java vendor prefix mappings (packaging variants such as `-jre`, `-musl`, `-openj9`, `-crac`, `-javafx` are collapsed onto the base vendor):
|
||||
|
||||
| asdf-java vendor prefix | setup-java distribution |
|
||||
| ----------------------- | ----------------------- |
|
||||
| `temurin` | `temurin` |
|
||||
| `adoptopenjdk` | `temurin` |
|
||||
| `zulu` | `zulu` |
|
||||
| `corretto` | `corretto` |
|
||||
| `liberica` | `liberica` |
|
||||
| `microsoft` | `microsoft` |
|
||||
| `semeru`, `ibm` | `semeru` |
|
||||
| `dragonwell` | `dragonwell` |
|
||||
| `graalvm`, `oracle-graalvm` | `graalvm` |
|
||||
| `graalvm-community` | `graalvm-community` |
|
||||
| `oracle` | `oracle` |
|
||||
| `sapmachine` | `sapmachine` |
|
||||
| `kona` | `kona` |
|
||||
| `jetbrains` | `jetbrains` |
|
||||
|
||||
* In `.sdkmanrc` file, java version should be preceded by the `java=` prefix (e.g., `java=17.0.7-tem`). When a recognized SDKMAN distribution suffix is present, setup-java can infer the `distribution` input automatically. Unrecognized suffixes require setting `distribution` explicitly. The `.sdkmanrc` file supports version specifications in accordance with [file format](https://sdkman.io/usage#env-command), see [Sdkman! documentation](https://sdkman.io/jdks) for more information.
|
||||
|
||||
Supported SDKMAN suffix mappings:
|
||||
@@ -816,6 +836,19 @@ steps:
|
||||
java=17.0.7-tem
|
||||
```
|
||||
|
||||
**Example step using `asdf`** (distribution inferred from `.tool-versions`):
|
||||
```yml
|
||||
- name: Setup java
|
||||
uses: actions/setup-java@v5
|
||||
with:
|
||||
java-version-file: '.tool-versions'
|
||||
```
|
||||
|
||||
**Example `.tool-versions`**:
|
||||
```
|
||||
java temurin-17.0.7+7
|
||||
```
|
||||
|
||||
Valid entry options (does not apply to `.sdkmanrc`):
|
||||
```
|
||||
major versions: 8, 11, 16, 17, 21
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "setup-java",
|
||||
"version": "5.3.0",
|
||||
"version": "5.6.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "setup-java",
|
||||
"version": "5.3.0",
|
||||
"version": "5.6.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/cache": "^5.1.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "setup-java",
|
||||
"version": "5.3.0",
|
||||
"version": "5.6.0",
|
||||
"private": true,
|
||||
"description": "setup java action",
|
||||
"main": "dist/setup/index.js",
|
||||
|
||||
@@ -28,7 +28,11 @@ const supportedPackageManager: PackageManager[] = [
|
||||
join(os.homedir(), '.m2', 'wrapper', 'dists')
|
||||
],
|
||||
// https://github.com/actions/cache/blob/0638051e9af2c23d10bb70fa9beffcad6cff9ce3/examples.md#java---maven
|
||||
pattern: ['**/pom.xml', '**/.mvn/wrapper/maven-wrapper.properties']
|
||||
pattern: [
|
||||
'**/pom.xml',
|
||||
'**/.mvn/wrapper/maven-wrapper.properties',
|
||||
'**/.mvn/extensions.xml'
|
||||
]
|
||||
},
|
||||
{
|
||||
id: 'gradle',
|
||||
@@ -114,6 +118,7 @@ export async function restore(id: string, cacheDependencyPath: string) {
|
||||
const primaryKey = await computeCacheKey(packageManager, cacheDependencyPath);
|
||||
core.debug(`primary key is ${primaryKey}`);
|
||||
core.saveState(STATE_CACHE_PRIMARY_KEY, primaryKey);
|
||||
core.setOutput(STATE_CACHE_PRIMARY_KEY, primaryKey);
|
||||
|
||||
// No "restoreKeys" is set, to start with a clear cache after dependency update (see https://github.com/actions/setup-java/issues/269)
|
||||
const matchedKey = await cache.restoreCache(packageManager.path, primaryKey);
|
||||
|
||||
@@ -4,7 +4,8 @@ export const INPUT_JAVA_VERSION_FILE = 'java-version-file';
|
||||
export const INPUT_ARCHITECTURE = 'architecture';
|
||||
export const INPUT_JAVA_PACKAGE = 'java-package';
|
||||
export const INPUT_DISTRIBUTION = 'distribution';
|
||||
export const INPUT_JDK_FILE = 'jdkFile';
|
||||
export const INPUT_JDK_FILE = 'jdk-file';
|
||||
export const INPUT_JDK_FILE_DEPRECATED = 'jdkFile';
|
||||
export const INPUT_CHECK_LATEST = 'check-latest';
|
||||
export const INPUT_SET_DEFAULT = 'set-default';
|
||||
export const INPUT_VERIFY_SIGNATURE = 'verify-signature';
|
||||
|
||||
@@ -30,17 +30,24 @@ export class ZuluDistribution extends JavaBase {
|
||||
): Promise<JavaDownloadRelease> {
|
||||
const availableVersionsRaw = await this.getAvailableVersions();
|
||||
const availableVersions = availableVersionsRaw.map(item => {
|
||||
// The Azul Metadata API reports the JDK build number separately from
|
||||
// java_version (e.g. java_version=[17,0,7], openjdk_build_number=7).
|
||||
// Append it so the resulting semver retains the build (e.g. 17.0.7+7).
|
||||
const javaVersion =
|
||||
item.openjdk_build_number != null
|
||||
? [...item.java_version, item.openjdk_build_number]
|
||||
: item.java_version;
|
||||
return {
|
||||
version: convertVersionToSemver(item.jdk_version),
|
||||
url: item.url,
|
||||
zuluVersion: convertVersionToSemver(item.zulu_version)
|
||||
version: convertVersionToSemver(javaVersion),
|
||||
url: item.download_url,
|
||||
zuluVersion: convertVersionToSemver(item.distro_version)
|
||||
};
|
||||
});
|
||||
|
||||
const satisfiedVersions = availableVersions
|
||||
.filter(item => isVersionSatisfies(version, item.version))
|
||||
.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
|
||||
return (
|
||||
-semver.compareBuild(a.version, b.version) ||
|
||||
@@ -95,45 +102,76 @@ export class ZuluDistribution extends JavaBase {
|
||||
}
|
||||
|
||||
private async getAvailableVersions(): Promise<IZuluVersions[]> {
|
||||
const {arch, hw_bitness, abi} = this.getArchitectureOptions();
|
||||
const arch = this.getArchitectureOptions();
|
||||
const [bundleType, features] = this.packageType.split('+');
|
||||
const platform = this.getPlatformOption();
|
||||
const extension = getDownloadArchiveExtension();
|
||||
const javafx = features?.includes('fx') ?? false;
|
||||
const crac = features?.includes('crac') ?? false;
|
||||
const releaseStatus = this.stable ? 'ga' : 'ea';
|
||||
|
||||
if (core.isDebug()) {
|
||||
console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
||||
}
|
||||
|
||||
const requestArguments = [
|
||||
const baseRequestArguments = [
|
||||
`os=${platform}`,
|
||||
`ext=${extension}`,
|
||||
`bundle_type=${bundleType}`,
|
||||
`javafx=${javafx}`,
|
||||
`archive_type=${extension}`,
|
||||
`java_package_type=${bundleType}`,
|
||||
`javafx_bundled=${javafx}`,
|
||||
`crac_supported=${crac}`,
|
||||
`arch=${arch}`,
|
||||
`hw_bitness=${hw_bitness}`,
|
||||
`release_status=${releaseStatus}`,
|
||||
abi ? `abi=${abi}` : null,
|
||||
features ? `features=${features}` : null
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join('&');
|
||||
`availability_types=ca`
|
||||
].join('&');
|
||||
|
||||
const availableVersionsUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?${requestArguments}`;
|
||||
// Need to iterate through all pages to retrieve the list of all versions.
|
||||
// The Azul API doesn't return a total page count, so paginate until a page
|
||||
// comes back empty (or short), guarding against a runaway loop with a cap.
|
||||
const pageSize = 100;
|
||||
const maxPages = 100;
|
||||
let pageIndex = 1;
|
||||
const availableVersions: IZuluVersions[] = [];
|
||||
while (pageIndex <= maxPages) {
|
||||
const requestArguments = `${baseRequestArguments}&page=${pageIndex}&page_size=${pageSize}`;
|
||||
const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`;
|
||||
if (core.isDebug() && pageIndex === 1) {
|
||||
// the url is identical except for the page number, so print it once for debug
|
||||
core.debug(
|
||||
`Gathering available versions from '${availableVersionsUrl}'`
|
||||
);
|
||||
}
|
||||
|
||||
core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
|
||||
const paginationPage = (
|
||||
await this.http.getJson<IZuluVersions[]>(availableVersionsUrl)
|
||||
).result;
|
||||
if (!paginationPage || paginationPage.length === 0) {
|
||||
// stop paginating because we have reached the end of the results
|
||||
break;
|
||||
}
|
||||
|
||||
const availableVersions =
|
||||
(await this.http.getJson<Array<IZuluVersions>>(availableVersionsUrl))
|
||||
.result ?? [];
|
||||
availableVersions.push(...paginationPage);
|
||||
|
||||
if (paginationPage.length < pageSize) {
|
||||
// a short page means this was the last one; avoid an extra empty request
|
||||
break;
|
||||
}
|
||||
|
||||
pageIndex++;
|
||||
}
|
||||
|
||||
if (pageIndex > maxPages) {
|
||||
core.warning(
|
||||
`Reached the maximum of ${maxPages} pages while listing Zulu versions; results may be truncated.`
|
||||
);
|
||||
}
|
||||
|
||||
if (core.isDebug()) {
|
||||
core.startGroup('Print information about available versions');
|
||||
console.timeEnd('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
|
||||
core.debug(`Available versions: [${availableVersions.length}]`);
|
||||
core.debug(
|
||||
availableVersions.map(item => item.jdk_version.join('.')).join(', ')
|
||||
availableVersions.map(item => item.java_version.join('.')).join(', ')
|
||||
);
|
||||
core.endGroup();
|
||||
}
|
||||
@@ -141,22 +179,22 @@ export class ZuluDistribution extends JavaBase {
|
||||
return availableVersions;
|
||||
}
|
||||
|
||||
private getArchitectureOptions(): {
|
||||
arch: string;
|
||||
hw_bitness: string;
|
||||
abi: string;
|
||||
} {
|
||||
private getArchitectureOptions(): string {
|
||||
const arch = this.distributionArchitecture();
|
||||
switch (arch) {
|
||||
case 'x64':
|
||||
return {arch: 'x86', hw_bitness: '64', abi: ''};
|
||||
return 'x64';
|
||||
case 'x86':
|
||||
return {arch: 'x86', hw_bitness: '32', abi: ''};
|
||||
// The Azul Metadata API's "x86" value returns both 32-bit (i686) and
|
||||
// 64-bit (x64) packages, which are indistinguishable by version and
|
||||
// would let a 32-bit request resolve to a 64-bit JDK. Use "i686" to
|
||||
// target only genuine 32-bit builds, matching the legacy API behavior.
|
||||
return 'i686';
|
||||
case 'aarch64':
|
||||
case 'arm64':
|
||||
return {arch: 'arm', hw_bitness: '64', abi: ''};
|
||||
return 'aarch64';
|
||||
default:
|
||||
return {arch: arch, hw_bitness: '', abi: ''};
|
||||
return arch;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,6 +205,10 @@ export class ZuluDistribution extends JavaBase {
|
||||
return 'macos';
|
||||
case 'win32':
|
||||
return 'windows';
|
||||
case 'linux':
|
||||
// The new Metadata API's "linux" value returns both glibc and musl packages;
|
||||
// use "linux_glibc" to target only glibc, which is what standard runners use.
|
||||
return 'linux_glibc';
|
||||
default:
|
||||
return process.platform;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
// Models from https://app.swaggerhub.com/apis-docs/azul/zulu-download-community/1.0
|
||||
// Models from https://app.swaggerhub.com/apis/azul/metadata/1.0
|
||||
|
||||
export interface IZuluVersions {
|
||||
id: number;
|
||||
package_uuid: string;
|
||||
name: string;
|
||||
url: string;
|
||||
jdk_version: Array<number>;
|
||||
zulu_version: Array<number>;
|
||||
download_url: string;
|
||||
java_version: Array<number>;
|
||||
distro_version: Array<number>;
|
||||
openjdk_build_number: number;
|
||||
latest: boolean;
|
||||
availability_type: string;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ async function run() {
|
||||
const versionFile = core.getInput(constants.INPUT_JAVA_VERSION_FILE);
|
||||
const architecture = core.getInput(constants.INPUT_ARCHITECTURE);
|
||||
const packageType = core.getInput(constants.INPUT_JAVA_PACKAGE);
|
||||
const jdkFile = core.getInput(constants.INPUT_JDK_FILE);
|
||||
const jdkFile = getJdkFileInput();
|
||||
const cache = core.getInput(constants.INPUT_CACHE);
|
||||
const cacheDependencyPath = core.getInput(
|
||||
constants.INPUT_CACHE_DEPENDENCY_PATH
|
||||
@@ -128,6 +128,19 @@ async function run() {
|
||||
|
||||
run();
|
||||
|
||||
function getJdkFileInput(): string {
|
||||
const jdkFile = core.getInput(constants.INPUT_JDK_FILE);
|
||||
const deprecatedJdkFile = core.getInput(constants.INPUT_JDK_FILE_DEPRECATED);
|
||||
|
||||
if (deprecatedJdkFile) {
|
||||
core.warning(
|
||||
`The '${constants.INPUT_JDK_FILE_DEPRECATED}' input is deprecated and may be removed in a future release. Please use '${constants.INPUT_JDK_FILE}' instead.`
|
||||
);
|
||||
}
|
||||
|
||||
return jdkFile || deprecatedJdkFile;
|
||||
}
|
||||
|
||||
async function installVersion(
|
||||
version: string,
|
||||
options: installerInputsOptions,
|
||||
|
||||
58
src/util.ts
58
src/util.ts
@@ -146,8 +146,10 @@ export function getVersionFromFileContent(
|
||||
|
||||
const versionFileName = getFileName(versionFile);
|
||||
if (versionFileName == '.tool-versions') {
|
||||
// Capture an optional asdf-java vendor prefix (e.g. `temurin-`, `corretto-`)
|
||||
// in the `distribution` group so it can be mapped to a setup-java distribution.
|
||||
javaVersionRegExp =
|
||||
/^java\s+(?:\S*-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||
/^java\s+(?:(?<distribution>\S*)-)?(?<version>\d+(?:\.\d+)*([+_.-](?:openj9[-._]?\d[\w.-]*|java\d+|jre[-_\w]*|OpenJDK\d+[\w_.-]*|[a-z0-9]+))*)/im;
|
||||
} else if (versionFileName == '.sdkmanrc') {
|
||||
// Match both version and optional distribution identifier
|
||||
javaVersionRegExp =
|
||||
@@ -170,6 +172,17 @@ export function getVersionFromFileContent(
|
||||
);
|
||||
}
|
||||
|
||||
// Extract distribution from asdf .tool-versions file
|
||||
if (versionFileName == '.tool-versions' && match?.groups?.distribution) {
|
||||
const asdfDist = match.groups.distribution;
|
||||
extractedDistribution = mapAsdfDistribution(asdfDist);
|
||||
if (extractedDistribution) {
|
||||
core.debug(
|
||||
`Parsed distribution '${extractedDistribution}' from asdf identifier '${asdfDist}'`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
core.debug(
|
||||
`Parsed version '${capturedVersion}' from file '${versionFileName}'`
|
||||
);
|
||||
@@ -235,6 +248,49 @@ function mapSdkmanDistribution(sdkmanDist: string): string | undefined {
|
||||
return mapped;
|
||||
}
|
||||
|
||||
// Map asdf-java (.tool-versions) vendor identifiers to setup-java distribution names.
|
||||
// asdf-java encodes the vendor as a prefix on the version string, e.g.
|
||||
// `java temurin-17.0.3+7` or `java semeru-openj9-11.0.25+9`. Packaging variants
|
||||
// (`-jre`, `-musl`, `-openj9`, `-crac`, `-javafx`, ...) are collapsed onto the
|
||||
// base vendor since setup-java does not distinguish them here.
|
||||
function mapAsdfDistribution(asdfDist: string): string | undefined {
|
||||
const normalized = asdfDist.toLowerCase();
|
||||
|
||||
// Multi-segment vendors that map to a distinct setup-java distribution.
|
||||
if (normalized.startsWith('graalvm-community')) {
|
||||
return 'graalvm-community';
|
||||
}
|
||||
if (normalized.startsWith('oracle-graalvm')) {
|
||||
return 'graalvm';
|
||||
}
|
||||
|
||||
const baseVendor = normalized.split('-')[0];
|
||||
const distributionMap: Record<string, string> = {
|
||||
temurin: 'temurin',
|
||||
adoptopenjdk: 'temurin',
|
||||
zulu: 'zulu',
|
||||
corretto: 'corretto',
|
||||
liberica: 'liberica',
|
||||
microsoft: 'microsoft',
|
||||
semeru: 'semeru',
|
||||
ibm: 'semeru',
|
||||
dragonwell: 'dragonwell',
|
||||
graalvm: 'graalvm',
|
||||
oracle: 'oracle',
|
||||
sapmachine: 'sapmachine',
|
||||
kona: 'kona',
|
||||
jetbrains: 'jetbrains'
|
||||
};
|
||||
|
||||
const mapped = distributionMap[baseVendor];
|
||||
if (!mapped) {
|
||||
core.warning(
|
||||
`Unknown asdf distribution identifier '${asdfDist}'. Please specify the distribution explicitly.`
|
||||
);
|
||||
}
|
||||
return mapped;
|
||||
}
|
||||
|
||||
// By convention, action expects version 8 in the format `8.*` instead of `1.8`
|
||||
function avoidOldNotation(content: string): string {
|
||||
return content.startsWith('1.') ? content.substring(2) : content;
|
||||
|
||||
Reference in New Issue
Block a user