Skip to content

Commit 65215e7

Browse files
committed
[GR-27472] JT: check jvmci version from $JAVA_HOME/bin/java -version
PullRequest: truffleruby/2163
2 parents 0402549 + ba75ed2 commit 65215e7

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

tool/jt.rb

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -143,19 +143,14 @@ def get_truffle_version(from: :suite)
143143
end
144144
end
145145

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
152148
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
154150
raise 'JVMCI version not found in common.json'
155151
end
152+
$1
156153
end
157-
update, jvmci = $1, $2
158-
[update, jvmci]
159154
end
160155

161156
def send_signal(signal, pid)
@@ -518,15 +513,20 @@ def find_java_home
518513
end
519514
java_home ||= ENV['JAVA_HOME']
520515

521-
_, jvmci_version = jvmci_update_and_version
522516
if java_home
517+
java_home = File.realpath(java_home)
523518
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)
524524
:use_env_java_home
525-
elsif java_home.include?('jvmci')
525+
elsif java_version_output.include?('jvmci')
526526
warn "warning: JAVA_HOME=#{java_home} is not the same JVMCI version as in common.json (#{jvmci_version})"
527527
:use_env_java_home
528528
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')"
530530
end
531531
else
532532
raise '$JAVA_HOME should be set in CI' if ci?
@@ -1939,7 +1939,6 @@ def install(name, *options)
19391939
private def install_jvmci(download_message, ee)
19401940
jdk_name = ee ? 'oraclejdk8' : 'openjdk8'
19411941

1942-
_, jvmci_version = jvmci_update_and_version
19431942
java_home = "#{CACHE_EXTRA_DIR}/#{jdk_name}-#{jvmci_version}"
19441943
unless File.directory?(java_home)
19451944
STDERR.puts "#{download_message} (#{jdk_name})"

0 commit comments

Comments
 (0)