rubygems-update 1.3.6 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- data.tar.gz.sig +0 -0
- data/ChangeLog +86 -0
- data/History.txt +34 -1
- data/Manifest.txt +6 -1
- data/Rakefile +79 -34
- data/lib/rubygems.rb +52 -30
- data/lib/rubygems/builder.rb +2 -0
- data/lib/rubygems/command.rb +12 -0
- data/lib/rubygems/command_manager.rb +17 -12
- data/lib/rubygems/commands/contents_command.rb +1 -1
- data/lib/rubygems/commands/dependency_command.rb +3 -1
- data/lib/rubygems/commands/environment_command.rb +3 -2
- data/lib/rubygems/commands/fetch_command.rb +7 -3
- data/lib/rubygems/commands/install_command.rb +2 -1
- data/lib/rubygems/commands/query_command.rb +16 -3
- data/lib/rubygems/commands/server_command.rb +5 -3
- data/lib/rubygems/commands/setup_command.rb +1 -1
- data/lib/rubygems/commands/unpack_command.rb +35 -23
- data/lib/rubygems/commands/update_command.rb +1 -1
- data/lib/rubygems/defaults.rb +4 -6
- data/lib/rubygems/dependency.rb +32 -6
- data/lib/rubygems/dependency_installer.rb +10 -3
- data/lib/rubygems/doc_manager.rb +5 -2
- data/lib/rubygems/errors.rb +35 -0
- data/lib/rubygems/exceptions.rb +10 -1
- data/lib/rubygems/indexer.rb +1 -1
- data/lib/rubygems/installer.rb +6 -5
- data/lib/rubygems/package.rb +6 -3
- data/lib/rubygems/package/f_sync_dir.rb +4 -3
- data/lib/rubygems/package/tar_header.rb +4 -3
- data/lib/rubygems/package/tar_output.rb +4 -3
- data/lib/rubygems/package/tar_reader.rb +4 -3
- data/lib/rubygems/package/tar_writer.rb +4 -3
- data/lib/rubygems/package_task.rb +4 -3
- data/lib/rubygems/platform.rb +4 -1
- data/lib/rubygems/remote_fetcher.rb +9 -3
- data/lib/rubygems/requirement.rb +5 -0
- data/lib/rubygems/security.rb +3 -3
- data/lib/rubygems/server.rb +33 -18
- data/lib/rubygems/source_index.rb +4 -4
- data/lib/rubygems/source_info_cache.rb +4 -2
- data/lib/rubygems/spec_fetcher.rb +33 -11
- data/lib/rubygems/specification.rb +40 -32
- data/lib/rubygems/test_utilities.rb +2 -2
- data/lib/rubygems/validator.rb +3 -4
- data/lib/rubygems/version.rb +1 -1
- data/test/gem_package_tar_test_case.rb +2 -2
- data/test/gemutilities.rb +15 -9
- data/test/insure_session.rb +1 -1
- data/test/plugin/exception/rubygems_plugin.rb +2 -0
- data/test/plugin/load/rubygems_plugin.rb +1 -0
- data/test/plugin/standarderror/rubygems_plugin.rb +2 -0
- data/test/rubygems/commands/crash_command.rb +5 -0
- data/test/rubygems_plugin.rb +5 -0
- data/test/simple_gem.rb +15 -15
- data/test/test_gem.rb +45 -2
- data/test/test_gem_command_manager.rb +14 -0
- data/test/test_gem_commands_contents_command.rb +7 -5
- data/test/test_gem_commands_environment_command.rb +3 -1
- data/test/test_gem_commands_fetch_command.rb +21 -1
- data/test/test_gem_commands_install_command.rb +2 -4
- data/test/test_gem_commands_query_command.rb +33 -6
- data/test/test_gem_commands_server_command.rb +9 -2
- data/test/test_gem_commands_uninstall_command.rb +4 -2
- data/test/test_gem_commands_unpack_command.rb +46 -2
- data/test/test_gem_config_file.rb +2 -0
- data/test/test_gem_dependency.rb +11 -0
- data/test/test_gem_doc_manager.rb +1 -1
- data/test/test_gem_indexer.rb +2 -2
- data/test/test_gem_installer.rb +1 -1
- data/test/test_gem_package_tar_input.rb +1 -1
- data/test/test_gem_package_tar_writer.rb +3 -3
- data/test/test_gem_platform.rb +19 -0
- data/test/test_gem_server.rb +11 -0
- data/test/test_gem_source_index.rb +2 -2
- data/test/test_gem_spec_fetcher.rb +42 -0
- data/test/test_gem_specification.rb +46 -7
- data/util/{gem_prelude.rb.template → gem_prelude.rb} +53 -23
- metadata +16 -6
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,5 +1,91 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
|
+
2010-05-13 Eric Hodel <drbrain@segment7.net>
|
4
|
+
|
5
|
+
* lib/rubygems.rb: 1.3.7.
|
6
|
+
|
7
|
+
2010-04-30 Eric Hodel <drbrain@segment7.net>
|
8
|
+
|
9
|
+
* lib/rubygems/server.rb: Use gem_dirs, not gem_dir.
|
10
|
+
|
11
|
+
2010-04-21 Eric Hodel <drbrain@segment7.net>
|
12
|
+
|
13
|
+
* lib/rubygems.rb: 1.3.7.pre.1.
|
14
|
+
* lib/rubygems/commands/contents_command.rb: Make --prefix the
|
15
|
+
default as specified in --help. Bug #27211 by Mamoru Tasaka.
|
16
|
+
* lib/rubygems/commands/environment_command.rb: Hide gemcutter_key to
|
17
|
+
for security.
|
18
|
+
* lib/rubygems/commands/server_command.rb: Allow specification of
|
19
|
+
multiple gem dirs. Bug #27573 by Yuki Sonoda.
|
20
|
+
* lib/rubygems.rb: Require rubygems/custom_require if --disable-gem
|
21
|
+
was set. Bug #27700 by Roger Pack.
|
22
|
+
|
23
|
+
2010-04-21 Evan Phoenix <evan@fallingsnow.net>
|
24
|
+
|
25
|
+
* lib, test: Add ability to install and fetch to report that the
|
26
|
+
reason they couldn't find a gem was because all available gems can't
|
27
|
+
be used on the current platform.
|
28
|
+
|
29
|
+
2010-04-20 Eric Hodel <drbrain@segment7.net>
|
30
|
+
|
31
|
+
* lib/rubygems/specification.rb: Avoid deprecated API for YAML. Ruby
|
32
|
+
bug #3102 by Aaron Patterson.
|
33
|
+
* lib/rubygems/remote_fetcher.rb: Avoid deprecated API for URI. Ruby
|
34
|
+
bug #3103 by Aaron Patterson.
|
35
|
+
* lib/rubygems/platform.rb: Add platform support for IronRuby. Patch
|
36
|
+
#27951 by Will Green.
|
37
|
+
* lib/rubygems/commands/fetch_command.rb: Restore fetching of old
|
38
|
+
versions. Bug #27960 by Eric Hankins.
|
39
|
+
* lib/rubygems/command_manager.rb: Update documentation. Bug #28024
|
40
|
+
by Roger Pack.
|
41
|
+
* lib/rubygems/remote_fetcher.rb: Raise a better error when the host
|
42
|
+
is down. Bug #28092 by Eric Peterson.
|
43
|
+
* History.txt: Add reminder to include --user-install change in the
|
44
|
+
1.3.7 release notes. Bug #27896 by Matt Patterson.
|
45
|
+
* lib/rubygems/commands/query_command.rb: --version is only for use
|
46
|
+
with --installed. Bug #27857 by Greg Hazel.
|
47
|
+
* lib/rubygems/commands/query_command.rb: Regular output now lists
|
48
|
+
platforms. Bug #27856 by Greg Hazel.
|
49
|
+
|
50
|
+
2010-04-19 Eric Hodel <drbrain@segment7.net>
|
51
|
+
|
52
|
+
* lib, test: Stop using Gem::RubyGemsVersion
|
53
|
+
|
54
|
+
2010-04-14 James Tucker <jftucker@gmail.com>
|
55
|
+
|
56
|
+
* lib/rubygems/command_manager.rb: Now catches errors caused by command
|
57
|
+
loading. (Protect against broken plugins)
|
58
|
+
* lib/rubygems.rb: Introduce and use Gem.load_plugins, RubyGems now
|
59
|
+
protects against exceptions being raised by plugins.
|
60
|
+
|
61
|
+
2010-03-25 Eric Hodel <drbrain@segment7.net>
|
62
|
+
|
63
|
+
* lib/rubygems/builder.rb: Now requires user_interaction. Ruby
|
64
|
+
Bug #1040 by Phillip Toland.
|
65
|
+
* lib/rubygems/installer.rb: Make argument order match for
|
66
|
+
generate_windows_script. Ruby patch #825 by okkez.
|
67
|
+
* lib/rubygems/package_task.rb: Depend on the package dir like the
|
68
|
+
other package tasks.
|
69
|
+
|
70
|
+
2010-03-08 James Tucker <jftucker@gmail.com>
|
71
|
+
|
72
|
+
* lib/rubygems/remote_fetcher.rb: fetcher now retries on a read timeout.
|
73
|
+
* lib/rubygems/specification.rb: specifications loaded from file are now
|
74
|
+
evaluated with their filename to aid debugging.
|
75
|
+
|
76
|
+
2010-02-24 Eric Hodel <drbrain@segment7.net>
|
77
|
+
|
78
|
+
* lib/rubygems/commands/unpack_command.rb: `gem unpack` now unpacks
|
79
|
+
remote gems.
|
80
|
+
|
81
|
+
2010-02-23 Eric Hodel <drbrain@segment7.net>
|
82
|
+
|
83
|
+
* lib/rubygems/dependency.rb: Support #version_requirements= with a
|
84
|
+
warning. Bug #27868 by Wei Jen Lu.
|
85
|
+
* lib/rubygems/installer.rb: Fix `gem unpack`. Bug #27872 by Timothy
|
86
|
+
Jones.
|
87
|
+
* lib, test: Import changes from ruby trunk.
|
88
|
+
|
3
89
|
2010-02-20 Eric Hodel <drbrain@segment7.net>
|
4
90
|
|
5
91
|
* lib/rubygems.rb: 1.3.6.
|
data/History.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
=== 1.3.
|
1
|
+
=== 1.3.7 / 2010-05-13
|
2
2
|
|
3
3
|
NOTE:
|
4
4
|
|
@@ -11,6 +11,39 @@ http://gems.rubyforge.org will continue to work for the forseeable future.
|
|
11
11
|
|
12
12
|
New features:
|
13
13
|
|
14
|
+
* `gem` commands
|
15
|
+
* `gem install` and `gem fetch` now report alternate platforms when a
|
16
|
+
matching one couldn't be found.
|
17
|
+
* `gem contents` --prefix is now the default as specified in --help. Bug
|
18
|
+
#27211 by Mamoru Tasaka.
|
19
|
+
* `gem fetch` can fetch of old versions again. Bug #27960 by Eric Hankins.
|
20
|
+
* `gem query` and friends output now lists platforms. Bug #27856 by Greg
|
21
|
+
Hazel.
|
22
|
+
* `gem server` now allows specification of multiple gem dirs for
|
23
|
+
documentation. Bug #27573 by Yuki Sonoda.
|
24
|
+
* `gem unpack` can unpack gems again. Bug #27872 by Timothy Jones.
|
25
|
+
* `gem unpack` now unpacks remote gems.
|
26
|
+
* --user-install is no longer the default. If you really liked it, see
|
27
|
+
Gem::ConfigFile to learn how to set it by default. (This change was made
|
28
|
+
in 1.3.6)
|
29
|
+
* RubyGems now has platform support for IronRuby. Patch #27951 by Will Green.
|
30
|
+
|
31
|
+
Bug fixes:
|
32
|
+
|
33
|
+
* Require rubygems/custom_require if --disable-gem was set. Bug #27700 by
|
34
|
+
Roger Pack.
|
35
|
+
* RubyGems now protects against exceptions being raised by plugins.
|
36
|
+
* rubygems/builder now requires user_interaction. Ruby Bug #1040 by Phillip
|
37
|
+
Toland.
|
38
|
+
* Gem::Dependency support #version_requirements= with a warning. Fix for old
|
39
|
+
Rails versions. Bug #27868 by Wei Jen Lu.
|
40
|
+
* Gem::PackageTask depends on the package dir like the other rake package
|
41
|
+
tasks so dependencies can be hooked up correctly.
|
42
|
+
|
43
|
+
=== 1.3.6 / 2010-02-17
|
44
|
+
|
45
|
+
New features:
|
46
|
+
|
14
47
|
* `gem` commands
|
15
48
|
* Added `gem push` and `gem owner` for interacting with modern/Gemcutter
|
16
49
|
sources
|
data/Manifest.txt
CHANGED
@@ -54,6 +54,7 @@ lib/rubygems/dependency.rb
|
|
54
54
|
lib/rubygems/dependency_installer.rb
|
55
55
|
lib/rubygems/dependency_list.rb
|
56
56
|
lib/rubygems/doc_manager.rb
|
57
|
+
lib/rubygems/errors.rb
|
57
58
|
lib/rubygems/exceptions.rb
|
58
59
|
lib/rubygems/ext.rb
|
59
60
|
lib/rubygems/ext/builder.rb
|
@@ -112,8 +113,12 @@ test/gem_package_tar_test_case.rb
|
|
112
113
|
test/gemutilities.rb
|
113
114
|
test/insure_session.rb
|
114
115
|
test/mockgemui.rb
|
116
|
+
test/plugin/exception/rubygems_plugin.rb
|
117
|
+
test/plugin/load/rubygems_plugin.rb
|
118
|
+
test/plugin/standarderror/rubygems_plugin.rb
|
115
119
|
test/private_key.pem
|
116
120
|
test/public_cert.pem
|
121
|
+
test/rubygems/commands/crash_command.rb
|
117
122
|
test/rubygems_plugin.rb
|
118
123
|
test/simple_gem.rb
|
119
124
|
test/test_config.rb
|
@@ -183,4 +188,4 @@ test/test_gem_version.rb
|
|
183
188
|
test/test_gem_version_option.rb
|
184
189
|
test/test_kernel.rb
|
185
190
|
util/CL2notes
|
186
|
-
util/gem_prelude.rb
|
191
|
+
util/gem_prelude.rb
|
data/Rakefile
CHANGED
@@ -27,9 +27,9 @@ hoe = Hoe.spec 'rubygems-update' do
|
|
27
27
|
'data__',
|
28
28
|
'html',
|
29
29
|
'logs',
|
30
|
+
'graph.dot',
|
30
31
|
'pkgs/sources/sources*.gem',
|
31
|
-
'scripts/*.hieraki'
|
32
|
-
'util/gem_prelude.rb')
|
32
|
+
'scripts/*.hieraki')
|
33
33
|
|
34
34
|
extra_dev_deps << ['builder', '~> 2.1']
|
35
35
|
extra_dev_deps << ['hoe-seattlerb', '~> 1.2']
|
@@ -64,10 +64,18 @@ task :scrub_dev_deps do
|
|
64
64
|
hoe.spec.dependencies.reject! { |d| :development == d.type }
|
65
65
|
end
|
66
66
|
|
67
|
-
task :
|
68
|
-
:test, :package, :tag]
|
67
|
+
task :prerelease => [:clobber, :sanity_check, :test, :test_functional]
|
69
68
|
|
70
|
-
|
69
|
+
task :postrelease => [:tag, :publish_docs]
|
70
|
+
|
71
|
+
Rake::Task[:release_to_rubyforge].clear_actions
|
72
|
+
|
73
|
+
task :release_to_rubyforge do
|
74
|
+
files = Dir["pkg/rubygems-update*.gem"]
|
75
|
+
rf = RubyForge.new.configure
|
76
|
+
rf.login
|
77
|
+
rf.add_file hoe.rubyforge_name, hoe.rubyforge_name, hoe.version, files.first
|
78
|
+
end
|
71
79
|
|
72
80
|
pkg_dir_path = "pkg/rubygems-update-#{hoe.version}"
|
73
81
|
task pkg_dir_path do
|
@@ -85,38 +93,50 @@ task :sanity_check do
|
|
85
93
|
abort "svn status dirty. commit or revert them" unless `svn st`.empty?
|
86
94
|
end
|
87
95
|
|
88
|
-
task :tag =>
|
89
|
-
reltag = "REL_#{
|
96
|
+
task :tag => :sanity_check do
|
97
|
+
reltag = "REL_#{Gem::VERSION.gsub(/\./, '_')}"
|
90
98
|
svn_url = "svn+ssh://rubyforge.org/var/svn/rubygems"
|
91
99
|
sh %{svn copy #{svn_url}/trunk #{svn_url}/tags/#{reltag}}
|
92
100
|
end
|
93
101
|
|
94
102
|
# Misc Tasks ---------------------------------------------------------
|
95
103
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
gem_prelude = File.read 'util/gem_prelude.rb.template'
|
100
|
-
defaults = File.read 'lib/rubygems/defaults.rb'
|
101
|
-
|
102
|
-
raise 'template error' unless defaults.sub!(/^module Gem\n/, '')
|
103
|
-
raise 'template error' unless defaults.sub!(/^end\n/, '')
|
104
|
+
# Git mirror support. You probably don't need to care about
|
105
|
+
# these. Don't run 'em unless you have a John-style git-svn setup
|
106
|
+
# pointed at a valid, pushable Git remote called "origin".
|
104
107
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
raise 'template error' unless
|
110
|
-
gem_prelude.sub!(/^# WARN\n/,
|
111
|
-
"# THIS FILE WAS AUTOGENERATED, DO NOT EDIT\n")
|
112
|
-
raise 'template error' unless
|
113
|
-
gem_prelude.sub!(/^ # INCLUDE rubygems\/defaults\n/, defaults)
|
114
|
-
|
115
|
-
rm_f 'util/gem_prelude.rb'
|
108
|
+
namespace :git do
|
109
|
+
namespace :svn do
|
110
|
+
task(:fetch) { sh "git svn fetch" }
|
111
|
+
end
|
116
112
|
|
117
|
-
|
118
|
-
|
119
|
-
|
113
|
+
task :sync => %w(svn:fetch sync:branches sync:tags)
|
114
|
+
|
115
|
+
namespace :sync do
|
116
|
+
task :branches do
|
117
|
+
{
|
118
|
+
"trunk" => "master",
|
119
|
+
}.each do |svn, git|
|
120
|
+
sh "git push origin svn/#{svn}:#{git}"
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
task :tags do
|
125
|
+
old = `git tag`
|
126
|
+
tags = `git for-each-ref refs/remotes/svn/tags`.split "\n"
|
127
|
+
tagged = false
|
128
|
+
|
129
|
+
tags.each do |tag|
|
130
|
+
next unless /(REL_.*)$/ =~ tag
|
131
|
+
name, sha, _, sym = $1, *tag.split(/\s/)
|
132
|
+
|
133
|
+
next if /#{name}/ =~ old
|
134
|
+
sh "git tag -f '#{name}' #{sha}"
|
135
|
+
tagged = true
|
136
|
+
end
|
137
|
+
|
138
|
+
sh "git push --tags" if tagged
|
139
|
+
end
|
120
140
|
end
|
121
141
|
end
|
122
142
|
|
@@ -131,7 +151,7 @@ end
|
|
131
151
|
|
132
152
|
def rsync_with dir
|
133
153
|
rsync_options = "-avP --exclude '*svn*' --exclude '*swp' --exclude '*rbc'" +
|
134
|
-
"--exclude '*.rej' --exclude '*.orig' --exclude 'lib/rubygems/defaults/*'"
|
154
|
+
" --exclude '*.rej' --exclude '*.orig' --exclude 'lib/rubygems/defaults/*'"
|
135
155
|
sh "rsync #{rsync_options} bin/gem #{dir}/bin/gem"
|
136
156
|
sh "rsync #{rsync_options} lib/ #{dir}/lib"
|
137
157
|
sh "rsync #{rsync_options} test/ #{dir}/test/rubygems"
|
@@ -153,22 +173,22 @@ rubinius_dir = ENV['RUBINIUS_PATH'] || '../../../git/git.rubini.us/code'
|
|
153
173
|
ruby_dir = ENV['RUBY_PATH'] || '../../ruby/trunk'
|
154
174
|
|
155
175
|
desc "Updates Ruby HEAD with the currently checked-out copy of RubyGems."
|
156
|
-
task :update_ruby
|
176
|
+
task :update_ruby do
|
157
177
|
rsync_with ruby_dir
|
158
178
|
end
|
159
179
|
|
160
180
|
desc "Updates Rubinius HEAD with the currently checked-out copy of RubyGems."
|
161
|
-
task :update_rubinius
|
181
|
+
task :update_rubinius do
|
162
182
|
rsync_with rubinius_dir
|
163
183
|
end
|
164
184
|
|
165
185
|
desc "Diffs Ruby HEAD with the currently checked-out copy of RubyGems."
|
166
|
-
task :diff_ruby
|
186
|
+
task :diff_ruby do
|
167
187
|
diff_with ruby_dir
|
168
188
|
end
|
169
189
|
|
170
190
|
desc "Diffs Rubinius HEAD with the currently checked-out copy of RubyGems."
|
171
|
-
task :diff_rubinius
|
191
|
+
task :diff_rubinius do
|
172
192
|
diff_with rubinius_dir
|
173
193
|
end
|
174
194
|
|
@@ -193,3 +213,28 @@ task "rcov:for", [:test] do |task, args|
|
|
193
213
|
|
194
214
|
ruby "#{flags.join ' '} #{rcov} #{rflags.join ' '} #{args[:test]}"
|
195
215
|
end
|
216
|
+
|
217
|
+
task :graph do
|
218
|
+
$: << File.expand_path("~/Work/p4/zss/src/graph/dev/lib")
|
219
|
+
require 'graph'
|
220
|
+
deps = Graph.new
|
221
|
+
deps.rotate
|
222
|
+
|
223
|
+
current = nil
|
224
|
+
`rake -P -s`.each_line do |line|
|
225
|
+
case line
|
226
|
+
when /^rake (.+)/
|
227
|
+
current = $1
|
228
|
+
deps[current] if current # force the node to exist, in case of a leaf
|
229
|
+
when /^\s+(.+)/
|
230
|
+
deps[current] << $1 if current
|
231
|
+
else
|
232
|
+
warn "unparsed: #{line.chomp}"
|
233
|
+
end
|
234
|
+
end
|
235
|
+
|
236
|
+
|
237
|
+
deps.boxes
|
238
|
+
deps.save "graph", nil
|
239
|
+
end
|
240
|
+
|
data/lib/rubygems.rb
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
# See LICENSE.txt for permissions.
|
6
6
|
#++
|
7
7
|
|
8
|
+
gem_disabled = !defined? Gem
|
9
|
+
|
8
10
|
require 'rubygems/defaults'
|
9
11
|
require 'thread'
|
10
12
|
require 'etc'
|
@@ -98,7 +100,7 @@ require 'etc'
|
|
98
100
|
# -The RubyGems Team
|
99
101
|
|
100
102
|
module Gem
|
101
|
-
RubyGemsVersion = VERSION = '1.3.
|
103
|
+
RubyGemsVersion = VERSION = '1.3.7'
|
102
104
|
|
103
105
|
##
|
104
106
|
# Raised when RubyGems is unable to load or activate a gem. Contains the
|
@@ -129,6 +131,7 @@ module Gem
|
|
129
131
|
:libdir => RbConfig::CONFIG["libdir"],
|
130
132
|
:ruby_install_name => RbConfig::CONFIG["ruby_install_name"],
|
131
133
|
:ruby_version => RbConfig::CONFIG["ruby_version"],
|
134
|
+
:rubylibprefix => RbConfig::CONFIG["rubylibprefix"],
|
132
135
|
:sitedir => RbConfig::CONFIG["sitedir"],
|
133
136
|
:sitelibdir => RbConfig::CONFIG["sitelibdir"],
|
134
137
|
:vendordir => RbConfig::CONFIG["vendordir"] ,
|
@@ -143,7 +146,7 @@ module Gem
|
|
143
146
|
# :stopdoc:
|
144
147
|
MUTEX = Mutex.new
|
145
148
|
|
146
|
-
RubyGemsPackageVersion =
|
149
|
+
RubyGemsPackageVersion = VERSION
|
147
150
|
# :startdoc:
|
148
151
|
|
149
152
|
##
|
@@ -253,8 +256,6 @@ module Gem
|
|
253
256
|
File.join spec.full_gem_path, path
|
254
257
|
end
|
255
258
|
|
256
|
-
sitelibdir = ConfigMap[:sitelibdir]
|
257
|
-
|
258
259
|
# gem directories must come after -I and ENV['RUBYLIB']
|
259
260
|
insert_index = load_path_insert_index
|
260
261
|
|
@@ -311,8 +312,8 @@ module Gem
|
|
311
312
|
##
|
312
313
|
# Find the full path to the executable for gem +name+. If the +exec_name+
|
313
314
|
# is not given, the gem's default_executable is chosen, otherwise the
|
314
|
-
#
|
315
|
-
# to specify specific gem versions.
|
315
|
+
# specified executable's path is returned. +version_requirements+ allows
|
316
|
+
# you to specify specific gem versions.
|
316
317
|
|
317
318
|
def self.bin_path(name, exec_name = nil, *version_requirements)
|
318
319
|
version_requirements = Gem::Requirement.default if
|
@@ -341,7 +342,7 @@ module Gem
|
|
341
342
|
# The mode needed to read a file as straight binary.
|
342
343
|
|
343
344
|
def self.binary_mode
|
344
|
-
|
345
|
+
'rb'
|
345
346
|
end
|
346
347
|
|
347
348
|
##
|
@@ -699,14 +700,15 @@ module Gem
|
|
699
700
|
# The directory prefix this RubyGems was installed at.
|
700
701
|
|
701
702
|
def self.prefix
|
702
|
-
|
703
|
+
dir = File.dirname File.expand_path(__FILE__)
|
704
|
+
prefix = File.dirname dir
|
703
705
|
|
704
|
-
if
|
705
|
-
|
706
|
-
'lib' != File.basename(
|
706
|
+
if prefix == File.expand_path(ConfigMap[:sitelibdir]) or
|
707
|
+
prefix == File.expand_path(ConfigMap[:libdir]) or
|
708
|
+
'lib' != File.basename(dir) then
|
707
709
|
nil
|
708
710
|
else
|
709
|
-
|
711
|
+
prefix
|
710
712
|
end
|
711
713
|
end
|
712
714
|
|
@@ -974,6 +976,28 @@ module Gem
|
|
974
976
|
@@win_platform
|
975
977
|
end
|
976
978
|
|
979
|
+
##
|
980
|
+
# Find all 'rubygems_plugin' files and load them
|
981
|
+
|
982
|
+
def self.load_plugins
|
983
|
+
plugins = Gem.find_files 'rubygems_plugin'
|
984
|
+
|
985
|
+
plugins.each do |plugin|
|
986
|
+
|
987
|
+
# Skip older versions of the GemCutter plugin: Its commands are in
|
988
|
+
# RubyGems proper now.
|
989
|
+
|
990
|
+
next if plugin =~ /gemcutter-0\.[0-3]/
|
991
|
+
|
992
|
+
begin
|
993
|
+
load plugin
|
994
|
+
rescue ::Exception => e
|
995
|
+
details = "#{plugin.inspect}: #{e.message} (#{e.class})"
|
996
|
+
warn "Error loading RubyGems plugin #{details}"
|
997
|
+
end
|
998
|
+
end
|
999
|
+
end
|
1000
|
+
|
977
1001
|
class << self
|
978
1002
|
|
979
1003
|
##
|
@@ -1024,6 +1048,8 @@ end
|
|
1024
1048
|
|
1025
1049
|
module Kernel
|
1026
1050
|
|
1051
|
+
undef gem if respond_to? :gem # defined in gem_prelude.rb on 1.9
|
1052
|
+
|
1027
1053
|
##
|
1028
1054
|
# Use Kernel#gem to activate a specific version of +gem_name+.
|
1029
1055
|
#
|
@@ -1081,12 +1107,18 @@ require 'rubygems/platform'
|
|
1081
1107
|
require 'rubygems/builder' # HACK: Needed for rake's package task.
|
1082
1108
|
|
1083
1109
|
begin
|
1110
|
+
##
|
1111
|
+
# Defaults the operating system (or packager) wants to provide for RubyGems.
|
1112
|
+
|
1084
1113
|
require 'rubygems/defaults/operating_system'
|
1085
1114
|
rescue LoadError
|
1086
1115
|
end
|
1087
1116
|
|
1088
1117
|
if defined?(RUBY_ENGINE) then
|
1089
1118
|
begin
|
1119
|
+
##
|
1120
|
+
# Defaults the ruby implementation wants to provide for RubyGems
|
1121
|
+
|
1090
1122
|
require "rubygems/defaults/#{RUBY_ENGINE}"
|
1091
1123
|
rescue LoadError
|
1092
1124
|
end
|
@@ -1094,25 +1126,15 @@ end
|
|
1094
1126
|
|
1095
1127
|
require 'rubygems/config_file'
|
1096
1128
|
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
plugins = Gem.find_files 'rubygems_plugin'
|
1104
|
-
|
1105
|
-
plugins.each do |plugin|
|
1129
|
+
##
|
1130
|
+
# Enables the require hook for RubyGems.
|
1131
|
+
#
|
1132
|
+
# Ruby 1.9 allows --disable-gems, so we require it when we didn't detect a Gem
|
1133
|
+
# constant at rubygems.rb load time.
|
1106
1134
|
|
1107
|
-
|
1108
|
-
# RubyGems proper now.
|
1135
|
+
require 'rubygems/custom_require' if gem_disabled or RUBY_VERSION < '1.9'
|
1109
1136
|
|
1110
|
-
|
1137
|
+
Gem.clear_paths
|
1111
1138
|
|
1112
|
-
|
1113
|
-
load plugin
|
1114
|
-
rescue => e
|
1115
|
-
warn "error loading #{plugin.inspect}: #{e.message} (#{e.class})"
|
1116
|
-
end
|
1117
|
-
end
|
1139
|
+
Gem.load_plugins
|
1118
1140
|
|