From 78111dc9a83b9329d07cb85fd4ba02f12ca7c1b5 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:40:45 +0000 Subject: [PATCH 01/12] Initial plan From a06c8ec39e2896fda01bebbfa9ed61e9579b1c70 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:47:53 +0000 Subject: [PATCH 02/12] Migrate Zulu distribution to new metadata API with CRaC support - Updated IZuluVersions model to match new API response structure - Migrated from old bundles API to new metadata API v1 - Added CRaC support with jdk+crac and jre+crac package types - Set crac_supported=false by default to avoid selecting CRaC builds - Updated all test files and test data for new API format - Added test coverage for CRaC package type - Updated action.yml to document new CRaC package types Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/50830dca-2522-43f9-befd-3285589dac71 Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- __tests__/data/zulu-linux.json | 900 +++++++++++++----- __tests__/data/zulu-releases-default.json | 871 +++++++++++++---- __tests__/data/zulu-windows.json | 900 +++++++++++++----- __tests__/distributors/zulu-installer.test.ts | 29 +- .../distributors/zulu-linux-installer.test.ts | 20 +- .../zulu-windows-installer.test.ts | 20 +- action.yml | 2 +- dist/setup/index.js | 66 +- src/distributions/zulu/installer.ts | 63 +- src/distributions/zulu/models.ts | 13 +- 10 files changed, 2177 insertions(+), 707 deletions(-) diff --git a/__tests__/data/zulu-linux.json b/__tests__/data/zulu-linux.json index 1f2fa2716..598400ea5 100644 --- a/__tests__/data/zulu-linux.json +++ b/__tests__/data/zulu-linux.json @@ -1,254 +1,722 @@ -[ +[ { - "id": 10996, - "url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-linux.tar.gz", + "package_uuid": "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] - }, - { - "id": 10997, - "url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-linux.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-linux.tar.gz", + "java_version": [ + 8, + 0, + 5, + 13 + ], + "distro_version": [ + 8, + 1, + 0, + 10 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10346, - "url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-linux.tar.gz", + "java_version": [ + 8, + 0, + 11, + 12 + ], + "distro_version": [ + 8, + 2, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10362, - "url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz", + "java_version": [ + 8, + 0, + 131, + 11 + ], + "distro_version": [ + 8, + 21, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10399, - "url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz", + "java_version": [ + 8, + 0, + 144, + 1 + ], + "distro_version": [ + 8, + 23, + 0, + 3 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11355, - "url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz", + "java_version": [ + 8, + 0, + 152, + 16 + ], + "distro_version": [ + 8, + 25, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11481, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz", + "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, + 14 + ], + "distro_version": [ + 8, + 46, + 0, + 19 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11622, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz", + "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, + 17 + ], + "distro_version": [ + 8, + 48, + 0, + 47 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11535, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz", + "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, + 19 + ], + "distro_version": [ + 8, + 48, + 0, + 51 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12424, - "url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz", + "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, + 18 + ], + "distro_version": [ + 8, + 48, + 0, + 49 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10383, - "url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz", + "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, + 8 + ], + "distro_version": [ + 8, + 52, + 0, + 23 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10413, - "url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz", + "java_version": [ + 9, + 0, + 0, + 0 + ], + "distro_version": [ + 9, + 0, + 0, + 15 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10503, - "url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz", + "java_version": [ + 9, + 0, + 1, + 0 + ], + "distro_version": [ + 9, + 0, + 1, + 3 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10541, - "url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz", + "java_version": [ + 10, + 0, + 1, + 9 + ], + "distro_version": [ + 10, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10576, - "url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-linux_x64.tar.gz", + "java_version": [ + 10, + 0, + 2, + 13 + ], + "distro_version": [ + 10, + 3, + 5, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10604, - "url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz", + "java_version": [ + 11, + 0, + 1, + 13 + ], + "distro_version": [ + 11, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10687, - "url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz", + "java_version": [ + 11, + 0, + 2, + 7 + ], + "distro_version": [ + 11, + 29, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10856, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz", + "java_version": [ + 11, + 0, + 3, + 7 + ], + "distro_version": [ + 11, + 31, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10933, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 13, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10933, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 15, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12397, - "url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-linux_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10667, - "url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz", + "java_version": [ + 11, + 0, + 10, + 9 + ], + "distro_version": [ + 11, + 45, + 27, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10710, - "url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz", + "java_version": [ + 12, + 0, + 0, + 33 + ], + "distro_version": [ + 12, + 1, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10780, - "url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz", + "java_version": [ + 12, + 0, + 1, + 12 + ], + "distro_version": [ + 12, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10846, - "url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz", + "java_version": [ + 12, + 0, + 2, + 3 + ], + "distro_version": [ + 12, + 3, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10888, - "url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz", + "java_version": [ + 13, + 0, + 0, + 33 + ], + "distro_version": [ + 13, + 27, + 9, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11073, - "url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz", + "java_version": [ + 13, + 0, + 1, + 10 + ], + "distro_version": [ + 13, + 28, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12408, - "url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz", + "java_version": [ + 13, + 0, + 2, + 6 + ], + "distro_version": [ + 13, + 29, + 9, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11236, - "url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz", + "java_version": [ + 13, + 0, + 6, + 5 + ], + "distro_version": [ + 13, + 37, + 21, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11349, - "url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz", + "java_version": [ + 14, + 0, + 0, + 36 + ], + "distro_version": [ + 14, + 27, + 1, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11513, - "url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz", + "java_version": [ + 14, + 0, + 1, + 8 + ], + "distro_version": [ + 14, + 28, + 21, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11780, - "url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz", + "java_version": [ + 14, + 0, + 2, + 12 + ], + "distro_version": [ + 14, + 29, + 23, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11924, - "url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz", + "java_version": [ + 15, + 0, + 0, + 36 + ], + "distro_version": [ + 15, + 27, + 17, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12101, - "url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz", + "java_version": [ + 15, + 0, + 1, + 8 + ], + "distro_version": [ + 15, + 28, + 13, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12445, - "url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz", + "java_version": [ + 15, + 0, + 1, + 9 + ], + "distro_version": [ + 15, + 28, + 51, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12447, - "url": "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz", + "java_version": [ + 15, + 0, + 2, + 7 + ], + "distro_version": [ + 15, + 29, + 15, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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, + 6 + ], + "distro_version": [ + 21, + 32, + 17, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false } -] \ No newline at end of file +] diff --git a/__tests__/data/zulu-releases-default.json b/__tests__/data/zulu-releases-default.json index f23a87d43..686a57289 100644 --- a/__tests__/data/zulu-releases-default.json +++ b/__tests__/data/zulu-releases-default.json @@ -1,247 +1,702 @@ [ { - "id": 10996, - "url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-macosx.tar.gz", + "package_uuid": "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] - }, - { - "id": 10997, - "url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-macosx.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-macosx.tar.gz", + "java_version": [ + 8, + 0, + 5, + 13 + ], + "distro_version": [ + 8, + 1, + 0, + 10 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10346, - "url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-macosx.tar.gz", + "java_version": [ + 8, + 0, + 11, + 12 + ], + "distro_version": [ + 8, + 2, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10362, - "url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-macosx_x64.tar.gz", + "java_version": [ + 8, + 0, + 131, + 11 + ], + "distro_version": [ + 8, + 21, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10399, - "url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-macosx_x64.tar.gz", + "java_version": [ + 8, + 0, + 144, + 1 + ], + "distro_version": [ + 8, + 23, + 0, + 3 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11355, - "url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-macosx_x64.tar.gz", + "java_version": [ + 8, + 0, + 152, + 16 + ], + "distro_version": [ + 8, + 25, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11481, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-macosx_x64.tar.gz", + "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, + 14 + ], + "distro_version": [ + 8, + 46, + 0, + 19 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11622, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-macosx_x64.tar.gz", + "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, + 17 + ], + "distro_version": [ + 8, + 48, + 0, + 47 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11535, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-macosx_x64.tar.gz", + "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, + 19 + ], + "distro_version": [ + 8, + 48, + 0, + 51 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12424, - "url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-macosx_x64.tar.gz", + "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, + 18 + ], + "distro_version": [ + 8, + 48, + 0, + 49 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10383, - "url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz", + "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, + 8 + ], + "distro_version": [ + 8, + 52, + 0, + 23 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10413, - "url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-macosx_x64.tar.gz", + "java_version": [ + 9, + 0, + 0, + 0 + ], + "distro_version": [ + 9, + 0, + 0, + 15 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10503, - "url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-macosx_x64.tar.gz", + "java_version": [ + 9, + 0, + 1, + 0 + ], + "distro_version": [ + 9, + 0, + 1, + 3 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10541, - "url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-macosx_x64.tar.gz", + "java_version": [ + 10, + 0, + 1, + 9 + ], + "distro_version": [ + 10, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10576, - "url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.tar.gz", + "java_version": [ + 10, + 0, + 2, + 13 + ], + "distro_version": [ + 10, + 3, + 5, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10604, - "url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz", + "java_version": [ + 11, + 0, + 1, + 13 + ], + "distro_version": [ + 11, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10687, - "url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-macosx_x64.tar.gz", + "java_version": [ + 11, + 0, + 2, + 7 + ], + "distro_version": [ + 11, + 29, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10856, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-macosx_x64.tar.gz", + "java_version": [ + 11, + 0, + 3, + 7 + ], + "distro_version": [ + 11, + 31, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10933, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-macosx_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 13, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10933, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-macosx_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 15, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12397, - "url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-macosx_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10667, - "url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-macosx_x64.tar.gz", + "java_version": [ + 11, + 0, + 10, + 9 + ], + "distro_version": [ + 11, + 45, + 27, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10710, - "url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-macosx_x64.tar.gz", + "java_version": [ + 12, + 0, + 0, + 33 + ], + "distro_version": [ + 12, + 1, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10780, - "url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz", + "java_version": [ + 12, + 0, + 1, + 12 + ], + "distro_version": [ + 12, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10846, - "url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-macosx_x64.tar.gz", + "java_version": [ + 12, + 0, + 2, + 3 + ], + "distro_version": [ + 12, + 3, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10888, - "url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-macosx_x64.tar.gz", + "java_version": [ + 13, + 0, + 0, + 33 + ], + "distro_version": [ + 13, + 27, + 9, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11073, - "url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-macosx_x64.tar.gz", + "java_version": [ + 13, + 0, + 1, + 10 + ], + "distro_version": [ + 13, + 28, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12408, - "url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-macosx_x64.tar.gz", + "java_version": [ + 13, + 0, + 2, + 6 + ], + "distro_version": [ + 13, + 29, + 9, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11236, - "url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-macosx_x64.tar.gz", + "java_version": [ + 13, + 0, + 6, + 5 + ], + "distro_version": [ + 13, + 37, + 21, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11349, - "url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-macosx_x64.tar.gz", + "java_version": [ + 14, + 0, + 0, + 36 + ], + "distro_version": [ + 14, + 27, + 1, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11513, - "url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz", + "java_version": [ + 14, + 0, + 1, + 8 + ], + "distro_version": [ + 14, + 28, + 21, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11780, - "url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-macosx_x64.tar.gz", + "java_version": [ + 14, + 0, + 2, + 12 + ], + "distro_version": [ + 14, + 29, + 23, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11924, - "url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz", + "java_version": [ + 15, + 0, + 0, + 36 + ], + "distro_version": [ + 15, + 27, + 17, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12101, - "url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-macosx_x64.tar.gz", + "java_version": [ + 15, + 0, + 1, + 8 + ], + "distro_version": [ + 15, + 28, + 13, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12445, - "url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-macosx_x64.tar.gz", + "java_version": [ + 15, + 0, + 1, + 9 + ], + "distro_version": [ + 15, + 28, + 51, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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, + 7 + ], + "distro_version": [ + 15, + 29, + 15, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false } ] diff --git a/__tests__/data/zulu-windows.json b/__tests__/data/zulu-windows.json index e4ce99538..1b0cf9277 100644 --- a/__tests__/data/zulu-windows.json +++ b/__tests__/data/zulu-windows.json @@ -1,254 +1,722 @@ -[ +[ { - "id": 10996, - "url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-windows.tar.gz", + "package_uuid": "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] - }, - { - "id": 10997, - "url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-windows.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-windows.tar.gz", + "java_version": [ + 8, + 0, + 5, + 13 + ], + "distro_version": [ + 8, + 1, + 0, + 10 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10346, - "url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-windows.tar.gz", + "java_version": [ + 8, + 0, + 11, + 12 + ], + "distro_version": [ + 8, + 2, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10362, - "url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz", + "java_version": [ + 8, + 0, + 131, + 11 + ], + "distro_version": [ + 8, + 21, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10399, - "url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz", + "java_version": [ + 8, + 0, + 144, + 1 + ], + "distro_version": [ + 8, + 23, + 0, + 3 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11355, - "url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz", + "java_version": [ + 8, + 0, + 152, + 16 + ], + "distro_version": [ + 8, + 25, + 0, + 1 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11481, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz", + "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, + 14 + ], + "distro_version": [ + 8, + 46, + 0, + 19 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11622, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz", + "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, + 17 + ], + "distro_version": [ + 8, + 48, + 0, + 47 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11535, - "url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz", + "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, + 19 + ], + "distro_version": [ + 8, + 48, + 0, + 51 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12424, - "url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz", + "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, + 18 + ], + "distro_version": [ + 8, + 48, + 0, + 49 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10383, - "url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz", + "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, + 8 + ], + "distro_version": [ + 8, + 52, + 0, + 23 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10413, - "url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz", + "java_version": [ + 9, + 0, + 0, + 0 + ], + "distro_version": [ + 9, + 0, + 0, + 15 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10503, - "url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz", + "java_version": [ + 9, + 0, + 1, + 0 + ], + "distro_version": [ + 9, + 0, + 1, + 3 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10541, - "url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-windows_x64.tar.gz", + "java_version": [ + 10, + 0, + 1, + 9 + ], + "distro_version": [ + 10, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10576, - "url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-windows_x64.tar.gz", + "java_version": [ + 10, + 0, + 2, + 13 + ], + "distro_version": [ + 10, + 3, + 5, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10604, - "url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-windows_x64.tar.gz", + "java_version": [ + 11, + 0, + 1, + 13 + ], + "distro_version": [ + 11, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10687, - "url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz", + "java_version": [ + 11, + 0, + 2, + 7 + ], + "distro_version": [ + 11, + 29, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10856, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz", + "java_version": [ + 11, + 0, + 3, + 7 + ], + "distro_version": [ + 11, + 31, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10933, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 13, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10933, - "url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 15, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12397, - "url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-windows_x64.tar.gz", + "java_version": [ + 11, + 0, + 5, + 10 + ], + "distro_version": [ + 11, + 35, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10667, - "url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz", + "java_version": [ + 11, + 0, + 10, + 9 + ], + "distro_version": [ + 11, + 45, + 27, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10710, - "url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz", + "java_version": [ + 12, + 0, + 0, + 33 + ], + "distro_version": [ + 12, + 1, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10780, - "url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz", + "java_version": [ + 12, + 0, + 1, + 12 + ], + "distro_version": [ + 12, + 2, + 3, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10846, - "url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz", + "java_version": [ + 12, + 0, + 2, + 3 + ], + "distro_version": [ + 12, + 3, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 10888, - "url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz", + "java_version": [ + 13, + 0, + 0, + 33 + ], + "distro_version": [ + 13, + 27, + 9, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11073, - "url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz", + "java_version": [ + 13, + 0, + 1, + 10 + ], + "distro_version": [ + 13, + 28, + 11, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12408, - "url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz", + "java_version": [ + 13, + 0, + 2, + 6 + ], + "distro_version": [ + 13, + 29, + 9, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11236, - "url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz", + "java_version": [ + 13, + 0, + 6, + 5 + ], + "distro_version": [ + 13, + 37, + 21, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11349, - "url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz", + "java_version": [ + 14, + 0, + 0, + 36 + ], + "distro_version": [ + 14, + 27, + 1, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11513, - "url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz", + "java_version": [ + 14, + 0, + 1, + 8 + ], + "distro_version": [ + 14, + 28, + 21, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11780, - "url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz", + "java_version": [ + 14, + 0, + 2, + 12 + ], + "distro_version": [ + 14, + 29, + 23, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 11924, - "url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz", + "java_version": [ + 15, + 0, + 0, + 36 + ], + "distro_version": [ + 15, + 27, + 17, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12101, - "url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz", + "java_version": [ + 15, + 0, + 1, + 8 + ], + "distro_version": [ + 15, + 28, + 13, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12445, - "url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz", + "java_version": [ + 15, + 0, + 1, + 9 + ], + "distro_version": [ + 15, + 28, + 51, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "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] - }, - { - "id": 12446, - "url": "https://cdn.azul.com/zulu/bin/zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip", + "download_url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz", + "java_version": [ + 15, + 0, + 2, + 7 + ], + "distro_version": [ + 15, + 29, + 15, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false + }, + { + "package_uuid": "uuid-12446", "name": "zulu17.48.15-ca-jdk17.0.10-win_aarhc4.zip", - "zulu_version": [17, 48, 15, 0], - "jdk_version": [17, 0, 10, 7] + "download_url": "https://cdn.azul.com/zulu/bin/zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip", + "java_version": [ + 17, + 0, + 10, + 7 + ], + "distro_version": [ + 17, + 48, + 15, + 0 + ], + "availability_type": "ca", + "javafx_bundled": false, + "crac_supported": false } -] \ No newline at end of file +] diff --git a/__tests__/distributors/zulu-installer.test.ts b/__tests__/distributors/zulu-installer.test.ts index 100429b30..9376b6003 100644 --- a/__tests__/distributors/zulu-installer.test.ts +++ b/__tests__/distributors/zulu-installer.test.ts @@ -39,7 +39,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&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -48,7 +48,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&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -57,7 +57,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&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -66,7 +66,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&arch=x86&archive_type=tar.gz&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -75,7 +75,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&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -84,7 +84,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&arch=x86&archive_type=tar.gz&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + ], + [ + { + version: '8', + architecture: 'x64', + packageType: 'jdk+crac', + checkLatest: false + }, + '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=true&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -93,7 +102,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&arch=arm&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -102,12 +111,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&arch=arm&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ] ])('build correct url for %s -> %s', async (input, parsedUrl) => { 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'](); @@ -136,7 +145,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&arch=${distroArch.arch}&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; await distribution['getAvailableVersions'](); diff --git a/__tests__/distributors/zulu-linux-installer.test.ts b/__tests__/distributors/zulu-linux-installer.test.ts index a25344cbd..0e956f20f 100644 --- a/__tests__/distributors/zulu-linux-installer.test.ts +++ b/__tests__/distributors/zulu-linux-installer.test.ts @@ -40,7 +40,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -49,7 +49,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -58,7 +58,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -67,7 +67,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&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -76,7 +76,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -85,7 +85,7 @@ 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&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -94,7 +94,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&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -103,12 +103,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&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ] ])('build correct url for %s -> %s', async (input, parsedUrl) => { const distribution = new ZuluDistribution(input); distribution['getPlatformOption'] = () => 'linux'; - const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/${parsedUrl}`; + const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/${parsedUrl}`; await distribution['getAvailableVersions'](); @@ -139,7 +139,7 @@ describe('getAvailableVersions', () => { distribution['getPlatformOption'] = () => 'linux'; // 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&arch=${distroArch.arch}&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; await distribution['getAvailableVersions'](); diff --git a/__tests__/distributors/zulu-windows-installer.test.ts b/__tests__/distributors/zulu-windows-installer.test.ts index a3511ac90..6a3c66d58 100644 --- a/__tests__/distributors/zulu-windows-installer.test.ts +++ b/__tests__/distributors/zulu-windows-installer.test.ts @@ -40,7 +40,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -49,7 +49,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -58,7 +58,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -67,7 +67,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&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -76,7 +76,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&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -85,7 +85,7 @@ 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&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -94,7 +94,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&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -103,12 +103,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&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ] ])('build correct url for %s -> %s', async (input, parsedUrl) => { 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'](); @@ -137,7 +137,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&arch=${distroArch.arch}&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; await distribution['getAvailableVersions'](); diff --git a/action.yml b/action.yml index 21a4269d7..9f35c2fb7 100644 --- a/action.yml +++ b/action.yml @@ -11,7 +11,7 @@ inputs: description: 'Java distribution. See the list of supported distributions in README file' required: true 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: diff --git a/dist/setup/index.js b/dist/setup/index.js index 1047dd262..4f96c384e 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -114725,15 +114725,15 @@ class ZuluDistribution extends base_installer_1.JavaBase { const availableVersionsRaw = yield this.getAvailableVersions(); const availableVersions = availableVersionsRaw.map(item => { 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)(item.java_version), + 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)); @@ -114774,39 +114774,46 @@ class ZuluDistribution extends base_installer_1.JavaBase { }); } getAvailableVersions() { - var _a, _b; + var _a, _b, _c; return __awaiter(this, void 0, void 0, function* () { const { arch, hw_bitness, abi } = 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 } + // Map old API parameters to new metadata API parameters + const archParam = hw_bitness === '64' ? arch : arch; + const osParam = this.getOsParam(platform); + const archiveType = this.getArchiveType(extension); const requestArguments = [ - `os=${platform}`, - `ext=${extension}`, - `bundle_type=${bundleType}`, - `javafx=${javafx}`, - `arch=${arch}`, - `hw_bitness=${hw_bitness}`, + `os=${osParam}`, + `arch=${archParam}`, + `archive_type=${archiveType}`, + `java_package_type=${bundleType}`, + `javafx_bundled=${javafx}`, + `crac_supported=${crac}`, `release_status=${releaseStatus}`, - abi ? `abi=${abi}` : null, - features ? `features=${features}` : null + `availability_types=ca`, + `certifications=tck`, + `page=1`, + `page_size=100` ] .filter(Boolean) .join('&'); - const availableVersionsUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?${requestArguments}`; + const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`; core.debug(`Gathering available versions from '${availableVersionsUrl}'`); - const availableVersions = (_b = (yield this.http.getJson(availableVersionsUrl)) - .result) !== null && _b !== void 0 ? _b : []; + const availableVersions = (_c = (yield this.http.getJson(availableVersionsUrl)) + .result) !== null && _c !== void 0 ? _c : []; 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; @@ -114837,6 +114844,31 @@ class ZuluDistribution extends base_installer_1.JavaBase { return process.platform; } } + getOsParam(platform) { + // Map platform to new metadata API OS parameter + // The new API uses more specific OS names like 'linux-glibc', 'macos', 'windows' + switch (platform) { + case 'linux': + return 'linux-glibc'; + case 'macos': + return 'macos'; + case 'windows': + return 'windows'; + default: + return platform; + } + } + getArchiveType(extension) { + // Map extension to archive_type parameter for new API + switch (extension) { + case 'tar.gz': + return 'tar.gz'; + case 'zip': + return 'zip'; + default: + return extension; + } + } } exports.ZuluDistribution = ZuluDistribution; diff --git a/src/distributions/zulu/installer.ts b/src/distributions/zulu/installer.ts index 124789b8b..1353b7251 100644 --- a/src/distributions/zulu/installer.ts +++ b/src/distributions/zulu/installer.ts @@ -31,16 +31,16 @@ export class ZuluDistribution extends JavaBase { const availableVersionsRaw = await this.getAvailableVersions(); const availableVersions = availableVersionsRaw.map(item => { return { - version: convertVersionToSemver(item.jdk_version), - url: item.url, - zuluVersion: convertVersionToSemver(item.zulu_version) + version: convertVersionToSemver(item.java_version), + 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) || @@ -105,27 +105,35 @@ export class ZuluDistribution extends JavaBase { 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 } + // Map old API parameters to new metadata API parameters + const archParam = hw_bitness === '64' ? arch : arch; + const osParam = this.getOsParam(platform); + const archiveType = this.getArchiveType(extension); + const requestArguments = [ - `os=${platform}`, - `ext=${extension}`, - `bundle_type=${bundleType}`, - `javafx=${javafx}`, - `arch=${arch}`, - `hw_bitness=${hw_bitness}`, + `os=${osParam}`, + `arch=${archParam}`, + `archive_type=${archiveType}`, + `java_package_type=${bundleType}`, + `javafx_bundled=${javafx}`, + `crac_supported=${crac}`, `release_status=${releaseStatus}`, - abi ? `abi=${abi}` : null, - features ? `features=${features}` : null + `availability_types=ca`, + `certifications=tck`, + `page=1`, + `page_size=100` ] .filter(Boolean) .join('&'); - const availableVersionsUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?${requestArguments}`; + const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`; core.debug(`Gathering available versions from '${availableVersionsUrl}'`); @@ -138,7 +146,7 @@ export class ZuluDistribution extends JavaBase { 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(); } @@ -176,4 +184,31 @@ export class ZuluDistribution extends JavaBase { return process.platform; } } + + private getOsParam(platform: string): string { + // Map platform to new metadata API OS parameter + // The new API uses more specific OS names like 'linux-glibc', 'macos', 'windows' + switch (platform) { + case 'linux': + return 'linux-glibc'; + case 'macos': + return 'macos'; + case 'windows': + return 'windows'; + default: + return platform; + } + } + + private getArchiveType(extension: string): string { + // Map extension to archive_type parameter for new API + switch (extension) { + case 'tar.gz': + return 'tar.gz'; + case 'zip': + return 'zip'; + default: + return extension; + } + } } diff --git a/src/distributions/zulu/models.ts b/src/distributions/zulu/models.ts index a97406f09..2feb9127c 100644 --- a/src/distributions/zulu/models.ts +++ b/src/distributions/zulu/models.ts @@ -1,9 +1,12 @@ -// Models from https://app.swaggerhub.com/apis-docs/azul/zulu-download-community/1.0 +// Models from https://api.azul.com/metadata/v1/docs/swagger (metadata API v1) export interface IZuluVersions { - id: number; + package_uuid: string; name: string; - url: string; - jdk_version: Array; - zulu_version: Array; + download_url: string; + java_version: Array; + distro_version: Array; + availability_type: string; + javafx_bundled: boolean; + crac_supported?: boolean; } From 3f583bc86a9b7e856a9b4a07457098f7dedc0951 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Sat, 4 Apr 2026 06:09:44 +0000 Subject: [PATCH 03/12] Fix redundant ternary expression in getAvailableVersions Removed unused archParam variable that always returned arch regardless of condition. The new metadata API doesn't use hw_bitness parameter, so arch is used directly. Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/defb7621-9c39-4bcc-a345-2eb4f3447e39 Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- dist/setup/index.js | 3 +-- src/distributions/zulu/installer.ts | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/dist/setup/index.js b/dist/setup/index.js index 4f96c384e..92b988569 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -114787,12 +114787,11 @@ class ZuluDistribution extends base_installer_1.JavaBase { console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console } // Map old API parameters to new metadata API parameters - const archParam = hw_bitness === '64' ? arch : arch; const osParam = this.getOsParam(platform); const archiveType = this.getArchiveType(extension); const requestArguments = [ `os=${osParam}`, - `arch=${archParam}`, + `arch=${arch}`, `archive_type=${archiveType}`, `java_package_type=${bundleType}`, `javafx_bundled=${javafx}`, diff --git a/src/distributions/zulu/installer.ts b/src/distributions/zulu/installer.ts index 1353b7251..22781079b 100644 --- a/src/distributions/zulu/installer.ts +++ b/src/distributions/zulu/installer.ts @@ -113,13 +113,12 @@ export class ZuluDistribution extends JavaBase { } // Map old API parameters to new metadata API parameters - const archParam = hw_bitness === '64' ? arch : arch; const osParam = this.getOsParam(platform); const archiveType = this.getArchiveType(extension); const requestArguments = [ `os=${osParam}`, - `arch=${archParam}`, + `arch=${arch}`, `archive_type=${archiveType}`, `java_package_type=${bundleType}`, `javafx_bundled=${javafx}`, From 48d05a6851b3323bdeab2c3dc0898cfda4ed505d Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Sat, 4 Apr 2026 06:30:55 +0000 Subject: [PATCH 04/12] Fix P1 issues: Add pagination and correct architecture mapping for Zulu metadata API - Add pagination logic to fetch all available packages instead of just first 100 - Add getArchParam() method to correctly map architecture values (x64, x86, arm64, arm) - Update tests to expect correct architecture parameters in API URLs Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/b138d8c7-38d8-473f-b525-5b0eebc89962 Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- .../distributors/zulu-linux-installer.test.ts | 13 +-- .../zulu-windows-installer.test.ts | 13 +-- dist/setup/index.js | 74 +++++++++++----- src/distributions/zulu/installer.ts | 85 +++++++++++++------ 4 files changed, 124 insertions(+), 61 deletions(-) diff --git a/__tests__/distributors/zulu-linux-installer.test.ts b/__tests__/distributors/zulu-linux-installer.test.ts index 0e956f20f..233627046 100644 --- a/__tests__/distributors/zulu-linux-installer.test.ts +++ b/__tests__/distributors/zulu-linux-installer.test.ts @@ -58,7 +58,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -67,7 +67,7 @@ describe('getAvailableVersions', () => { packageType: 'jre', checkLatest: false }, - '?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -76,7 +76,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk+fx', checkLatest: false }, - '?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -85,7 +85,7 @@ describe('getAvailableVersions', () => { packageType: 'jre+fx', checkLatest: false }, - '?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=linux-glibc&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -94,7 +94,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=linux-glibc&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=linux-glibc&arch=arm64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -139,7 +139,8 @@ describe('getAvailableVersions', () => { distribution['getPlatformOption'] = () => 'linux'; // Override extension for linux default arch case to match util behavior spyUtilGetDownloadArchiveExtension.mockReturnValue('tar.gz'); - const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=linux-glibc&arch=${distroArch.arch}&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; + const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'arm64' : distroArch.arch; + const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=linux-glibc&arch=${expectedArch}&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; await distribution['getAvailableVersions'](); diff --git a/__tests__/distributors/zulu-windows-installer.test.ts b/__tests__/distributors/zulu-windows-installer.test.ts index 6a3c66d58..2d51d9631 100644 --- a/__tests__/distributors/zulu-windows-installer.test.ts +++ b/__tests__/distributors/zulu-windows-installer.test.ts @@ -58,7 +58,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=windows&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -67,7 +67,7 @@ describe('getAvailableVersions', () => { packageType: 'jre', checkLatest: false }, - '?os=windows&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=windows&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -76,7 +76,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk+fx', checkLatest: false }, - '?os=windows&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=windows&arch=x64&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -85,7 +85,7 @@ describe('getAvailableVersions', () => { packageType: 'jre+fx', checkLatest: false }, - '?os=windows&arch=x86&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=windows&arch=x64&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -94,7 +94,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=windows&arch=arm&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=windows&arch=arm64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -137,7 +137,8 @@ describe('getAvailableVersions', () => { checkLatest: false }); distribution['getPlatformOption'] = () => 'windows'; - const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=windows&arch=${distroArch.arch}&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; + const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'arm64' : distroArch.arch; + const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=windows&arch=${expectedArch}&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; await distribution['getAvailableVersions'](); diff --git a/dist/setup/index.js b/dist/setup/index.js index 92b988569..b088fd1e9 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -114789,33 +114789,45 @@ class ZuluDistribution extends base_installer_1.JavaBase { // Map old API parameters to new metadata API parameters const osParam = this.getOsParam(platform); const archiveType = this.getArchiveType(extension); - const requestArguments = [ - `os=${osParam}`, - `arch=${arch}`, - `archive_type=${archiveType}`, - `java_package_type=${bundleType}`, - `javafx_bundled=${javafx}`, - `crac_supported=${crac}`, - `release_status=${releaseStatus}`, - `availability_types=ca`, - `certifications=tck`, - `page=1`, - `page_size=100` - ] - .filter(Boolean) - .join('&'); - const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`; - core.debug(`Gathering available versions from '${availableVersionsUrl}'`); - const availableVersions = (_c = (yield this.http.getJson(availableVersionsUrl)) - .result) !== null && _c !== void 0 ? _c : []; + const archParam = this.getArchParam(arch, hw_bitness); + // Fetch all pages to avoid missing packages when there are > 100 results + let allVersions = []; + let page = 1; + const pageSize = 100; + let hasMore = true; + while (hasMore) { + const requestArguments = [ + `os=${osParam}`, + `arch=${archParam}`, + `archive_type=${archiveType}`, + `java_package_type=${bundleType}`, + `javafx_bundled=${javafx}`, + `crac_supported=${crac}`, + `release_status=${releaseStatus}`, + `availability_types=ca`, + `certifications=tck`, + `page=${page}`, + `page_size=${pageSize}` + ] + .filter(Boolean) + .join('&'); + const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`; + core.debug(`Gathering available versions from '${availableVersionsUrl}'`); + const pageResults = (_c = (yield this.http.getJson(availableVersionsUrl)) + .result) !== null && _c !== void 0 ? _c : []; + allVersions = allVersions.concat(pageResults); + // If we got fewer results than page size, we've reached the end + hasMore = pageResults.length === pageSize; + page++; + } if (core.isDebug()) { 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.java_version.join('.')).join(', ')); + core.debug(`Available versions: [${allVersions.length}]`); + core.debug(allVersions.map(item => item.java_version.join('.')).join(', ')); core.endGroup(); } - return availableVersions; + return allVersions; }); } getArchitectureOptions() { @@ -114857,6 +114869,24 @@ class ZuluDistribution extends base_installer_1.JavaBase { return platform; } } + getArchParam(arch, hw_bitness) { + // Map architecture to new metadata API arch parameter + // The new API uses x64, x86, arm64, arm (not the legacy x86 + hw_bitness pattern) + if (arch === 'x86' && hw_bitness === '64') { + return 'x64'; + } + else if (arch === 'x86' && hw_bitness === '32') { + return 'x86'; + } + else if (arch === 'arm' && hw_bitness === '64') { + return 'arm64'; + } + else if (arch === 'arm' && hw_bitness === '') { + return 'arm'; + } + // Fallback for other architectures + return arch; + } getArchiveType(extension) { // Map extension to archive_type parameter for new API switch (extension) { diff --git a/src/distributions/zulu/installer.ts b/src/distributions/zulu/installer.ts index 22781079b..673845490 100644 --- a/src/distributions/zulu/installer.ts +++ b/src/distributions/zulu/installer.ts @@ -115,42 +115,57 @@ export class ZuluDistribution extends JavaBase { // Map old API parameters to new metadata API parameters const osParam = this.getOsParam(platform); const archiveType = this.getArchiveType(extension); - - const requestArguments = [ - `os=${osParam}`, - `arch=${arch}`, - `archive_type=${archiveType}`, - `java_package_type=${bundleType}`, - `javafx_bundled=${javafx}`, - `crac_supported=${crac}`, - `release_status=${releaseStatus}`, - `availability_types=ca`, - `certifications=tck`, - `page=1`, - `page_size=100` - ] - .filter(Boolean) - .join('&'); - - const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`; - - core.debug(`Gathering available versions from '${availableVersionsUrl}'`); - - const availableVersions = - (await this.http.getJson>(availableVersionsUrl)) - .result ?? []; + const archParam = this.getArchParam(arch, hw_bitness); + + // Fetch all pages to avoid missing packages when there are > 100 results + let allVersions: IZuluVersions[] = []; + let page = 1; + const pageSize = 100; + let hasMore = true; + + while (hasMore) { + const requestArguments = [ + `os=${osParam}`, + `arch=${archParam}`, + `archive_type=${archiveType}`, + `java_package_type=${bundleType}`, + `javafx_bundled=${javafx}`, + `crac_supported=${crac}`, + `release_status=${releaseStatus}`, + `availability_types=ca`, + `certifications=tck`, + `page=${page}`, + `page_size=${pageSize}` + ] + .filter(Boolean) + .join('&'); + + const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`; + + core.debug(`Gathering available versions from '${availableVersionsUrl}'`); + + const pageResults = + (await this.http.getJson>(availableVersionsUrl)) + .result ?? []; + + allVersions = allVersions.concat(pageResults); + + // If we got fewer results than page size, we've reached the end + hasMore = pageResults.length === pageSize; + page++; + } if (core.isDebug()) { 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(`Available versions: [${allVersions.length}]`); core.debug( - availableVersions.map(item => item.java_version.join('.')).join(', ') + allVersions.map(item => item.java_version.join('.')).join(', ') ); core.endGroup(); } - return availableVersions; + return allVersions; } private getArchitectureOptions(): { @@ -199,6 +214,22 @@ export class ZuluDistribution extends JavaBase { } } + private getArchParam(arch: string, hw_bitness: string): string { + // Map architecture to new metadata API arch parameter + // The new API uses x64, x86, arm64, arm (not the legacy x86 + hw_bitness pattern) + if (arch === 'x86' && hw_bitness === '64') { + return 'x64'; + } else if (arch === 'x86' && hw_bitness === '32') { + return 'x86'; + } else if (arch === 'arm' && hw_bitness === '64') { + return 'arm64'; + } else if (arch === 'arm' && hw_bitness === '') { + return 'arm'; + } + // Fallback for other architectures + return arch; + } + private getArchiveType(extension: string): string { // Map extension to archive_type parameter for new API switch (extension) { From bb2f5718380d6677da94ad0f08e2acee1bd9c0db Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Sat, 4 Apr 2026 06:46:54 +0000 Subject: [PATCH 05/12] Fix codex P1 issues: Remove TCK filter for EA and use aarch64 for ARM64 - Conditional TCK certification filter: only apply certifications=tck to GA releases, not EA - Change ARM 64-bit arch parameter from arm64 to aarch64 to match API expectations - Update tests to reflect these changes (EA URLs no longer have certifications=tck, ARM64 uses aarch64) Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/fd061273-f16e-4ec7-9790-3b46d7823528 Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- __tests__/distributors/zulu-linux-installer.test.ts | 6 +++--- __tests__/distributors/zulu-windows-installer.test.ts | 6 +++--- dist/setup/index.js | 8 +++++--- src/distributions/zulu/installer.ts | 8 +++++--- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/__tests__/distributors/zulu-linux-installer.test.ts b/__tests__/distributors/zulu-linux-installer.test.ts index 233627046..fe9517c47 100644 --- a/__tests__/distributors/zulu-linux-installer.test.ts +++ b/__tests__/distributors/zulu-linux-installer.test.ts @@ -49,7 +49,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=linux-glibc&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&page=1&page_size=100' ], [ { @@ -94,7 +94,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=linux-glibc&arch=arm64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=linux-glibc&arch=aarch64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -139,7 +139,7 @@ describe('getAvailableVersions', () => { distribution['getPlatformOption'] = () => 'linux'; // Override extension for linux default arch case to match util behavior spyUtilGetDownloadArchiveExtension.mockReturnValue('tar.gz'); - const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'arm64' : distroArch.arch; + const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'aarch64' : distroArch.arch; const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=linux-glibc&arch=${expectedArch}&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; await distribution['getAvailableVersions'](); diff --git a/__tests__/distributors/zulu-windows-installer.test.ts b/__tests__/distributors/zulu-windows-installer.test.ts index 2d51d9631..5b600f41e 100644 --- a/__tests__/distributors/zulu-windows-installer.test.ts +++ b/__tests__/distributors/zulu-windows-installer.test.ts @@ -49,7 +49,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=windows&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=windows&arch=x86&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&page=1&page_size=100' ], [ { @@ -94,7 +94,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=windows&arch=arm64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=windows&arch=aarch64&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -137,7 +137,7 @@ describe('getAvailableVersions', () => { checkLatest: false }); distribution['getPlatformOption'] = () => 'windows'; - const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'arm64' : distroArch.arch; + const expectedArch = distroArch.bitness === '64' && distroArch.arch === 'x86' ? 'x64' : distroArch.bitness === '64' && distroArch.arch === 'arm' ? 'aarch64' : distroArch.arch; const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=windows&arch=${expectedArch}&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100`; await distribution['getAvailableVersions'](); diff --git a/dist/setup/index.js b/dist/setup/index.js index b088fd1e9..fd3487c3e 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -114805,7 +114805,9 @@ class ZuluDistribution extends base_installer_1.JavaBase { `crac_supported=${crac}`, `release_status=${releaseStatus}`, `availability_types=ca`, - `certifications=tck`, + // Only filter by TCK certification for GA releases + // EA releases typically don't have TCK certification + releaseStatus === 'ga' ? `certifications=tck` : '', `page=${page}`, `page_size=${pageSize}` ] @@ -114871,7 +114873,7 @@ class ZuluDistribution extends base_installer_1.JavaBase { } getArchParam(arch, hw_bitness) { // Map architecture to new metadata API arch parameter - // The new API uses x64, x86, arm64, arm (not the legacy x86 + hw_bitness pattern) + // The new API uses x64, x86, aarch64, arm if (arch === 'x86' && hw_bitness === '64') { return 'x64'; } @@ -114879,7 +114881,7 @@ class ZuluDistribution extends base_installer_1.JavaBase { return 'x86'; } else if (arch === 'arm' && hw_bitness === '64') { - return 'arm64'; + return 'aarch64'; } else if (arch === 'arm' && hw_bitness === '') { return 'arm'; diff --git a/src/distributions/zulu/installer.ts b/src/distributions/zulu/installer.ts index 673845490..a5c693c7a 100644 --- a/src/distributions/zulu/installer.ts +++ b/src/distributions/zulu/installer.ts @@ -133,7 +133,9 @@ export class ZuluDistribution extends JavaBase { `crac_supported=${crac}`, `release_status=${releaseStatus}`, `availability_types=ca`, - `certifications=tck`, + // Only filter by TCK certification for GA releases + // EA releases typically don't have TCK certification + releaseStatus === 'ga' ? `certifications=tck` : '', `page=${page}`, `page_size=${pageSize}` ] @@ -216,13 +218,13 @@ export class ZuluDistribution extends JavaBase { private getArchParam(arch: string, hw_bitness: string): string { // Map architecture to new metadata API arch parameter - // The new API uses x64, x86, arm64, arm (not the legacy x86 + hw_bitness pattern) + // The new API uses x64, x86, aarch64, arm if (arch === 'x86' && hw_bitness === '64') { return 'x64'; } else if (arch === 'x86' && hw_bitness === '32') { return 'x86'; } else if (arch === 'arm' && hw_bitness === '64') { - return 'arm64'; + return 'aarch64'; } else if (arch === 'arm' && hw_bitness === '') { return 'arm'; } From d44c72fc6c997c895a0baa3cae5c2449b1941ee5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 07:01:04 +0000 Subject: [PATCH 06/12] =?UTF-8?q?Fix=20test=20expectations:=20x64=E2=86=92?= =?UTF-8?q?arch=3Dx64,=20arm64=E2=86=92arch=3Daarch64,=20EA=20releases=20o?= =?UTF-8?q?mit=20certifications=3Dtck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/b06a25de-1827-421b-8c61-19ef01493322 Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- __tests__/distributors/zulu-installer.test.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/__tests__/distributors/zulu-installer.test.ts b/__tests__/distributors/zulu-installer.test.ts index 9376b6003..85f78eff5 100644 --- a/__tests__/distributors/zulu-installer.test.ts +++ b/__tests__/distributors/zulu-installer.test.ts @@ -48,7 +48,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ea&availability_types=ca&page=1&page_size=100' ], [ { @@ -57,7 +57,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -66,7 +66,7 @@ describe('getAvailableVersions', () => { packageType: 'jre', checkLatest: false }, - '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jre&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -75,7 +75,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk+fx', checkLatest: false }, - '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -84,7 +84,7 @@ describe('getAvailableVersions', () => { packageType: 'jre+fx', checkLatest: false }, - '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jre&javafx_bundled=true&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -93,7 +93,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk+crac', checkLatest: false }, - '?os=macos&arch=x86&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=true&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=macos&arch=x64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=true&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -102,7 +102,7 @@ describe('getAvailableVersions', () => { packageType: 'jdk', checkLatest: false }, - '?os=macos&arch=arm&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' + '?os=macos&arch=aarch64&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&release_status=ga&availability_types=ca&certifications=tck&page=1&page_size=100' ], [ { @@ -129,8 +129,8 @@ describe('getAvailableVersions', () => { arch: string; }; it.each([ - ['amd64', {bitness: '64', arch: 'x86'}], - ['arm64', {bitness: '64', arch: 'arm'}] + ['amd64', {bitness: '64', arch: 'x64'}], + ['arm64', {bitness: '64', arch: 'aarch64'}] ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { From 7f63f5d619ff02037761c13b3178ca79e9b8ae12 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 07:24:53 +0000 Subject: [PATCH 07/12] Fix JetBrains test: mock HttpClient.prototype.head to avoid real network calls Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/22657daf-3cd6-46b6-b816-d32ff0c775e6 Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- __tests__/distributors/jetbrains-installer.test.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/__tests__/distributors/jetbrains-installer.test.ts b/__tests__/distributors/jetbrains-installer.test.ts index 44d8ef896..07d6219e9 100644 --- a/__tests__/distributors/jetbrains-installer.test.ts +++ b/__tests__/distributors/jetbrains-installer.test.ts @@ -3,10 +3,10 @@ import {HttpClient} from '@actions/http-client'; import {JetBrainsDistribution} from '../../src/distributions/jetbrains/installer'; import manifestData from '../data/jetbrains.json'; -import os from 'os'; describe('getAvailableVersions', () => { let spyHttpClient: jest.SpyInstance; + let spyHttpClientHead: jest.SpyInstance; beforeEach(() => { spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson'); @@ -15,6 +15,10 @@ describe('getAvailableVersions', () => { headers: {}, result: [] }); + spyHttpClientHead = jest.spyOn(HttpClient.prototype, 'head'); + spyHttpClientHead.mockReturnValue({ + message: {statusCode: 200} + }); }); afterEach(() => { @@ -40,9 +44,8 @@ describe('getAvailableVersions', () => { const availableVersions = await distribution['getAvailableVersions'](); expect(availableVersions).not.toBeNull(); - const length = - os.platform() === 'win32' ? manifestData.length : manifestData.length + 2; - expect(availableVersions.length).toBe(length); + // manifestData items + 2 hidden versions (always included when head is mocked to return 200) + expect(availableVersions.length).toBe(manifestData.length + 2); }, 10_000); }); From 3721876b1b2a9841d65f7b0d1d03eaadc1101ab2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 07:28:44 +0000 Subject: [PATCH 08/12] Revert JetBrains test mock: use real network calls now that cloudfront.net is whitelisted Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/74ae64af-1192-420c-8c3e-aefa09bfb00a Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- __tests__/distributors/jetbrains-installer.test.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/__tests__/distributors/jetbrains-installer.test.ts b/__tests__/distributors/jetbrains-installer.test.ts index 07d6219e9..44d8ef896 100644 --- a/__tests__/distributors/jetbrains-installer.test.ts +++ b/__tests__/distributors/jetbrains-installer.test.ts @@ -3,10 +3,10 @@ import {HttpClient} from '@actions/http-client'; import {JetBrainsDistribution} from '../../src/distributions/jetbrains/installer'; import manifestData from '../data/jetbrains.json'; +import os from 'os'; describe('getAvailableVersions', () => { let spyHttpClient: jest.SpyInstance; - let spyHttpClientHead: jest.SpyInstance; beforeEach(() => { spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson'); @@ -15,10 +15,6 @@ describe('getAvailableVersions', () => { headers: {}, result: [] }); - spyHttpClientHead = jest.spyOn(HttpClient.prototype, 'head'); - spyHttpClientHead.mockReturnValue({ - message: {statusCode: 200} - }); }); afterEach(() => { @@ -44,8 +40,9 @@ describe('getAvailableVersions', () => { const availableVersions = await distribution['getAvailableVersions'](); expect(availableVersions).not.toBeNull(); - // manifestData items + 2 hidden versions (always included when head is mocked to return 200) - expect(availableVersions.length).toBe(manifestData.length + 2); + const length = + os.platform() === 'win32' ? manifestData.length : manifestData.length + 2; + expect(availableVersions.length).toBe(length); }, 10_000); }); From a7b700f304d778af4e9f47e1020b4d3205980359 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Sat, 4 Apr 2026 09:26:32 +0000 Subject: [PATCH 09/12] Minimize diff: remove unnecessary helper methods and inline logic Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/a37adb56-8276-47ac-bd00-5e054fab3f61 Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- dist/setup/index.js | 61 +++++----------------------- src/distributions/zulu/installer.ts | 62 +++++------------------------ 2 files changed, 22 insertions(+), 101 deletions(-) diff --git a/dist/setup/index.js b/dist/setup/index.js index fd3487c3e..62ebf0626 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -114733,7 +114733,7 @@ class ZuluDistribution extends base_installer_1.JavaBase { const satisfiedVersions = availableVersions .filter(item => (0, util_1.isVersionSatisfies)(version, item.version)) .sort((a, b) => { - // Azul provides two versions: java_version and distro_version + // Azul provides two versions: jdk_version and azul_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)); @@ -114786,20 +114786,24 @@ class ZuluDistribution extends base_installer_1.JavaBase { if (core.isDebug()) { console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console } - // Map old API parameters to new metadata API parameters - const osParam = this.getOsParam(platform); - const archiveType = this.getArchiveType(extension); - const archParam = this.getArchParam(arch, hw_bitness); // Fetch all pages to avoid missing packages when there are > 100 results let allVersions = []; let page = 1; const pageSize = 100; let hasMore = true; while (hasMore) { + // Map architecture for new metadata API (x86+64bit -> x64, arm+64bit -> aarch64, etc.) + let archParam = arch; + if (arch === 'x86' && hw_bitness === '64') { + archParam = 'x64'; + } + else if (arch === 'arm' && hw_bitness === '64') { + archParam = 'aarch64'; + } const requestArguments = [ - `os=${osParam}`, + `os=${platform === 'linux' ? 'linux-glibc' : platform}`, `arch=${archParam}`, - `archive_type=${archiveType}`, + `archive_type=${extension}`, `java_package_type=${bundleType}`, `javafx_bundled=${javafx}`, `crac_supported=${crac}`, @@ -114857,49 +114861,6 @@ class ZuluDistribution extends base_installer_1.JavaBase { return process.platform; } } - getOsParam(platform) { - // Map platform to new metadata API OS parameter - // The new API uses more specific OS names like 'linux-glibc', 'macos', 'windows' - switch (platform) { - case 'linux': - return 'linux-glibc'; - case 'macos': - return 'macos'; - case 'windows': - return 'windows'; - default: - return platform; - } - } - getArchParam(arch, hw_bitness) { - // Map architecture to new metadata API arch parameter - // The new API uses x64, x86, aarch64, arm - if (arch === 'x86' && hw_bitness === '64') { - return 'x64'; - } - else if (arch === 'x86' && hw_bitness === '32') { - return 'x86'; - } - else if (arch === 'arm' && hw_bitness === '64') { - return 'aarch64'; - } - else if (arch === 'arm' && hw_bitness === '') { - return 'arm'; - } - // Fallback for other architectures - return arch; - } - getArchiveType(extension) { - // Map extension to archive_type parameter for new API - switch (extension) { - case 'tar.gz': - return 'tar.gz'; - case 'zip': - return 'zip'; - default: - return extension; - } - } } exports.ZuluDistribution = ZuluDistribution; diff --git a/src/distributions/zulu/installer.ts b/src/distributions/zulu/installer.ts index a5c693c7a..b0f2f3cdc 100644 --- a/src/distributions/zulu/installer.ts +++ b/src/distributions/zulu/installer.ts @@ -40,7 +40,7 @@ export class ZuluDistribution extends JavaBase { const satisfiedVersions = availableVersions .filter(item => isVersionSatisfies(version, item.version)) .sort((a, b) => { - // Azul provides two versions: java_version and distro_version + // Azul provides two versions: jdk_version and azul_version // we should sort by both fields by descending return ( -semver.compareBuild(a.version, b.version) || @@ -112,11 +112,6 @@ export class ZuluDistribution extends JavaBase { console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console } - // Map old API parameters to new metadata API parameters - const osParam = this.getOsParam(platform); - const archiveType = this.getArchiveType(extension); - const archParam = this.getArchParam(arch, hw_bitness); - // Fetch all pages to avoid missing packages when there are > 100 results let allVersions: IZuluVersions[] = []; let page = 1; @@ -124,10 +119,18 @@ export class ZuluDistribution extends JavaBase { let hasMore = true; while (hasMore) { + // Map architecture for new metadata API (x86+64bit -> x64, arm+64bit -> aarch64, etc.) + let archParam = arch; + if (arch === 'x86' && hw_bitness === '64') { + archParam = 'x64'; + } else if (arch === 'arm' && hw_bitness === '64') { + archParam = 'aarch64'; + } + const requestArguments = [ - `os=${osParam}`, + `os=${platform === 'linux' ? 'linux-glibc' : platform}`, `arch=${archParam}`, - `archive_type=${archiveType}`, + `archive_type=${extension}`, `java_package_type=${bundleType}`, `javafx_bundled=${javafx}`, `crac_supported=${crac}`, @@ -200,47 +203,4 @@ export class ZuluDistribution extends JavaBase { return process.platform; } } - - private getOsParam(platform: string): string { - // Map platform to new metadata API OS parameter - // The new API uses more specific OS names like 'linux-glibc', 'macos', 'windows' - switch (platform) { - case 'linux': - return 'linux-glibc'; - case 'macos': - return 'macos'; - case 'windows': - return 'windows'; - default: - return platform; - } - } - - private getArchParam(arch: string, hw_bitness: string): string { - // Map architecture to new metadata API arch parameter - // The new API uses x64, x86, aarch64, arm - if (arch === 'x86' && hw_bitness === '64') { - return 'x64'; - } else if (arch === 'x86' && hw_bitness === '32') { - return 'x86'; - } else if (arch === 'arm' && hw_bitness === '64') { - return 'aarch64'; - } else if (arch === 'arm' && hw_bitness === '') { - return 'arm'; - } - // Fallback for other architectures - return arch; - } - - private getArchiveType(extension: string): string { - // Map extension to archive_type parameter for new API - switch (extension) { - case 'tar.gz': - return 'tar.gz'; - case 'zip': - return 'zip'; - default: - return extension; - } - } } From f542c1c07fb928e97d383c10537da9b5a23bc451 Mon Sep 17 00:00:00 2001 From: "anthropic-code-agent[bot]" <242468646+Claude@users.noreply.github.com> Date: Sat, 4 Apr 2026 09:51:51 +0000 Subject: [PATCH 10/12] Revert "Minimize diff" - restore helper methods per feedback Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/442a8fd6-7118-4bd0-b4f5-a2dd028d8fcd Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- dist/setup/index.js | 61 +++++++++++++++++++++++----- src/distributions/zulu/installer.ts | 62 ++++++++++++++++++++++++----- 2 files changed, 101 insertions(+), 22 deletions(-) diff --git a/dist/setup/index.js b/dist/setup/index.js index 62ebf0626..fd3487c3e 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -114733,7 +114733,7 @@ class ZuluDistribution extends base_installer_1.JavaBase { 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)); @@ -114786,24 +114786,20 @@ class ZuluDistribution extends base_installer_1.JavaBase { if (core.isDebug()) { console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console } + // Map old API parameters to new metadata API parameters + const osParam = this.getOsParam(platform); + const archiveType = this.getArchiveType(extension); + const archParam = this.getArchParam(arch, hw_bitness); // Fetch all pages to avoid missing packages when there are > 100 results let allVersions = []; let page = 1; const pageSize = 100; let hasMore = true; while (hasMore) { - // Map architecture for new metadata API (x86+64bit -> x64, arm+64bit -> aarch64, etc.) - let archParam = arch; - if (arch === 'x86' && hw_bitness === '64') { - archParam = 'x64'; - } - else if (arch === 'arm' && hw_bitness === '64') { - archParam = 'aarch64'; - } const requestArguments = [ - `os=${platform === 'linux' ? 'linux-glibc' : platform}`, + `os=${osParam}`, `arch=${archParam}`, - `archive_type=${extension}`, + `archive_type=${archiveType}`, `java_package_type=${bundleType}`, `javafx_bundled=${javafx}`, `crac_supported=${crac}`, @@ -114861,6 +114857,49 @@ class ZuluDistribution extends base_installer_1.JavaBase { return process.platform; } } + getOsParam(platform) { + // Map platform to new metadata API OS parameter + // The new API uses more specific OS names like 'linux-glibc', 'macos', 'windows' + switch (platform) { + case 'linux': + return 'linux-glibc'; + case 'macos': + return 'macos'; + case 'windows': + return 'windows'; + default: + return platform; + } + } + getArchParam(arch, hw_bitness) { + // Map architecture to new metadata API arch parameter + // The new API uses x64, x86, aarch64, arm + if (arch === 'x86' && hw_bitness === '64') { + return 'x64'; + } + else if (arch === 'x86' && hw_bitness === '32') { + return 'x86'; + } + else if (arch === 'arm' && hw_bitness === '64') { + return 'aarch64'; + } + else if (arch === 'arm' && hw_bitness === '') { + return 'arm'; + } + // Fallback for other architectures + return arch; + } + getArchiveType(extension) { + // Map extension to archive_type parameter for new API + switch (extension) { + case 'tar.gz': + return 'tar.gz'; + case 'zip': + return 'zip'; + default: + return extension; + } + } } exports.ZuluDistribution = ZuluDistribution; diff --git a/src/distributions/zulu/installer.ts b/src/distributions/zulu/installer.ts index b0f2f3cdc..a5c693c7a 100644 --- a/src/distributions/zulu/installer.ts +++ b/src/distributions/zulu/installer.ts @@ -40,7 +40,7 @@ export class ZuluDistribution extends JavaBase { 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) || @@ -112,6 +112,11 @@ export class ZuluDistribution extends JavaBase { console.time('Retrieving available versions for Zulu took'); // eslint-disable-line no-console } + // Map old API parameters to new metadata API parameters + const osParam = this.getOsParam(platform); + const archiveType = this.getArchiveType(extension); + const archParam = this.getArchParam(arch, hw_bitness); + // Fetch all pages to avoid missing packages when there are > 100 results let allVersions: IZuluVersions[] = []; let page = 1; @@ -119,18 +124,10 @@ export class ZuluDistribution extends JavaBase { let hasMore = true; while (hasMore) { - // Map architecture for new metadata API (x86+64bit -> x64, arm+64bit -> aarch64, etc.) - let archParam = arch; - if (arch === 'x86' && hw_bitness === '64') { - archParam = 'x64'; - } else if (arch === 'arm' && hw_bitness === '64') { - archParam = 'aarch64'; - } - const requestArguments = [ - `os=${platform === 'linux' ? 'linux-glibc' : platform}`, + `os=${osParam}`, `arch=${archParam}`, - `archive_type=${extension}`, + `archive_type=${archiveType}`, `java_package_type=${bundleType}`, `javafx_bundled=${javafx}`, `crac_supported=${crac}`, @@ -203,4 +200,47 @@ export class ZuluDistribution extends JavaBase { return process.platform; } } + + private getOsParam(platform: string): string { + // Map platform to new metadata API OS parameter + // The new API uses more specific OS names like 'linux-glibc', 'macos', 'windows' + switch (platform) { + case 'linux': + return 'linux-glibc'; + case 'macos': + return 'macos'; + case 'windows': + return 'windows'; + default: + return platform; + } + } + + private getArchParam(arch: string, hw_bitness: string): string { + // Map architecture to new metadata API arch parameter + // The new API uses x64, x86, aarch64, arm + if (arch === 'x86' && hw_bitness === '64') { + return 'x64'; + } else if (arch === 'x86' && hw_bitness === '32') { + return 'x86'; + } else if (arch === 'arm' && hw_bitness === '64') { + return 'aarch64'; + } else if (arch === 'arm' && hw_bitness === '') { + return 'arm'; + } + // Fallback for other architectures + return arch; + } + + private getArchiveType(extension: string): string { + // Map extension to archive_type parameter for new API + switch (extension) { + case 'tar.gz': + return 'tar.gz'; + case 'zip': + return 'zip'; + default: + return extension; + } + } } From 3140bcf59b4eaf38ccba07183794a48da7ccb056 Mon Sep 17 00:00:00 2001 From: Nicolas Baumann Date: Sat, 4 Apr 2026 12:14:46 +0200 Subject: [PATCH 11/12] Update __tests__/data/zulu-windows.json Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- __tests__/data/zulu-windows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__tests__/data/zulu-windows.json b/__tests__/data/zulu-windows.json index 1b0cf9277..f7f1debf8 100644 --- a/__tests__/data/zulu-windows.json +++ b/__tests__/data/zulu-windows.json @@ -701,7 +701,7 @@ }, { "package_uuid": "uuid-12446", - "name": "zulu17.48.15-ca-jdk17.0.10-win_aarhc4.zip", + "name": "zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip", "download_url": "https://cdn.azul.com/zulu/bin/zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip", "java_version": [ 17, From 301143a19747bc2647c9604795611560ad11f5b7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 12:33:33 +0000 Subject: [PATCH 12/12] Address copilot warnings: fix unused abi var, add pagination test, document CRaC in README Agent-Logs-Url: https://github.com/nbauma109/setup-java/sessions/50c422d6-fd37-4e0b-a22c-a3745f876e7b Co-authored-by: nbauma109 <9403560+nbauma109@users.noreply.github.com> --- README.md | 2 +- __tests__/distributors/zulu-installer.test.ts | 22 +++++++++++++++++++ docs/advanced-usage.md | 17 +++++++++++++- src/distributions/zulu/installer.ts | 2 +- 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 35c6ce3f5..f54989cdc 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ For information about the latest releases, recent updates, and newly supported d - `distribution`: _(required)_ Java [distribution](#supported-distributions). - - `java-package`: The packaging variant of the chosen distribution. Possible values: `jdk`, `jre`, `jdk+fx`, `jre+fx`. Default value: `jdk`. + - `java-package`: The packaging variant of the chosen distribution. Possible values: `jdk`, `jre`, `jdk+fx`, `jre+fx`. For Azul Zulu, `jdk+crac` and `jre+crac` are also supported to select builds with [CRaC](https://openjdk.org/projects/crac/) support. Default value: `jdk`. - `architecture`: The target architecture of the package. Possible values: `x86`, `x64`, `armv7`, `aarch64`, `ppc64le`. Default value: Derived from the runner machine. diff --git a/__tests__/distributors/zulu-installer.test.ts b/__tests__/distributors/zulu-installer.test.ts index 85f78eff5..04fe48608 100644 --- a/__tests__/distributors/zulu-installer.test.ts +++ b/__tests__/distributors/zulu-installer.test.ts @@ -164,6 +164,28 @@ describe('getAvailableVersions', () => { const availableVersions = await distribution['getAvailableVersions'](); expect(availableVersions).toHaveLength(manifestData.length); }); + + it('fetches multiple pages when first page is full', async () => { + const firstPage = Array(100).fill(manifestData[0]) as IZuluVersions[]; + const secondPage = manifestData.slice(0, 5) as IZuluVersions[]; + + spyHttpClient + .mockReturnValueOnce({statusCode: 200, headers: {}, result: firstPage}) + .mockReturnValueOnce({statusCode: 200, headers: {}, result: secondPage}); + + const distribution = new ZuluDistribution({ + version: '11', + architecture: 'x86', + packageType: 'jdk', + checkLatest: false + }); + distribution['getPlatformOption'] = () => 'linux'; + + const availableVersions = await distribution['getAvailableVersions'](); + + expect(spyHttpClient).toHaveBeenCalledTimes(2); + expect(availableVersions).toHaveLength(firstPage.length + secondPage.length); + }); }); describe('getArchitectureOptions', () => { diff --git a/docs/advanced-usage.md b/docs/advanced-usage.md index b4035c6e6..6a52d47e2 100644 --- a/docs/advanced-usage.md +++ b/docs/advanced-usage.md @@ -61,10 +61,25 @@ steps: with: distribution: 'zulu' java-version: '21' - java-package: jdk # optional (jdk, jre, jdk+fx or jre+fx) - defaults to jdk + java-package: jdk # optional (jdk, jre, jdk+fx, jre+fx, jdk+crac or jre+crac) - defaults to jdk - run: java -cp java HelloWorldApp ``` +To use a Zulu JDK build with [CRaC (Coordinated Restore at Checkpoint)](https://openjdk.org/projects/crac/) support, set `java-package` to `jdk+crac` or `jre+crac`: + +```yaml +steps: +- uses: actions/checkout@v6 +- uses: actions/setup-java@v5 + with: + distribution: 'zulu' + java-version: '21' + java-package: jdk+crac +- run: java -cp java HelloWorldApp +``` + +> **Note:** CRaC builds are only available for specific Zulu versions on Linux. The default (`jdk`) selects non-CRaC builds. + ### Liberica ```yaml diff --git a/src/distributions/zulu/installer.ts b/src/distributions/zulu/installer.ts index a5c693c7a..0ef6e7183 100644 --- a/src/distributions/zulu/installer.ts +++ b/src/distributions/zulu/installer.ts @@ -100,7 +100,7 @@ export class ZuluDistribution extends JavaBase { } private async getAvailableVersions(): Promise { - const {arch, hw_bitness, abi} = this.getArchitectureOptions(); + const {arch, hw_bitness} = this.getArchitectureOptions(); const [bundleType, features] = this.packageType.split('+'); const platform = this.getPlatformOption(); const extension = getDownloadArchiveExtension();