Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

Commit 3e9828d

Browse files
authored
Merge pull request #493 from rspec/cherry-pick-jruby-9.1.17.0-fix
Prevent JRuby build failure by sending to Kernel.require (4-0-dev)
2 parents 1624f7b + 6e08ede commit 3e9828d

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

lib/rspec/support.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,15 @@ module Support
1212
# hand, does a linear O(N) search over the dirs in the $LOAD_PATH until
1313
# it can resolve the file relative to one of the dirs.
1414
def self.define_optimized_require_for_rspec(lib, &require_relative)
15-
define_singleton_method("require_rspec_#{lib}") do |f|
16-
require_relative.call("#{lib}/#{f}")
15+
if RUBY_PLATFORM == 'java' && !Kernel.respond_to?(:require)
16+
# JRuby 9.1.17.0 has developed a regression for require
17+
(class << self; self; end).__send__(:define_method, "require_rspec_#{lib}") do |f|
18+
Kernel.send(:require, "rspec/#{lib}/#{f}")
19+
end
20+
else
21+
define_singleton_method("require_rspec_#{lib}") do |f|
22+
require_relative.call("#{lib}/#{f}")
23+
end
1724
end
1825
end
1926

0 commit comments

Comments
 (0)