diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-08-02 15:32:26 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-08-19 00:24:34 -0400 |
commit | e2a8b1735b53c1f7af3cbda84bc031d4c9b84c57 (patch) | |
tree | a4514793e953f29faf410e96db5b5f86cf4d31c6 /lib | |
parent | ec4e3e74760ca14b4c50fc5b6e09820527015ba4 (diff) | |
download | bundler-e2a8b1735b53c1f7af3cbda84bc031d4c9b84c57.tar.gz |
Just dont cache extensions on super old RG versions
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bundler/rubygems_gem_installer.rb | 4 | ||||
-rw-r--r-- | lib/bundler/rubygems_integration.rb | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/bundler/rubygems_gem_installer.rb b/lib/bundler/rubygems_gem_installer.rb index dc77168ed6..e7e1a7e940 100644 --- a/lib/bundler/rubygems_gem_installer.rb +++ b/lib/bundler/rubygems_gem_installer.rb @@ -20,9 +20,9 @@ module Bundler def build_extensions extension_cache_path = options[:bundler_extension_cache_path] - return super unless extension_cache_path + return super unless extension_cache_path && extension_dir = Bundler.rubygems.spec_extension_dir(spec) - extension_dir = Pathname.new(spec.extension_dir) + extension_dir = Pathname.new(extension_dir) build_complete = SharedHelpers.filesystem_access(extension_cache_path.join("gem.build_complete"), :read, &:file?) if build_complete && !options[:force] SharedHelpers.filesystem_access(extension_dir.parent, &:mkpath) diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb index dc1c35b990..202903d981 100644 --- a/lib/bundler/rubygems_integration.rb +++ b/lib/bundler/rubygems_integration.rb @@ -93,6 +93,11 @@ module Bundler end.flatten(1) end + def spec_extension_dir(spec) + return unless spec.respond_to?(:extension_dir) + spec.extension_dir + end + def stub_set_spec(stub, spec) stub.instance_variable_set(:@spec, spec) end |