[rubygems/rubygems] Remove extension building sync stuff no longer present in RubyGems
https://github.com/rubygems/rubygems/commit/59a85388b9
This commit is contained in:
parent
41095f4de0
commit
d718654bb1
@ -4,17 +4,12 @@ require "rubygems" unless defined?(Gem)
|
|||||||
|
|
||||||
module Bundler
|
module Bundler
|
||||||
class RubygemsIntegration
|
class RubygemsIntegration
|
||||||
if defined?(Gem::Ext::Builder::CHDIR_MONITOR)
|
require "monitor"
|
||||||
EXT_LOCK = Gem::Ext::Builder::CHDIR_MONITOR
|
|
||||||
else
|
|
||||||
require "monitor"
|
|
||||||
|
|
||||||
EXT_LOCK = Monitor.new
|
EXT_LOCK = Monitor.new
|
||||||
end
|
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
@replaced_methods = {}
|
@replaced_methods = {}
|
||||||
backport_ext_builder_monitor
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def version
|
def version
|
||||||
@ -479,25 +474,6 @@ module Bundler
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def backport_ext_builder_monitor
|
|
||||||
# So we can avoid requiring "rubygems/ext" in its entirety
|
|
||||||
Gem.module_eval <<-RUBY, __FILE__, __LINE__ + 1
|
|
||||||
module Ext
|
|
||||||
end
|
|
||||||
RUBY
|
|
||||||
|
|
||||||
require "rubygems/ext/builder"
|
|
||||||
|
|
||||||
Gem::Ext::Builder.class_eval do
|
|
||||||
unless const_defined?(:CHDIR_MONITOR)
|
|
||||||
const_set(:CHDIR_MONITOR, EXT_LOCK)
|
|
||||||
end
|
|
||||||
|
|
||||||
remove_const(:CHDIR_MUTEX) if const_defined?(:CHDIR_MUTEX)
|
|
||||||
const_set(:CHDIR_MUTEX, const_get(:CHDIR_MONITOR))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def find_bundler(version)
|
def find_bundler(version)
|
||||||
find_name("bundler").find {|s| s.version.to_s == version }
|
find_name("bundler").find {|s| s.version.to_s == version }
|
||||||
end
|
end
|
||||||
|
@ -6,7 +6,6 @@ RSpec.describe Bundler::Plugin::Installer do
|
|||||||
describe "cli install" do
|
describe "cli install" do
|
||||||
it "uses Gem.sources when non of the source is provided" do
|
it "uses Gem.sources when non of the source is provided" do
|
||||||
sources = double(:sources)
|
sources = double(:sources)
|
||||||
Bundler.settings # initialize it before we have to touch rubygems.ext_lock
|
|
||||||
allow(Gem).to receive(:sources) { sources }
|
allow(Gem).to receive(:sources) { sources }
|
||||||
|
|
||||||
allow(installer).to receive(:install_rubygems).
|
allow(installer).to receive(:install_rubygems).
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
RSpec.describe Bundler::RubygemsIntegration do
|
RSpec.describe Bundler::RubygemsIntegration do
|
||||||
it "uses the same chdir lock as rubygems" do
|
|
||||||
expect(Bundler.rubygems.ext_lock).to eq(Gem::Ext::Builder::CHDIR_MONITOR)
|
|
||||||
end
|
|
||||||
|
|
||||||
context "#validate" do
|
context "#validate" do
|
||||||
let(:spec) do
|
let(:spec) do
|
||||||
Gem::Specification.new do |s|
|
Gem::Specification.new do |s|
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
RSpec.describe Bundler::SharedHelpers do
|
RSpec.describe Bundler::SharedHelpers do
|
||||||
let(:ext_lock_double) { double(:ext_lock) }
|
|
||||||
|
|
||||||
before do
|
before do
|
||||||
pwd_stub
|
pwd_stub
|
||||||
allow(Bundler.rubygems).to receive(:ext_lock).and_return(ext_lock_double)
|
|
||||||
allow(ext_lock_double).to receive(:synchronize) {|&block| block.call }
|
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:pwd_stub) { allow(subject).to receive(:pwd).and_return(bundled_app) }
|
let(:pwd_stub) { allow(subject).to receive(:pwd).and_return(bundled_app) }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user