Skip to content

Commit cb25951

Browse files
committed
JT: always use the realpath for ruby_launcher
1 parent 687277b commit cb25951

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

tool/jt.rb

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -185,16 +185,19 @@ def ruby_launcher
185185
return @ruby_launcher if defined? @ruby_launcher
186186

187187
@ruby_name ||= ENV['RUBY_BIN'] || 'jvm'
188-
@ruby_launcher = if @ruby_name == 'ruby'
189-
ENV['RBENV_ROOT'] ? `rbenv which ruby`.chomp : which('ruby')
190-
elsif File.executable?(@ruby_name)
191-
@ruby_name
192-
else
193-
"#{TRUFFLERUBY_DIR}/mxbuild/truffleruby-#{@ruby_name}/#{language_dir}/ruby/bin/ruby"
194-
end
188+
ruby_launcher = if @ruby_name == 'ruby'
189+
ENV['RBENV_ROOT'] ? `rbenv which ruby`.chomp : which('ruby')
190+
elsif File.executable?(@ruby_name)
191+
@ruby_name
192+
else
193+
"#{TRUFFLERUBY_DIR}/mxbuild/truffleruby-#{@ruby_name}/#{language_dir}/ruby/bin/ruby"
194+
end
195195

196-
raise "The Ruby executable #{@ruby_launcher} does not exist" unless File.exist?(@ruby_launcher)
197-
raise "The Ruby executable #{@ruby_launcher} is not executable" unless File.executable?(@ruby_launcher)
196+
raise "The Ruby executable #{ruby_launcher} does not exist" unless File.exist?(ruby_launcher)
197+
ruby_launcher = File.realpath(ruby_launcher)
198+
199+
raise "The Ruby executable #{ruby_launcher} is not executable" unless File.executable?(ruby_launcher)
200+
@ruby_launcher = ruby_launcher
198201

199202
unless @silent
200203
shortened_path = @ruby_launcher.sub(%r[^#{Regexp.escape TRUFFLERUBY_DIR}/], '').sub(%r[/bin/ruby$], '').sub(%r[/#{language_dir}/ruby$], '')
@@ -210,7 +213,6 @@ def ruby_launcher
210213
ENV['RUBY_BIN'] = ruby_launcher
211214
@ruby_launcher
212215
end
213-
214216
alias_method :require_ruby_launcher!, :ruby_launcher
215217

216218
def truffleruby_native!
@@ -239,8 +241,7 @@ def truffleruby_compiler?
239241
return @truffleruby_compiler = true if truffleruby_native?
240242

241243
# Detect if the compiler is present by reading the $graalvm_home/release file
242-
# Use realpath to always use the executable in languages/ruby/bin/
243-
graalvm_home = File.expand_path("../../../..#{'/..' * language_dir.count('/')}", File.realpath(ruby_launcher))
244+
graalvm_home = File.expand_path("../../../..#{'/..' * language_dir.count('/')}", ruby_launcher)
244245
@truffleruby_compiler = File.readlines("#{graalvm_home}/release").grep(/^COMMIT_INFO=/).any? do |line|
245246
line.include?('"compiler":') || line.include?("'compiler':")
246247
end

0 commit comments

Comments
 (0)