Skip to content

Commit 413017d

Browse files
committed
[GR-36495] Port JDK8 jobs to JDK11.
PullRequest: graal/10859
2 parents 3e600e0 + 43143c1 commit 413017d

File tree

9 files changed

+72
-61
lines changed

9 files changed

+72
-61
lines changed

sdk/mx.sdk/suite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
# SOFTWARE.
4040
#
4141
suite = {
42-
"mxversion" : "5.309.1",
42+
"mxversion" : "5.317.17",
4343
"name" : "sdk",
4444
"version" : "22.1.0",
4545
"release" : False,

vm/ci_common/common-bench.jsonnet

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ local vm_common = import '../ci_common/common.jsonnet';
149149
vm_common.bench_daily_vm_linux_amd64 + self.vm_bench_polybench_linux_warmup + {name: 'daily-bench-vm-' + vm.vm_setup.short_name + '-polybench-warmup-linux-amd64'},
150150
vm_common.bench_daily_vm_linux_amd64 + self.vm_bench_polybench_linux_allocated_bytes + {name: 'daily-bench-vm-' + vm.vm_setup.short_name + '-polybench-allocated-bytes-linux-amd64'},
151151

152-
vm_common.bench_daily_vm_linux_amd64 + self.vm_bench_polybench_nfi_linux_amd64 + vm.vm_java_8 + {name: 'daily-bench-vm-' + vm.vm_setup.short_name + '-polybench-nfi-java8-linux-amd64'},
153152
vm_common.bench_daily_vm_linux_amd64 + self.vm_bench_polybench_nfi_linux_amd64 + vm.vm_java_11 + {name: 'daily-bench-vm-' + vm.vm_setup.short_name + '-polybench-nfi-java11-linux-amd64'},
154153
vm_common.bench_daily_vm_linux_amd64 + self.vm_bench_polybench_nfi_linux_amd64 + vm.vm_java_17 + {name: 'daily-bench-vm-' + vm.vm_setup.short_name + '-polybench-nfi-java17-linux-amd64'},
155154

vm/ci_common/common.jsonnet

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,6 @@ local devkits = common_json.devkits;
362362
svm_common_linux_amd64: { environment+: common_json.svm.deps.common.environment, logs+: common_json.svm.deps.common.logs} + common_json.svm.deps.linux_amd64,
363363
svm_common_linux_aarch64: { environment+: common_json.svm.deps.common.environment, logs+: common_json.svm.deps.common.logs} + common_json.svm.deps.linux_aarch64,
364364
svm_common_darwin: { environment+: common_json.svm.deps.common.environment, logs+: common_json.svm.deps.common.logs} + common_json.svm.deps.darwin,
365-
svm_common_windows_openjdk8: { environment+: common_json.svm.deps.common.environment, logs+: common_json.svm.deps.common.logs} + common_json.svm.deps.windows + common_json.devkits['windows-openjdk8'],
366-
svm_common_windows_oraclejdk8: { environment+: common_json.svm.deps.common.environment, logs+: common_json.svm.deps.common.logs} + common_json.svm.deps.windows + common_json.devkits['windows-oraclejdk8'],
367365
svm_common_windows_jdk11: { environment+: common_json.svm.deps.common.environment, logs+: common_json.svm.deps.common.logs} + common_json.svm.deps.windows + common_json.devkits['windows-jdk11'],
368366
svm_common_windows_jdk17: { environment+: common_json.svm.deps.common.environment, logs+: common_json.svm.deps.common.logs} + common_json.svm.deps.windows + common_json.devkits['windows-jdk17'],
369367

vm/ci_includes/vm.jsonnet

Lines changed: 32 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,6 @@ local common_json = composable(import '../../common.json');
88
local jdks = common_json.jdks;
99

1010
{
11-
vm_java_8:: graal_common.openjdk8 + {
12-
environment+: {
13-
BASE_JDK_NAME: jdks.openjdk8.name,
14-
BASE_JDK_VERSION: jdks.openjdk8.version,
15-
BASE_JDK_SHORT_VERSION: '8',
16-
},
17-
},
1811
vm_java_11:: graal_common.labsjdk11 + {
1912
environment+: {
2013
BASE_JDK_NAME: jdks['labsjdk-ce-11'].name,
@@ -30,9 +23,6 @@ local jdks = common_json.jdks;
3023
},
3124
},
3225

33-
vm_common_windows_jdk8:: vm_common.svm_common_windows_openjdk8,
34-
vm_common_windows_jdk11:: vm_common.svm_common_windows_jdk11,
35-
3626
vm_linux_amd64_java_11:: self.vm_java_11 + {
3727
downloads+: {
3828
LLVM_JAVA_HOME: jdks['labsjdk-ce-11-llvm'],
@@ -63,34 +53,23 @@ local jdks = common_json.jdks;
6353
],
6454
},
6555

66-
maven_base_11:: {
56+
maven_11_17:: {
6757
downloads+: {
6858
JAVA_HOME: jdks['labsjdk-ce-11'],
59+
EXTRA_JAVA_HOMES: jdks['labsjdk-ce-17'],
6960
},
7061
mx_cmd_base:: ['mx', '--dynamicimports', '/tools,/compiler,/graal-js,/espresso', '--disable-installables=true'],
7162
build:: self.mx_cmd_base + ['build'],
7263
deploy:: self.mx_cmd_base + ['--suite', 'compiler', '--suite', 'truffle', '--suite', 'sdk', '--suite', 'tools', '--suite', 'regex', '--suite', 'graal-js', '--suite', 'espresso', 'maven-deploy', '--tags=default', '--all-distribution-types', '--validate', 'full', '--licenses', 'GPLv2-CPE,UPL,MIT'],
7364
},
7465

75-
maven_base_native:: {
66+
maven_11_17_only_native:: self.maven_11_17 + {
7667
native_distributions:: 'TRUFFLE_NFI_NATIVE,SVM_HOSTED_NATIVE',
7768
mx_cmd_base:: ['mx', '--dynamicimports', '/substratevm', '--disable-installables=true', '--force-bash-launcher=true', '--skip-libraries=true'],
7869
build:: self.mx_cmd_base + ['build', '--dependencies', self.native_distributions],
7970
deploy:: self.mx_cmd_base + ['maven-deploy', '--only', self.native_distributions, '--tags=default', '--all-suites', '--all-distribution-types', '--validate', 'full', '--licenses', 'GPLv2-CPE,UPL,MIT'],
8071
},
8172

82-
maven_base_8_native:: self.maven_base_native + {
83-
downloads+: {
84-
JAVA_HOME: jdks.openjdk8,
85-
},
86-
},
87-
88-
maven_base_11_native:: self.maven_base_native + {
89-
downloads+: {
90-
JAVA_HOME: jdks['labsjdk-ce-11'],
91-
},
92-
},
93-
9473
vm_unittest:: {
9574
environment+: {
9675
MX_TEST_RESULTS_PATTERN: 'es-XXX.json',
@@ -129,14 +108,14 @@ local jdks = common_json.jdks;
129108
},
130109

131110
local builds = [
132-
self.vm_java_8 + vm_common.gate_vm_linux_amd64 + self.vm_unittest + {
111+
self.vm_java_11 + vm_common.gate_vm_linux_amd64 + self.vm_unittest + {
133112
run: [
134113
['mx', 'build'],
135114
['mx', 'unittest', '--suite', 'vm'],
136115
],
137116
name: 'gate-vm-unittest-linux-amd64',
138117
},
139-
graal_common.oraclejdk8 + common_json.devkits['windows-oraclejdk8'] + vm_common.gate_vm_windows + self.vm_unittest + {
118+
self.vm_java_11 + common_json.devkits['windows-jdk11'] + vm_common.gate_vm_windows + self.vm_unittest + {
140119
run: [
141120
['mx', 'build'],
142121
['mx', 'unittest', '--suite', 'vm'],
@@ -154,20 +133,20 @@ local jdks = common_json.jdks;
154133
],
155134
name: 'gate-vm-build-without-vcs-linux-amd64',
156135
},
157-
vm_common.linux_deploy + vm_common.gate_vm_linux_amd64 + self.maven_base_11 + vm_common.sulong_linux + {
136+
vm_common.linux_deploy + vm_common.gate_vm_linux_amd64 + self.maven_11_17 + vm_common.sulong_linux + {
158137
run: [
159-
$.maven_base_11.build,
160-
$.maven_base_11.deploy + ['--dry-run', 'lafo-maven'],
138+
$.maven_11_17.build,
139+
$.maven_11_17.deploy + ['--dry-run', 'lafo-maven'],
161140
],
162141
name: 'gate-vm-maven-dry-run-linux-amd64',
163142
},
164-
vm_common.linux_deploy + vm_common.gate_vm_linux_amd64 + self.maven_base_11 + vm_common.sulong_linux + {
143+
vm_common.linux_deploy + vm_common.gate_vm_linux_amd64 + self.maven_11_17 + vm_common.sulong_linux + {
165144
downloads+: {
166145
OPEN_JDK_11: common_json.jdks.openjdk11,
167146
},
168147
run: [
169-
$.maven_base_11.build,
170-
$.maven_base_11.deploy + ['--version-string', 'GATE'],
148+
$.maven_11_17.build,
149+
$.maven_11_17.deploy + ['--version-string', 'GATE'],
171150
['set-export', 'JAVA_HOME', '$OPEN_JDK_11'],
172151
['git', 'clone', '--depth', '1', ['mx', 'urlrewrite', 'https://github.com/graalvm/graal-js-jdk11-maven-demo.git'], 'graal-js-jdk11-maven-demo'],
173152
['cd', 'graal-js-jdk11-maven-demo'],
@@ -176,53 +155,53 @@ local jdks = common_json.jdks;
176155
],
177156
name: 'gate-vm-js-on-jdk11-maven-linux-amd64',
178157
},
179-
vm_common.linux_deploy + vm_common.deploy_vm_linux_amd64 + self.maven_base_11 + vm_common.sulong_linux + {
158+
vm_common.linux_deploy + vm_common.deploy_vm_linux_amd64 + self.maven_11_17 + vm_common.sulong_linux + {
180159
run: [
181-
$.maven_base_11.build,
182-
$.maven_base_11.deploy + ['lafo-maven'],
160+
$.maven_11_17.build,
161+
$.maven_11_17.deploy + ['lafo-maven'],
183162
],
184163
name: 'post-merge-deploy-vm-maven-linux-amd64',
185164
timelimit: '45:00',
186165
},
187-
vm_common.linux_deploy + vm_common.gate_vm_linux_aarch64 + self.maven_base_11_native + {
166+
vm_common.linux_deploy + vm_common.gate_vm_linux_aarch64 + self.maven_11_17_only_native + {
188167
run: [
189-
$.maven_base_11_native.build,
190-
$.maven_base_11_native.deploy + ['--dry-run', 'lafo-maven'],
168+
$.maven_11_17_only_native.build,
169+
$.maven_11_17_only_native.deploy + ['--dry-run', 'lafo-maven'],
191170
],
192171
name: 'gate-vm-maven-dry-run-linux-aarch64',
193172
},
194-
vm_common.linux_deploy + vm_common.deploy_vm_linux_aarch64 + self.maven_base_11_native + {
173+
vm_common.linux_deploy + vm_common.deploy_vm_linux_aarch64 + self.maven_11_17_only_native + {
195174
run: [
196-
$.maven_base_11_native.build,
197-
$.maven_base_11_native.deploy + ['lafo-maven'],
175+
$.maven_11_17_only_native.build,
176+
$.maven_11_17_only_native.deploy + ['lafo-maven'],
198177
],
199178
name: 'post-merge-deploy-vm-maven-linux-aarch64',
200179
},
201-
vm_common.darwin_deploy + vm_common.gate_vm_darwin + self.maven_base_11_native + {
180+
vm_common.darwin_deploy + vm_common.gate_vm_darwin + self.maven_11_17_only_native + {
202181
run: [
203-
$.maven_base_11_native.build,
204-
$.maven_base_11_native.deploy + ['--dry-run', 'lafo-maven'],
182+
$.maven_11_17_only_native.build,
183+
$.maven_11_17_only_native.deploy + ['--dry-run', 'lafo-maven'],
205184
],
206185
name: 'gate-vm-maven-dry-run-darwin-amd64',
207186
},
208-
vm_common.darwin_deploy + vm_common.deploy_daily_vm_darwin + self.maven_base_11_native + {
187+
vm_common.darwin_deploy + vm_common.deploy_daily_vm_darwin + self.maven_11_17_only_native + {
209188
run: [
210-
$.maven_base_11_native.build,
211-
$.maven_base_11_native.deploy + ['lafo-maven'],
189+
$.maven_11_17_only_native.build,
190+
$.maven_11_17_only_native.deploy + ['lafo-maven'],
212191
],
213192
name: 'daily-deploy-vm-maven-darwin-amd64',
214193
},
215-
self.vm_common_windows_jdk11 + vm_common.gate_vm_windows + self.maven_base_11_native + {
194+
vm_common.svm_common_windows_jdk11 + vm_common.gate_vm_windows + self.maven_11_17_only_native + {
216195
run: [
217-
$.maven_base_11_native.build,
218-
$.maven_base_11_native.deploy + ['--dry-run', 'lafo-maven'],
196+
$.maven_11_17_only_native.build,
197+
$.maven_11_17_only_native.deploy + ['--dry-run', 'lafo-maven'],
219198
],
220199
name: 'gate-vm-maven-dry-run-windows-amd64',
221200
},
222-
self.vm_common_windows_jdk11 + vm_common.deploy_daily_vm_windows + self.maven_base_11_native + {
201+
vm_common.svm_common_windows_jdk11 + vm_common.deploy_daily_vm_windows + self.maven_11_17_only_native + {
223202
run: [
224-
$.maven_base_11_native.build,
225-
$.maven_base_11_native.deploy + ['lafo-maven'],
203+
$.maven_11_17_only_native.build,
204+
$.maven_11_17_only_native.deploy + ['lafo-maven'],
226205
],
227206
name: 'daily-deploy-vm-maven-windows-amd64',
228207
},

vm/mx.vm/mx_vm_gate.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,17 @@ class VmGateTasks:
6565
svm_sl_tck = 'svm_sl_tck'
6666
svm_truffle_tck_js = 'svm-truffle-tck-js'
6767

68+
def _unittest_config_participant(config):
69+
vmArgs, mainClass, mainClassArgs = config
70+
# This is required by org.graalvm.component.installer.CatalogIterableTest
71+
vmArgs += [
72+
'--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED',
73+
'--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED',
74+
]
75+
return vmArgs, mainClass, mainClassArgs
76+
77+
mx_unittest.add_config_participant(_unittest_config_participant)
78+
6879
def _check_compiler_log(compiler_log_file, expectations):
6980
"""
7081
Checks that `compiler_log_file` exists and that its contents match each regular expression in `expectations`.

vm/mx.vm/suite.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,14 @@
104104
"mx:JUNIT",
105105
"org.graalvm.component.installer"
106106
],
107-
"javaCompliance" : "1.8+",
107+
"requires" : ["java.logging"], # required by several tests
108+
"requiresConcealed" : {
109+
"java.base" : [
110+
"jdk.internal.loader", # required by ComponentInstallerTest
111+
"sun.net", # required by DirectoryStorageTest
112+
],
113+
},
114+
"javaCompliance" : "11+",
108115
"checkstyle": "org.graalvm.component.installer",
109116
"license" : "GPLv2-CPE",
110117
},

vm/src/org.graalvm.component.installer.test/src/org/graalvm/component/installer/CommandTestBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public ComponentParam createParam(String cmdString, ComponentInfo nfo) {
139139

140140
@Override
141141
public Iterator<ComponentParam> iterator() {
142-
return new Iterator<ComponentParam>() {
142+
return new Iterator<>() {
143143
private Iterator<ComponentParam> pit = components.iterator();
144144
private Iterator<ComponentParam> fit;
145145
{

vm/src/org.graalvm.component.installer.test/src/org/graalvm/component/installer/ComponentInstallerTest.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545
import java.util.ResourceBundle;
4646
import java.util.Set;
4747
import java.util.stream.Collectors;
48+
49+
import jdk.internal.loader.URLClassPath;
4850
import org.junit.Assert;
4951
import static org.junit.Assert.assertEquals;
5052
import static org.junit.Assert.assertTrue;
@@ -504,13 +506,17 @@ public void testAutoFindGraalVMHome() throws Exception {
504506
Files.copy(origInstaller, targetInstaller);
505507
Files.copy(origTest, targetTest);
506508

507-
URLClassLoader myLoader = (URLClassLoader) getClass().getClassLoader();
509+
ClassLoader cl = getClass().getClassLoader();
510+
assertEquals(cl.getClass().getName(), "jdk.internal.loader.ClassLoaders$AppClassLoader");
511+
Field ucp = cl.getClass().getDeclaredField("ucp");
512+
ucp.setAccessible(true);
513+
URLClassPath urlClassPath = (URLClassPath) ucp.get(cl);
508514
List<URL> urls = new ArrayList<>();
509515

510516
urls.add(targetInstaller.toUri().toURL());
511517
urls.add(targetTest.toUri().toURL());
512518

513-
Arrays.asList(myLoader.getURLs()).stream().filter(u -> !(locInstaller.equals(u) || locTest.equals(u))).collect(Collectors.toCollection(() -> urls));
519+
Arrays.asList(urlClassPath.getURLs()).stream().filter(u -> !(locInstaller.equals(u) || locTest.equals(u))).collect(Collectors.toCollection(() -> urls));
514520

515521
URLClassLoader ldr = new URLClassLoader(
516522
urls.toArray(new URL[urls.size()]),

vm/src/org.graalvm.component.installer/src/org/graalvm/component/installer/persist/SortedProperties.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,13 @@
2727
import java.util.ArrayList;
2828
import java.util.Collection;
2929
import java.util.Collections;
30+
import java.util.Comparator;
3031
import java.util.Enumeration;
3132
import java.util.List;
33+
import java.util.Map;
3234
import java.util.Properties;
35+
import java.util.Set;
36+
import java.util.TreeSet;
3337

3438
/**
3539
* Provides sorted properties, for deterministic saves.
@@ -55,4 +59,11 @@ public synchronized Enumeration<Object> keys() {
5559
Collections.sort(keyList);
5660
return Collections.enumeration((Collection) keyList);
5761
}
62+
63+
@Override
64+
public Set<Map.Entry<Object, Object>> entrySet() {
65+
TreeSet<Map.Entry<Object, Object>> treeSet = new TreeSet<>(Comparator.comparing(o -> ((String) o.getKey())));
66+
treeSet.addAll(super.entrySet());
67+
return Collections.synchronizedSet(treeSet);
68+
}
5869
}

0 commit comments

Comments
 (0)