@@ -107,7 +107,7 @@ local common_json = import "../common.json";
107
107
"windows-jdk19" : { packages+: { "devkit:VS2022-17.1.0+1" : "==0" }},
108
108
"windows-jdk20" : { packages+: { "devkit:VS2022-17.1.0+1" : "==0" }},
109
109
"windows-jdk21" : { packages+: { "devkit:VS2022-17.1.0+1" : "==1" }},
110
- "windows-jdk-latest" : { packages+: { "devkit:VS2022-17.1.0 +1" : "==1 " }},
110
+ "windows-jdk-latest" : { packages+: { "devkit:VS2022-17.6.5 +1" : "==0 " }},
111
111
"windows-jdkLatest" : self ["windows-jdk-latest" ],
112
112
"linux-jdk17" : { packages+: { "devkit:gcc11.2.0-OL6.4+1" : "==0" }},
113
113
"linux-jdk19" : { packages+: { "devkit:gcc11.2.0-OL6.4+1" : "==0" }},
@@ -118,6 +118,40 @@ local common_json = import "../common.json";
118
118
# Dependencies
119
119
# ************
120
120
deps: {
121
+ # These dependencies are included in Build GraalVM platforms, but not in bare platforms
122
+
123
+ mx: {
124
+ environment+: {
125
+ MX_PYTHON: "python3.8" ,
126
+ },
127
+ packages+: {
128
+ python3: "==3.8.10" ,
129
+ "pip:ninja_syntax" : common_json.pip.ninja_syntax,
130
+ mx: common_json.mx_version,
131
+ },
132
+ python_version: "3" , # To use the correct virtualenv
133
+ },
134
+
135
+ common_catch_files: {
136
+ catch_files+: [
137
+ # Keep in sync with jdk.graal.compiler.debug.StandardPathUtilitiesProvider#DIAGNOSTIC_OUTPUT_DIRECTORY_MESSAGE_REGEXP
138
+ "Graal diagnostic output saved in '(?P<filename>[^']+)'" ,
139
+ # Keep in sync with jdk.graal.compiler.debug.DebugContext#DUMP_FILE_MESSAGE_REGEXP
140
+ "Dumping debug output to '(?P<filename>[^']+)'" ,
141
+ # Keep in sync with com.oracle.svm.hosted.NativeImageOptions#DEFAULT_ERROR_FILE_NAME
142
+ " (?P<filename>.+/svm_err_b_\\ d+T\\ d+\\ .\\ d+_pid\\ d+\\ .md)" ,
143
+ ],
144
+ },
145
+
146
+ common_env: {
147
+ environment+: {
148
+ # Enforce experimental option checking in CI (GR-47922)
149
+ NATIVE_IMAGE_EXPERIMENTAL_OPTIONS_ARE_FATAL: "true" ,
150
+ },
151
+ },
152
+
153
+ # These dependencies are not included by default in any platform object
154
+
121
155
eclipse: {
122
156
downloads+: {
123
157
ECLIPSE: {
@@ -238,46 +272,7 @@ local common_json = import "../common.json";
238
272
}
239
273
},
240
274
241
- # Hardware definitions and common fields
242
- # **************************************
243
- # Note that only platforms (os-arch) are exposed (not os and arch separately),
244
- # because this is the simplest way to ensure correct usage and dependencies (e.g. ol7 in linux_amd64).
245
- #
246
- # To add extra "common" fields for your CI:
247
- # * If you already have platforms objects, you could extend them like:
248
- # linux_amd64: common.linux_amd64 + self.my_common,
249
- # * Otherwise, just include your common object as well as one of the os-arch objects below in each job:
250
- # { name: "myjob" } + common.linux_amd64 + self.my_common + ...
251
- #
252
- # This also means self.my_common should no longer include mx, etc as it is already included by the os-arch objects.
253
- local mx = {
254
- environment+: {
255
- MX_PYTHON: "python3.8" ,
256
- },
257
- packages+: {
258
- python3: "==3.8.10" ,
259
- "pip:ninja_syntax" : common_json.pip.ninja_syntax,
260
- mx: common_json.mx_version,
261
- },
262
- python_version: "3" , # To use the correct virtualenv
263
- },
264
-
265
- local common = mx + {
266
- catch_files+: [
267
- # Keep in sync with jdk.graal.compiler.debug.StandardPathUtilitiesProvider#DIAGNOSTIC_OUTPUT_DIRECTORY_MESSAGE_REGEXP
268
- "Graal diagnostic output saved in '(?P<filename>[^']+)'" ,
269
- # Keep in sync with jdk.graal.compiler.debug.DebugContext#DUMP_FILE_MESSAGE_REGEXP
270
- "Dumping debug output to '(?P<filename>[^']+)'" ,
271
- # Keep in sync with com.oracle.svm.hosted.NativeImageOptions#DEFAULT_ERROR_FILE_NAME
272
- " (?P<filename>.+/svm_err_b_\\ d+T\\ d+\\ .\\ d+_pid\\ d+\\ .md)" ,
273
- ],
274
- environment+: {
275
- # Enforce experimental option checking in CI (GR-47922)
276
- NATIVE_IMAGE_EXPERIMENTAL_OPTIONS_ARE_FATAL: "true" ,
277
- },
278
- },
279
-
280
- // OS specific file handling
275
+ # OS specific file handling
281
276
os_utils:: {
282
277
local lib_format = {
283
278
"windows" : "%s.dll" ,
@@ -295,36 +290,84 @@ local common_json = import "../common.json";
295
290
os_lib(name):: lib_format[self .os] % name,
296
291
},
297
292
298
- local ol7 = {
299
- docker+ : {
300
- image: "buildslave_ol7" ,
301
- mount_modules: true ,
302
- } ,
293
+ # Utils
294
+ disable_proxies : {
295
+ setup+: [
296
+ [ "unset" , "HTTP_PROXY" , "HTTPS_PROXY" , "FTP_PROXY" , "NO_PROXY" , "http_proxy" , "https_proxy" , "ftp_proxy" , "no_proxy" ] ,
297
+ ] ,
303
298
},
304
- local ol8 = {
305
- docker+: {
306
- image: "buildslave_ol8" ,
307
- mount_modules: true ,
299
+
300
+ # Hardware definitions and common fields
301
+ # **************************************
302
+ # Note that only platforms (os-arch) are exposed (not os and arch separately),
303
+ # because this is the simplest way to ensure correct usage and dependencies (e.g. ol7 in linux_amd64).
304
+ #
305
+ # To add extra "common" fields for your CI:
306
+ # * If you already have platforms objects, you could extend them like:
307
+ # linux_amd64: common.linux_amd64 + self.my_common,
308
+ # * Otherwise, just include your common object as well as one of the os-arch objects below in each job:
309
+ # { name: "myjob" } + common.linux_amd64 + self.my_common + ...
310
+ #
311
+ # This also means self.my_common should no longer include mx, etc as it is already included by the os-arch objects.
312
+
313
+ # Bare platforms, just the bare minimum and nothing else. Also see Build GraalVM platforms below.
314
+ bare:: {
315
+ local ol7 = {
316
+ docker+: {
317
+ image: "buildslave_ol7" ,
318
+ mount_modules: true ,
319
+ },
308
320
},
309
- },
310
- local ol9 = {
311
- docker+: {
312
- image: "buildslave_ol9" ,
313
- mount_modules: true ,
321
+ local ol8 = {
322
+ docker+: {
323
+ image: "buildslave_ol8" ,
324
+ mount_modules: true ,
325
+ } ,
314
326
},
315
- },
316
- local ubuntu22 = {
317
- docker+: {
318
- image: "buildslave_ubuntu22" ,
319
- mount_modules: true ,
327
+ local ol9 = {
328
+ docker+: {
329
+ image: "buildslave_ol9" ,
330
+ mount_modules: true ,
331
+ } ,
320
332
},
333
+ local ubuntu22 = {
334
+ docker+: {
335
+ image: "buildslave_ubuntu22" ,
336
+ mount_modules: true ,
337
+ },
338
+ },
339
+
340
+ local linux = { os:: "linux" , capabilities+: [self .os] },
341
+ local darwin = { os:: "darwin" , capabilities+: [self .os] },
342
+ local windows = { os:: "windows" , capabilities+: [self .os] },
343
+
344
+ local amd64 = { arch:: "amd64" , capabilities+: [self .arch] },
345
+ local aarch64 = { arch:: "aarch64" , capabilities+: [self .arch] },
346
+
347
+ local ol_distro = { os_distro:: "ol" },
348
+
349
+ linux_amd64: self .linux_amd64_ol7,
350
+ linux_amd64_ol7: linux + amd64 + ol7 + ol_distro,
351
+ linux_amd64_ol8: linux + amd64 + ol8 + ol_distro,
352
+ linux_amd64_ol9: linux + amd64 + ol9 + ol_distro,
353
+
354
+ linux_aarch64: self .linux_aarch64_ol7,
355
+ linux_aarch64_ol7: linux + aarch64 + ol7 + ol_distro,
356
+ linux_aarch64_ol8: linux + aarch64 + ol8 + ol_distro,
357
+ linux_aarch64_ol9: linux + aarch64 + ol9 + ol_distro,
358
+
359
+ linux_amd64_ubuntu: linux + amd64 + ubuntu22 + { os_distro:: "ubuntu" },
360
+
361
+ darwin_amd64: darwin + amd64,
362
+ darwin_aarch64: darwin + aarch64,
363
+
364
+ windows_amd64: windows + amd64,
365
+ windows_server_2016_amd64: windows + amd64 + { capabilities+: ["windows_server_2016" ] },
321
366
},
322
- local deps_linux = {
323
- },
324
- local deps_darwin = {
325
- },
326
- local deps_windows = {
327
- },
367
+
368
+ # Build GraalVM platforms, they include the dependencies listed in `local common =` just below.
369
+ # They also include a devtoolset on Oracle Linux, to use the same system toolchain for all builds.
370
+ local common = self .deps.mx + self .deps.common_catch_files + self .deps.common_env,
328
371
329
372
local ol_devtoolset = {
330
373
packages+: (if self .arch == "aarch64" then {
@@ -334,35 +377,21 @@ local common_json = import "../common.json";
334
377
}),
335
378
},
336
379
337
- local linux = deps_linux + common + { os:: "linux" , capabilities+: [self .os] },
338
- local darwin = deps_darwin + common + { os:: "darwin" , capabilities+: [self .os] },
339
- local windows = deps_windows + common + { os:: "windows" , capabilities+: [self .os] },
340
- local windows_server_2016 = windows + { capabilities+: ["windows_server_2016" ] },
341
-
342
- local amd64 = { arch:: "amd64" , capabilities+: [self .arch] },
343
- local aarch64 = { arch:: "aarch64" , capabilities+: [self .arch] },
344
- # Always include the devtoolset on Oracle Linux to use the same system toolchain for all builds
345
- local ol_distro = { os_distro:: "ol" } + ol_devtoolset,
380
+ linux_amd64: self .linux_amd64_ol7,
381
+ linux_amd64_ol7: self .bare.linux_amd64_ol7 + common + ol_devtoolset,
382
+ linux_amd64_ol8: self .bare.linux_amd64_ol8 + common + ol_devtoolset,
383
+ linux_amd64_ol9: self .bare.linux_amd64_ol9 + common + ol_devtoolset,
346
384
347
- linux_amd64: linux + amd64 + ol7 + ol_distro,
348
- linux_amd64_ol8: linux + amd64 + ol8 + ol_distro,
349
- linux_amd64_ol9: linux + amd64 + ol9 + ol_distro,
350
- linux_aarch64: linux + aarch64 + ol_distro,
351
- linux_aarch64_ol8: linux + aarch64 + ol8 + ol_distro,
352
- linux_aarch64_ol9: linux + aarch64 + ol9 + ol_distro,
385
+ linux_aarch64: self .linux_aarch64_ol7,
386
+ linux_aarch64_ol7: self .bare.linux_aarch64_ol7 + common + ol_devtoolset,
387
+ linux_aarch64_ol8: self .bare.linux_aarch64_ol8 + common + ol_devtoolset,
388
+ linux_aarch64_ol9: self .bare.linux_aarch64_ol9 + common + ol_devtoolset,
353
389
354
- linux_amd64_ubuntu: linux + amd64 + ubuntu22 + { os_distro:: "ubuntu" } ,
390
+ linux_amd64_ubuntu: self .bare.linux_amd64_ubuntu + common ,
355
391
356
- darwin_amd64: darwin + amd64 ,
357
- darwin_aarch64: darwin + aarch64 ,
392
+ darwin_amd64: self .bare.darwin_amd64 + common ,
393
+ darwin_aarch64: self .bare.darwin_aarch64 + common ,
358
394
359
- windows_amd64: windows + amd64,
360
- windows_server_2016_amd64: windows_server_2016 + amd64,
361
-
362
- # Utils
363
- disable_proxies: {
364
- setup+: [
365
- ["unset" , "HTTP_PROXY" , "HTTPS_PROXY" , "FTP_PROXY" , "NO_PROXY" , "http_proxy" , "https_proxy" , "ftp_proxy" , "no_proxy" ],
366
- ],
367
- },
395
+ windows_amd64: self .bare.windows_amd64 + common,
396
+ windows_server_2016_amd64: self .bare.windows_server_2016_amd64 + common,
368
397
}
0 commit comments