summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHomu <homu@barosl.com>2016-09-11 05:59:13 +0900
committerSamuel Giddins <segiddins@segiddins.me>2016-09-13 18:16:03 +0200
commit51ba37b725b3e4ea7212cce7ac4b3511d8ce8219 (patch)
tree0469e4dd049bb5d07ce7c62da4062e4b6590966f
parent3e3f64f1166c4613329495459793dbd5a714efd3 (diff)
downloadbundler-51ba37b725b3e4ea7212cce7ac4b3511d8ce8219.tar.gz
Auto merge of #4944 - dekellum:missing-require-rubygems-source, r=indirect
[RubygemsExt] Add missing require rubygems/source The change referenced below as released in 1.13.0.rc.2, may attempt to reference Gem::Source without it being loaded, resulting in: ~~~ [!] There was an error parsing `Gemfile`: [!] There was an error while loading `elided.gemspec`: uninitialized constant Gem::Source. Bundler cannot continue. ~~~ Observed this on ruby 2.2.5 with stock rubygems 2.4.5 as well as upgraded rubygems 2.6.6. Add this require. f9de70ee931ca4a8500916fa9480f6df6c062626 by @segiddins: > [RubygemsExt] return Source::Installed from #source when appropriate (cherry picked from commit 3b5d04700aff686e0d119d4a7df329a19323f759)
-rw-r--r--lib/bundler/rubygems_ext.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/bundler/rubygems_ext.rb b/lib/bundler/rubygems_ext.rb
index fc8eadd186..e9a7267f86 100644
--- a/lib/bundler/rubygems_ext.rb
+++ b/lib/bundler/rubygems_ext.rb
@@ -8,6 +8,16 @@ end
require "rubygems"
require "rubygems/specification"
+
+begin
+ # Possible use in Gem::Specification#source below and require
+ # shouldn't be deferred.
+ require "rubygems/source"
+rescue LoadError
+ # Not available before Rubygems 2.0.0, ignore
+ nil
+end
+
require "bundler/match_platform"
module Gem