1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/compatibility.rb
drbrain d5e810dbd2 * ChangeLog:
* lib/rubygems/basic_specification.rb (class Gem):
	* lib/rubygems/commands/contents_command.rb (prefix or only the files that are requir):
	* lib/rubygems/commands/install_command.rb (to write the specification by hand):
	* lib/rubygems/commands/setup_command.rb (class Gem):
	* lib/rubygems/commands/setup_command.rb (TEXT):
	* lib/rubygems/compatibility.rb (module Gem):
	* lib/rubygems/defaults.rb (module Gem):
	* lib/rubygems/deprecate.rb (module Gem):
	* lib/rubygems/installer.rb (class Gem):
	* lib/rubygems/platform.rb (class Gem):
	* lib/rubygems/rdoc.rb (class Gem):
	* lib/rubygems/request_set/lockfile.rb (class Gem):
	* lib/rubygems/resolver/installer_set.rb (class Gem):
	* lib/rubygems/resolver.rb (class Gem):
	* lib/rubygems/specification.rb (class Gem):
	* lib/rubygems/test_case.rb (class Gem):
	* lib/rubygems/test_case.rb (Also):
	* lib/rubygems/uninstaller.rb (class Gem):
	* lib/rubygems.rb (module Gem):
	* test/rubygems/test_gem.rb (class TestGem):
	* test/rubygems/test_gem_commands_contents_command.rb (lib):
	* test/rubygems/test_gem_commands_environment_command.rb (class TestGemCommandsEnvironmentCommand):
	* test/rubygems/test_gem_commands_install_command.rb (ERROR):
	* test/rubygems/test_gem_commands_update_command.rb (class TestGemCommandsUpdateCommand):
	* test/rubygems/test_gem_dependency_installer.rb (class TestGemDependencyInstaller):
	* test/rubygems/test_gem_installer.rb (load Gem):
	* test/rubygems/test_gem_installer.rb (gem):
	* test/rubygems/test_gem_request_set_lockfile.rb (GEM):
	* test/rubygems/test_gem_request_set_lockfile.rb (DEPENDENCIES):
	* test/rubygems/test_gem_specification.rb (dependencies):
	* test/rubygems/test_gem_specification.rb (duplicate dependency on b):
	* test/rubygems/test_gem_uninstaller.rb (class TestGemUninstaller):


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-07 01:19:28 +00:00

60 lines
1.7 KiB
Ruby

# :stopdoc:
#--
# This file contains all sorts of little compatibility hacks that we've
# had to introduce over the years. Quarantining them into one file helps
# us know when we can get rid of them.
#
# Ruby 1.9.x has introduced some things that are awkward, and we need to
# support them, so we define some constants to use later.
#++
module Gem
# Only MRI 1.9.2 has the custom prelude.
GEM_PRELUDE_SUCKAGE = RUBY_VERSION =~ /^1\.9\.2/ and RUBY_ENGINE == "ruby"
end
# Gem::QuickLoader exists in the gem prelude code in ruby 1.9.2 itself.
# We gotta get rid of it if it's there, before we do anything else.
if Gem::GEM_PRELUDE_SUCKAGE and defined?(Gem::QuickLoader) then
Gem::QuickLoader.remove
$LOADED_FEATURES.delete Gem::QuickLoader.path_to_full_rubygems_library
if $LOADED_FEATURES.any? do |path| path.end_with? '/rubygems.rb' end then
# TODO path does not exist here
raise LoadError, "another rubygems is already loaded from #{path}"
end
class << Gem
remove_method :try_activate if Gem.respond_to?(:try_activate, true)
end
end
module Gem
RubyGemsVersion = VERSION
# TODO remove at RubyGems 3
RbConfigPriorities = %w[
MAJOR
MINOR
TEENY
EXEEXT RUBY_SO_NAME arch bindir datadir libdir ruby_install_name
ruby_version rubylibprefix sitedir sitelibdir vendordir vendorlibdir
rubylibdir
]
unless defined?(ConfigMap)
##
# Configuration settings from ::RbConfig
ConfigMap = Hash.new do |cm, key| # TODO remove at RubyGems 3
cm[key] = RbConfig::CONFIG[key.to_s]
end
else
RbConfigPriorities.each do |key|
ConfigMap[key.to_sym] = RbConfig::CONFIG[key]
end
end
RubyGemsPackageVersion = VERSION
end