Skip to content

Commit 6a0805f

Browse files
Fix the bug about parsing dragonwell version (#642) (#643)
1 parent fd08b9c commit 6a0805f

File tree

4 files changed

+239
-16
lines changed

4 files changed

+239
-16
lines changed

__tests__/data/dragonwell.json

+186
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,54 @@
481481
}
482482
}
483483
}
484+
},
485+
"11.0.23.20.9" : {
486+
"alpine-linux" : {
487+
"x64" : {
488+
"Extended" : {
489+
"sha256" : "9d61fefb4f1a8368f8e7eec17893934b438b67f360cb8b7ef727ab459695d14e",
490+
"name" : "Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_alpine-linux.tar.gz",
491+
"content_type" : "application/zip",
492+
"download_url" : "https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_alpine-linux.tar.gz"
493+
}
494+
}
495+
},
496+
"linux" : {
497+
"aarch64" : {
498+
"Extended" : {
499+
"sha256" : "2f399231644fe1e3f1b4b5298e85f21f4863017767e9e5afb00ee46e2d7780d9",
500+
"name" : "Alibaba_Dragonwell_Extended_11.0.23.20.9_aarch64_linux.tar.gz",
501+
"content_type" : "application/zip",
502+
"download_url" : "https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_aarch64_linux.tar.gz"
503+
}
504+
},
505+
"x64" : {
506+
"Extended" : {
507+
"sha256" : "662dfdc584e21bcfb7ed87942b5bb4e71a7b7467d4c82211a3615d0834d1c833",
508+
"name" : "Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_linux.tar.gz",
509+
"content_type" : "application/zip",
510+
"download_url" : "https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_linux.tar.gz"
511+
}
512+
},
513+
"riscv" : {
514+
"Extended" : {
515+
"sha256" : "f3488461cbfd95e6c08ad2dc01c51950b9c629c46eea6305002311b263ce2ad9",
516+
"name" : "Alibaba_Dragonwell_Extended_11.0.23.20.9_riscv64_linux.tar.gz",
517+
"content_type" : "application/zip",
518+
"download_url" : "https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_riscv64_linux.tar.gz"
519+
}
520+
}
521+
},
522+
"windows" : {
523+
"x64" : {
524+
"Extended" : {
525+
"sha256" : "ba8dba2b7f2279f87220f396afcce49cb26482705deb5144c6e22a90ba443f9d",
526+
"name" : "Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_windows.zip",
527+
"content_type" : "application/zip",
528+
"download_url" : "https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_windows.zip"
529+
}
530+
}
531+
}
484532
}
485533
},
486534
"17":{
@@ -1134,5 +1182,143 @@
11341182
}
11351183
}
11361184
}
1185+
},
1186+
"21" : {
1187+
"21.0.3.0.3.9" : {
1188+
"alpine-linux" : {
1189+
"x64" : {
1190+
"Standard" : {
1191+
"sha256" : "c3c5d193a0a6aee8757fd3036dc13b7921a4306b089bf8759ba6b822d1e8416e",
1192+
"name" : "Alibaba_Dragonwell_Standard_21.0.3.0.3.9_x64_alpine-linux.tar.gz",
1193+
"content_type" : "application/zip",
1194+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_x64_alpine-linux.tar.gz"
1195+
}
1196+
}
1197+
},
1198+
"linux" : {
1199+
"aarch64" : {
1200+
"Standard" : {
1201+
"sha256" : "3cc309627ad2a9515ca50cdeff9eff118f14326b37eaa536b758570082aeb242",
1202+
"name" : "Alibaba_Dragonwell_Standard_21.0.3.0.3.9_aarch64_linux.tar.gz",
1203+
"content_type" : "application/zip",
1204+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_aarch64_linux.tar.gz"
1205+
}
1206+
},
1207+
"x64" : {
1208+
"Standard" : {
1209+
"sha256" : "1c0508db048c0b50e2d61b2cc5a5390d3b9bcafec6e185d2cb53dde1fc530203",
1210+
"name" : "Alibaba_Dragonwell_Standard_21.0.3.0.3.9_x64_linux.tar.gz",
1211+
"content_type" : "application/zip",
1212+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_x64_linux.tar.gz"
1213+
}
1214+
},
1215+
"riscv" : {
1216+
"Standard" : {
1217+
"sha256" : "e374698f8ee9c66b8d4a59ba50d0511aa654b55514732bc787e29c9afaddf846",
1218+
"name" : "Alibaba_Dragonwell_Standard_21.0.3.0.3.9_riscv64_linux.tar.gz",
1219+
"content_type" : "application/zip",
1220+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_riscv64_linux.tar.gz"
1221+
}
1222+
}
1223+
},
1224+
"windows" : {
1225+
"x64" : {
1226+
"Standard" : {
1227+
"sha256" : "0b75fc888cb2a9c7e050132fd020c30cbe65f3179feb36812a7c6be3c76ad277",
1228+
"name" : "Alibaba_Dragonwell_Standard_21.0.3.0.3.9_x64_windows.zip",
1229+
"content_type" : "application/zip",
1230+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_x64_windows.zip"
1231+
}
1232+
}
1233+
}
1234+
},
1235+
"21.0.2.0.2.13" : {
1236+
"alpine-linux" : {
1237+
"x64" : {
1238+
"Standard" : {
1239+
"sha256" : "71a391987fdd569385c0afe1aaf16dbd48d127e14306793ef9ac0e0986b9632c",
1240+
"name" : "Alibaba_Dragonwell_Standard_21.0.2.0.2.13_x64_alpine-linux.tar.gz",
1241+
"content_type" : "application/zip",
1242+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.2.0.2%2B13_jdk-21.0.2-ga/Alibaba_Dragonwell_Standard_21.0.2.0.2.13_x64_alpine-linux.tar.gz"
1243+
}
1244+
}
1245+
},
1246+
"linux" : {
1247+
"aarch64" : {
1248+
"Standard" : {
1249+
"sha256" : "307321a399c206f8d56e0ce5c65921f9448ec9882dfb81ffc5e841b8fb5f8ed8",
1250+
"name" : "Alibaba_Dragonwell_Standard_21.0.2.0.2.13_aarch64_linux.tar.gz",
1251+
"content_type" : "application/zip",
1252+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.2.0.2%2B13_jdk-21.0.2-ga/Alibaba_Dragonwell_Standard_21.0.2.0.2.13_aarch64_linux.tar.gz"
1253+
}
1254+
},
1255+
"x64" : {
1256+
"Standard" : {
1257+
"sha256" : "24198f0d436bb913b152181e07205647b05da01c196f5c10a96e9a998b10381a",
1258+
"name" : "Alibaba_Dragonwell_Standard_21.0.2.0.2.13_x64_linux.tar.gz",
1259+
"content_type" : "application/zip",
1260+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.2.0.2%2B13_jdk-21.0.2-ga/Alibaba_Dragonwell_Standard_21.0.2.0.2.13_x64_linux.tar.gz"
1261+
}
1262+
},
1263+
"riscv" : {
1264+
"Standard" : {
1265+
"sha256" : "970a49103b8971952e46c81be844bc3776caca04da8456337f12e3a7d2a18011",
1266+
"name" : "Alibaba_Dragonwell_Standard_21.0.2.0.2.13_riscv64_linux.tar.gz",
1267+
"content_type" : "application/zip",
1268+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.2.0.2%2B13_jdk-21.0.2-ga/Alibaba_Dragonwell_Standard_21.0.2.0.2.13_riscv64_linux.tar.gz"
1269+
}
1270+
}
1271+
},
1272+
"windows" : {
1273+
"x64" : {
1274+
"Standard" : {
1275+
"sha256" : "b77de54be5ef1595fc568f6f18fbd4b61d64d99a0c9c5ef78a84018b4f82032b",
1276+
"name" : "Alibaba_Dragonwell_Standard_21.0.2.0.2.13_x64_windows.zip",
1277+
"content_type" : "application/zip",
1278+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.2.0.2%2B13_jdk-21.0.2-ga/Alibaba_Dragonwell_Standard_21.0.2.0.2.13_x64_windows.zip"
1279+
}
1280+
}
1281+
}
1282+
},
1283+
"21.0.1.0.1.12" : {
1284+
"alpine-linux" : {
1285+
"x64" : {
1286+
"Standard" : {
1287+
"sha256" : "b9cea58bffe555484b831ff6d7cdb277c07e86a76d32b373ec35fa21ecb5fdc9",
1288+
"name" : "Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_alpine-linux.tar.gz",
1289+
"content_type" : "application/zip",
1290+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.1.0.1%2B12_jdk-21.0.1-ga/Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_alpine-linux.tar.gz"
1291+
}
1292+
}
1293+
},
1294+
"linux" : {
1295+
"aarch64" : {
1296+
"Standard" : {
1297+
"sha256" : "d36cef494ccc1939c6b5da04133cfdbe0b03956fd04147aef46014536bc5a37b",
1298+
"name" : "Alibaba_Dragonwell_Standard_21.0.1.0.1.12_aarch64_linux.tar.gz",
1299+
"content_type" : "application/zip",
1300+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.1.0.1%2B12_jdk-21.0.1-ga/Alibaba_Dragonwell_Standard_21.0.1.0.1.12_aarch64_linux.tar.gz"
1301+
}
1302+
},
1303+
"x64" : {
1304+
"Standard" : {
1305+
"sha256" : "dfb8d325a98b8f577d72fd639cc54feee325eec8ebba497868184c8405a1cf41",
1306+
"name" : "Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_linux.tar.gz",
1307+
"content_type" : "application/zip",
1308+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.1.0.1%2B12_jdk-21.0.1-ga/Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_linux.tar.gz"
1309+
}
1310+
}
1311+
},
1312+
"windows" : {
1313+
"x64" : {
1314+
"Standard" : {
1315+
"sha256" : "b8ab99ed9060341f75edb8cc238830fbfd608e51536e43f34bd45c3e968ebab5",
1316+
"name" : "Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_windows.zip",
1317+
"content_type" : "application/zip",
1318+
"download_url" : "https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.1.0.1%2B12_jdk-21.0.1-ga/Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_windows.zip"
1319+
}
1320+
}
1321+
}
1322+
}
11371323
}
11381324
}

__tests__/distributors/dragonwell-installer.test.ts

+41-10
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,16 @@ describe('getAvailableVersions', () => {
4141
describe('getAvailableVersions', () => {
4242
it.each([
4343
['8', 'x86', 'linux', 0],
44-
['8', 'aarch64', 'linux', 24],
45-
['8.6.6', 'x64', 'linux', 27],
44+
['8', 'aarch64', 'linux', 28],
45+
['8.6.6', 'x64', 'linux', 31],
4646
['8', 'x86', 'anolis', 0],
4747
['8', 'x86', 'windows', 0],
4848
['8', 'x86', 'mac', 0],
49-
['11', 'x64', 'linux', 27],
50-
['11', 'aarch64', 'linux', 24],
51-
['17', 'riscv', 'linux', 0],
52-
['16.0.1', 'x64', 'linux', 27]
49+
['11', 'x64', 'linux', 31],
50+
['11', 'aarch64', 'linux', 28],
51+
['17', 'riscv', 'linux', 3],
52+
['16.0.1', 'x64', 'linux', 31],
53+
['21', 'x64', 'linux', 31]
5354
])(
5455
'should get right number of available versions from JSON',
5556
async (
@@ -103,25 +104,31 @@ describe('getAvailableVersions', () => {
103104
'11',
104105
'linux',
105106
'x64',
106-
'https://github.com/alibaba/dragonwell11/releases/download/dragonwell-extended-11.0.17.13_jdk-11.0.17-ga/Alibaba_Dragonwell_Extended_11.0.17.13.8_x64_linux.tar.gz'
107+
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_linux.tar.gz'
107108
],
108109
[
109110
'11',
110111
'linux',
111112
'aarch64',
112-
'https://github.com/alibaba/dragonwell11/releases/download/dragonwell-extended-11.0.17.13_jdk-11.0.17-ga/Alibaba_Dragonwell_Extended_11.0.17.13.8_aarch64_linux.tar.gz'
113+
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_aarch64_linux.tar.gz'
114+
],
115+
[
116+
'11',
117+
'linux',
118+
'riscv',
119+
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_riscv64_linux.tar.gz'
113120
],
114121
[
115122
'11',
116123
'windows',
117124
'x64',
118-
'https://github.com/alibaba/dragonwell11/releases/download/dragonwell-extended-11.0.17.13_jdk-11.0.17-ga/Alibaba_Dragonwell_Extended_11.0.17.13.8_x64_windows.zip'
125+
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_windows.zip'
119126
],
120127
[
121128
'11',
122129
'alpine-linux',
123130
'x64',
124-
'https://github.com/alibaba/dragonwell11/releases/download/dragonwell-extended-11.0.17.13_jdk-11.0.17-ga/Alibaba_Dragonwell_Extended_11.0.17.13.8_x64_alpine-linux.tar.gz'
131+
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_alpine-linux.tar.gz'
125132
],
126133
[
127134
'11.0.17',
@@ -158,6 +165,30 @@ describe('getAvailableVersions', () => {
158165
'linux',
159166
'x64',
160167
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.4.0.4%2B8_jdk-17.0.4-ga/Alibaba_Dragonwell_Standard_17.0.4.0.4%2B8_x64_linux.tar.gz'
168+
],
169+
[
170+
'17.0.4+8',
171+
'linux',
172+
'x64',
173+
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.4.0.4%2B8_jdk-17.0.4-ga/Alibaba_Dragonwell_Standard_17.0.4.0.4%2B8_x64_linux.tar.gz'
174+
],
175+
[
176+
'21',
177+
'linux',
178+
'aarch64',
179+
'https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_aarch64_linux.tar.gz'
180+
],
181+
[
182+
'21.0.3+9',
183+
'linux',
184+
'riscv',
185+
'https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_riscv64_linux.tar.gz'
186+
],
187+
[
188+
'21.0.1+12',
189+
'linux',
190+
'x64',
191+
'https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.1.0.1%2B12_jdk-21.0.1-ga/Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_linux.tar.gz'
161192
]
162193
])(
163194
'should return proper link according to the specified java-version, platform and arch',

dist/setup/index.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -124231,9 +124231,10 @@ class DragonwellDistribution extends base_installer_1.JavaBase {
124231124231
}
124232124232
// Some version of Dragonwell JDK are numerated with help of non-semver notation (more then 3 digits).
124233124233
// Common practice is to transform excess digits to the so-called semver build part, which is prefixed with the plus sign, to be able to operate with them using semver tools.
124234-
if (jdkVersion.split('.').length > 3) {
124235-
jdkVersion = (0, util_1.convertVersionToSemver)(jdkVersion);
124236-
}
124234+
const jdkVersionNums = jdkVersion
124235+
.replace('+', '.')
124236+
.split('.');
124237+
jdkVersion = (0, util_1.convertVersionToSemver)(`${jdkVersionNums.slice(0, 3).join('.')}.${jdkVersionNums[jdkVersionNums.length - 1]}`);
124237124238
for (const edition in archMap) {
124238124239
eligibleVersions.push({
124239124240
os: platform,

src/distributions/dragonwell/installer.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,14 @@ export class DragonwellDistribution extends JavaBase {
149149

150150
// Some version of Dragonwell JDK are numerated with help of non-semver notation (more then 3 digits).
151151
// Common practice is to transform excess digits to the so-called semver build part, which is prefixed with the plus sign, to be able to operate with them using semver tools.
152-
if (jdkVersion.split('.').length > 3) {
153-
jdkVersion = convertVersionToSemver(jdkVersion);
154-
}
152+
const jdkVersionNums: string[] = jdkVersion
153+
.replace('+', '.')
154+
.split('.');
155+
jdkVersion = convertVersionToSemver(
156+
`${jdkVersionNums.slice(0, 3).join('.')}.${
157+
jdkVersionNums[jdkVersionNums.length - 1]
158+
}`
159+
);
155160

156161
for (const edition in archMap) {
157162
eligibleVersions.push({

0 commit comments

Comments
 (0)