aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/specification.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 22:37:39 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 22:37:39 +0000
commita1d96c9f47653d191e3bd1172598087e722b1560 (patch)
tree480b1096e0e98d7b38e08d894e1599ed9247bccb /lib/rubygems/specification.rb
parent86c24c443068af6aa97df199664f2feb22b6c096 (diff)
downloadruby-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.rb23
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