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

Commit 19627bf

Browse files
committed
Prevent JRuby build failure by sending to Kernel.require
1 parent 914d702 commit 19627bf

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

lib/rspec/support.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
require "rspec/support/ruby_features"
2+
13
module RSpec
24
module Support
35
# @api private
@@ -18,6 +20,11 @@ def self.define_optimized_require_for_rspec(lib, &require_relative)
1820
(class << self; self; end).__send__(:define_method, name) do |f|
1921
require_relative.call("#{lib}/#{f}")
2022
end
23+
elsif Ruby.jruby? && !Kernel.respond_to?(:require)
24+
# JRuby 9.1.17.0 has developed a regression for require
25+
(class << self; self; end).__send__(:define_method, name) do |f|
26+
Kernel.send(:require, "rspec/#{lib}/#{f}")
27+
end
2128
else
2229
(class << self; self; end).__send__(:define_method, name) do |f|
2330
require "rspec/#{lib}/#{f}"
@@ -27,7 +34,6 @@ def self.define_optimized_require_for_rspec(lib, &require_relative)
2734

2835
define_optimized_require_for_rspec(:support) { |f| require_relative(f) }
2936
require_rspec_support "version"
30-
require_rspec_support "ruby_features"
3137

3238
# @api private
3339
KERNEL_METHOD_METHOD = ::Kernel.instance_method(:method)

0 commit comments

Comments
 (0)