diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-16 22:37:39 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-16 22:37:39 +0000 |
commit | a1d96c9f47653d191e3bd1172598087e722b1560 (patch) | |
tree | 480b1096e0e98d7b38e08d894e1599ed9247bccb /lib/rubygems/specification.rb | |
parent | 86c24c443068af6aa97df199664f2feb22b6c096 (diff) | |
download | ruby-a1d96c9f47653d191e3bd1172598087e722b1560.tar.gz |
* lib/rubygems: Update to RubyGems master 2abce58. Changes:
Fixed documentation generation when sdoc and json are installed as
gems.
Added some missing documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/specification.rb')
-rw-r--r-- | lib/rubygems/specification.rb | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 0bbef639ec..f63f6282d3 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -1390,16 +1390,27 @@ class Gem::Specification < Gem::BasicSpecification def build_extensions # :nodoc: return if default_gem? + return if extensions.empty? return if File.exist? gem_build_complete_path return if !File.writable?(base_dir) && !File.exist?(File.join(base_dir, 'extensions')) - gem_original_require 'rubygems/ext' - gem_original_require 'rubygems/user_interaction' - - Gem::DefaultUserInteraction.use_ui Gem::SilentUI.new do - builder = Gem::Ext::Builder.new self - builder.build_extensions + begin + # We need to require things in $LOAD_PATH without looking for the + # extension we are about to build. + unresolved_deps = Gem::Specification.unresolved_deps.dup + Gem::Specification.unresolved_deps.clear + + require 'rubygems/config_file' + require 'rubygems/ext' + require 'rubygems/user_interaction' + + Gem::DefaultUserInteraction.use_ui Gem::SilentUI.new do + builder = Gem::Ext::Builder.new self + builder.build_extensions + end + ensure + Gem::Specification.unresolved_deps.replace unresolved_deps end end |