@@ -143,19 +143,14 @@ def get_truffle_version(from: :suite)
143
143
end
144
144
end
145
145
146
- def jvmci_update_and_version
147
- if env = ENV [ 'JVMCI_VERSION' ]
148
- unless /8u(\d +(?:\+ \d +)?)-(jvmci-\d +\. \d +-b\d +)/ =~ env
149
- raise 'Could not parse JDK update and JVMCI version from $JVMCI_VERSION'
150
- end
151
- else
146
+ def jvmci_version
147
+ @jvmci_version ||= begin
152
148
ci = File . read ( "#{ TRUFFLERUBY_DIR } /common.json" )
153
- unless /{\s *"name"\s *:\s *"openjdk"\s *,\s *"version"\s *:\s *"8u(\d +(?:\+ \d +)?)-(jvmci-[^"]+)"\s *,/ =~ ci
149
+ unless /{\s *"name"\s *:\s *"openjdk"\s *,\s *"version"\s *:\s *"8u(?: \d +(?:\+ \d +)?)-(jvmci-[^"]+)"\s *,/ =~ ci
154
150
raise 'JVMCI version not found in common.json'
155
151
end
152
+ $1
156
153
end
157
- update , jvmci = $1, $2
158
- [ update , jvmci ]
159
154
end
160
155
161
156
def send_signal ( signal , pid )
@@ -518,15 +513,20 @@ def find_java_home
518
513
end
519
514
java_home ||= ENV [ 'JAVA_HOME' ]
520
515
521
- _ , jvmci_version = jvmci_update_and_version
522
516
if java_home
517
+ java_home = File . realpath ( java_home )
523
518
if java_home . include? ( jvmci_version )
519
+ return :use_env_java_home
520
+ end
521
+
522
+ java_version_output = `#{ java_home } /bin/java -version 2>&1`
523
+ if java_version_output . include? ( jvmci_version )
524
524
:use_env_java_home
525
- elsif java_home . include? ( 'jvmci' )
525
+ elsif java_version_output . include? ( 'jvmci' )
526
526
warn "warning: JAVA_HOME=#{ java_home } is not the same JVMCI version as in common.json (#{ jvmci_version } )"
527
527
:use_env_java_home
528
528
else
529
- raise "$JAVA_HOME does not seem to point to a JVMCI-enabled JDK (#{ java_home . inspect } does not contain 'jvmci')"
529
+ raise "$JAVA_HOME does not seem to point to a JVMCI-enabled JDK (` #{ java_home } /bin/java -version` does not contain 'jvmci')"
530
530
end
531
531
else
532
532
raise '$JAVA_HOME should be set in CI' if ci?
@@ -1939,7 +1939,6 @@ def install(name, *options)
1939
1939
private def install_jvmci ( download_message , ee )
1940
1940
jdk_name = ee ? 'oraclejdk8' : 'openjdk8'
1941
1941
1942
- _ , jvmci_version = jvmci_update_and_version
1943
1942
java_home = "#{ CACHE_EXTRA_DIR } /#{ jdk_name } -#{ jvmci_version } "
1944
1943
unless File . directory? ( java_home )
1945
1944
STDERR . puts "#{ download_message } (#{ jdk_name } )"
0 commit comments