rubygems-update 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.txt +11 -0
- data/Rakefile +177 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/commands/fetch_command.rb +4 -2
- data/lib/rubygems/core_ext/kernel_require.rb +24 -4
- data/lib/rubygems/installer.rb +2 -2
- data/test/rubygems/test_gem_commands_fetch_command.rb +28 -2
- data/test/rubygems/test_gem_installer.rb +76 -51
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e3ed90822286092f8c037656b97f1b4ed222380
|
4
|
+
data.tar.gz: c4d5567bdb949f2a8faa021ddaef8e39b25238c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46210a272d8b29be4bd5110d8ba01bf6fbf6d22ef90e66e6aa672d13fbfe465ec65b8a2b03d66a86808f0900e76372a9a84190d26f1b387b15ce54e478b6c9c7
|
7
|
+
data.tar.gz: 65ca08d935214dd203915cf73a5893a67ecdc3e00c18d1621942f57ca68202b294f42648e6c72dc588752e907fe94712c4f8bf30c7082f3fe5a659918c5b1e12
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# coding: UTF-8
|
2
2
|
|
3
|
+
=== 2.1.2 / 2013-09-11
|
4
|
+
|
5
|
+
Bug fixes:
|
6
|
+
|
7
|
+
* Restore concurrent requires following the fix for ruby bug #8374. Pull
|
8
|
+
request #637 and issue #640 by Charles Nutter.
|
9
|
+
* Gems with extensions are now installed correctly when the --install-dir
|
10
|
+
option is used. Issue #642 by Lin Jen-Shin.
|
11
|
+
* Gem fetch now fetches the newest (not oldest) gem when --version is given.
|
12
|
+
Issue #643 by Brian Shirai.
|
13
|
+
|
3
14
|
=== 2.1.1 / 2013-09-10
|
4
15
|
|
5
16
|
Bug fixes:
|
data/Rakefile
CHANGED
@@ -106,7 +106,7 @@ task :test => :clean_env
|
|
106
106
|
|
107
107
|
task :prerelease => [:clobber, :check_manifest, :test]
|
108
108
|
|
109
|
-
task :postrelease => %w[upload publish_docs]
|
109
|
+
task :postrelease => %w[upload guides:publish blog:publish publish_docs]
|
110
110
|
|
111
111
|
pkg_dir_path = "pkg/rubygems-update-#{hoe.version}"
|
112
112
|
task :package do
|
@@ -126,6 +126,182 @@ end
|
|
126
126
|
desc "Upload release to rubyforge and gemcutter"
|
127
127
|
task :upload => %w[upload_to_gemcutter]
|
128
128
|
|
129
|
+
directory '../guides.rubygems.org' do
|
130
|
+
sh 'git', 'clone',
|
131
|
+
'git@github.com:rubygems/guides.git',
|
132
|
+
'../guides.rubygems.org'
|
133
|
+
end
|
134
|
+
|
135
|
+
namespace 'guides' do
|
136
|
+
task 'pull' => %w[../guides.rubygems.org] do
|
137
|
+
chdir '../guides.rubygems.org' do
|
138
|
+
sh 'git', 'pull'
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
task 'update' => %w[../guides.rubygems.org] do
|
143
|
+
lib_dir = File.join Dir.pwd, 'lib'
|
144
|
+
|
145
|
+
chdir '../guides.rubygems.org' do
|
146
|
+
ruby '-I', lib_dir, '-S', 'rake', 'command_guide'
|
147
|
+
ruby '-I', lib_dir, '-S', 'rake', 'rdoc_spec'
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
task 'commit' => %w[../guides.rubygems.org] do
|
152
|
+
chdir '../guides.rubygems.org' do
|
153
|
+
begin
|
154
|
+
sh 'git', 'diff', '--quiet'
|
155
|
+
rescue
|
156
|
+
sh 'git', 'commit', 'command-reference.md', 'specification-reference.md',
|
157
|
+
'-m', "Rebuild for RubyGems #{hoe.version}"
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
task 'push' => %w[../guides.rubygems.org] do
|
163
|
+
chdir '../guides.rubygems.org' do
|
164
|
+
sh 'git', 'push'
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
desc 'Updates and publishes the guides for the just-released RubyGems'
|
169
|
+
task 'publish' => %w[
|
170
|
+
guides:pull
|
171
|
+
guides:update
|
172
|
+
guides:commit
|
173
|
+
guides:push
|
174
|
+
]
|
175
|
+
end
|
176
|
+
|
177
|
+
directory '../blog.rubygems.org' do
|
178
|
+
sh 'git', 'clone',
|
179
|
+
'git@github.com:rubygems/rubygems.github.com.git',
|
180
|
+
'../blog.rubygems.org'
|
181
|
+
end
|
182
|
+
|
183
|
+
namespace 'blog' do
|
184
|
+
date = Time.now.strftime '%Y-%m-%d'
|
185
|
+
post_page = "_posts/#{date}-#{hoe.version}-released.md"
|
186
|
+
|
187
|
+
task 'pull' => %w[../blog.rubygems.org] do
|
188
|
+
chdir '../blog.rubygems.org' do
|
189
|
+
sh 'git', 'pull'
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
path = File.join '../blog.rubygems.org', post_page
|
194
|
+
|
195
|
+
task 'update' => [path]
|
196
|
+
|
197
|
+
file path do
|
198
|
+
name = `git config --get user.name`.strip
|
199
|
+
email = `git config --get user.email`.strip
|
200
|
+
|
201
|
+
history = File.read 'History.txt'
|
202
|
+
|
203
|
+
history.force_encoding Encoding::UTF_8 if Object.const_defined? :Encoding
|
204
|
+
|
205
|
+
_, change_log, = history.split %r%^===\s*\d.*%, 3
|
206
|
+
|
207
|
+
change_types = []
|
208
|
+
|
209
|
+
lines = change_log.strip.lines
|
210
|
+
change_log = []
|
211
|
+
|
212
|
+
while line = lines.shift do
|
213
|
+
case line
|
214
|
+
when /(^[A-Z].*)/ then
|
215
|
+
change_types << $1
|
216
|
+
change_log << "_#{$1}_\n"
|
217
|
+
when /^\*/ then
|
218
|
+
entry = [line.strip]
|
219
|
+
|
220
|
+
while /^ \S/ =~ lines.first do
|
221
|
+
entry << lines.shift.strip
|
222
|
+
end
|
223
|
+
|
224
|
+
change_log << "#{entry.join ' '}\n"
|
225
|
+
else
|
226
|
+
change_log << line
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
change_log = change_log.join
|
231
|
+
|
232
|
+
change_types = change_types.map do |change_type|
|
233
|
+
change_type.downcase.tr '^a-z ', ''
|
234
|
+
end
|
235
|
+
|
236
|
+
last_change_type = change_types.pop
|
237
|
+
|
238
|
+
if change_types.empty? then
|
239
|
+
change_types = ''
|
240
|
+
else
|
241
|
+
change_types = change_types.join(', ') << ' and '
|
242
|
+
end
|
243
|
+
|
244
|
+
change_types << last_change_type
|
245
|
+
|
246
|
+
require 'tempfile'
|
247
|
+
|
248
|
+
Tempfile.open 'blog_post' do |io|
|
249
|
+
io.write <<-ANNOUNCEMENT
|
250
|
+
---
|
251
|
+
title: #{hoe.version} Released
|
252
|
+
layout: post
|
253
|
+
author: #{name}
|
254
|
+
author_email: #{email}
|
255
|
+
---
|
256
|
+
|
257
|
+
RubyGems #{hoe.version} includes #{change_types}.
|
258
|
+
|
259
|
+
To update to the latest RubyGems you can run:
|
260
|
+
|
261
|
+
gem update --system
|
262
|
+
|
263
|
+
If you need to upgrade or downgrade please follow the [how to upgrade/downgrade
|
264
|
+
RubyGems][upgrading] instructions. To install RubyGems by hand see the
|
265
|
+
[Download RubyGems][download] page.
|
266
|
+
|
267
|
+
#{change_log}
|
268
|
+
|
269
|
+
[download]: http://rubygems.org/pages/download
|
270
|
+
[upgrading]: http://rubygems.rubyforge.org/rubygems-update/UPGRADING_rdoc.html
|
271
|
+
|
272
|
+
ANNOUNCEMENT
|
273
|
+
|
274
|
+
io.flush
|
275
|
+
|
276
|
+
sh ENV['EDITOR'], io.path
|
277
|
+
|
278
|
+
FileUtils.cp io.path, path
|
279
|
+
end
|
280
|
+
end
|
281
|
+
|
282
|
+
task 'commit' => %w[../blog.rubygems.org] do
|
283
|
+
chdir '../blog.rubygems.org' do
|
284
|
+
sh 'git', 'add', post_page
|
285
|
+
sh 'git', 'commit', post_page,
|
286
|
+
'-m', "Added #{hoe.version} release announcement"
|
287
|
+
end
|
288
|
+
end
|
289
|
+
|
290
|
+
task 'push' => %w[../blog.rubygems.org] do
|
291
|
+
chdir '../blog.rubygems.org' do
|
292
|
+
sh 'git', 'push'
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
296
|
+
desc 'Updates and publishes the blog for the just-released RubyGems'
|
297
|
+
task 'publish' => %w[
|
298
|
+
blog:pull
|
299
|
+
blog:update
|
300
|
+
blog:commit
|
301
|
+
blog:push
|
302
|
+
]
|
303
|
+
end
|
304
|
+
|
129
305
|
# Misc Tasks ---------------------------------------------------------
|
130
306
|
|
131
307
|
# These tasks expect to have the following directory structure:
|
data/lib/rubygems.rb
CHANGED
@@ -52,13 +52,15 @@ then repackaging it.
|
|
52
52
|
dep = Gem::Dependency.new gem_name, version
|
53
53
|
dep.prerelease = options[:prerelease]
|
54
54
|
|
55
|
-
specs_and_sources, errors =
|
55
|
+
specs_and_sources, errors =
|
56
|
+
Gem::SpecFetcher.fetcher.spec_for_dependency dep
|
57
|
+
|
56
58
|
if platform then
|
57
59
|
filtered = specs_and_sources.select { |s,| s.platform == platform }
|
58
60
|
specs_and_sources = filtered unless filtered.empty?
|
59
61
|
end
|
60
62
|
|
61
|
-
spec, source = specs_and_sources.
|
63
|
+
spec, source = specs_and_sources.max_by { |s,| s.version }
|
62
64
|
|
63
65
|
if spec.nil? then
|
64
66
|
show_lookup_failure gem_name, version, errors, options[:domain]
|
@@ -48,7 +48,12 @@ module Kernel
|
|
48
48
|
# normal require handle loading a gem from the rescue below.
|
49
49
|
|
50
50
|
if Gem::Specification.unresolved_deps.empty? then
|
51
|
-
|
51
|
+
begin
|
52
|
+
RUBYGEMS_ACTIVATION_MONITOR.exit
|
53
|
+
return gem_original_require(path)
|
54
|
+
ensure
|
55
|
+
RUBYGEMS_ACTIVATION_MONITOR.enter
|
56
|
+
end
|
52
57
|
end
|
53
58
|
|
54
59
|
# If +path+ is for a gem that has already been loaded, don't
|
@@ -61,7 +66,12 @@ module Kernel
|
|
61
66
|
s.activated? and s.contains_requirable_file? path
|
62
67
|
}
|
63
68
|
|
64
|
-
|
69
|
+
begin
|
70
|
+
RUBYGEMS_ACTIVATION_MONITOR.exit
|
71
|
+
return gem_original_require(path)
|
72
|
+
ensure
|
73
|
+
RUBYGEMS_ACTIVATION_MONITOR.enter
|
74
|
+
end if spec
|
65
75
|
|
66
76
|
# Attempt to find +path+ in any unresolved gems...
|
67
77
|
|
@@ -109,11 +119,21 @@ module Kernel
|
|
109
119
|
valid.activate
|
110
120
|
end
|
111
121
|
|
112
|
-
|
122
|
+
begin
|
123
|
+
RUBYGEMS_ACTIVATION_MONITOR.exit
|
124
|
+
return gem_original_require(path)
|
125
|
+
ensure
|
126
|
+
RUBYGEMS_ACTIVATION_MONITOR.enter
|
127
|
+
end
|
113
128
|
rescue LoadError => load_error
|
114
129
|
if load_error.message.start_with?("Could not find") or
|
115
130
|
(load_error.message.end_with?(path) and Gem.try_activate(path)) then
|
116
|
-
|
131
|
+
begin
|
132
|
+
RUBYGEMS_ACTIVATION_MONITOR.exit
|
133
|
+
return gem_original_require(path)
|
134
|
+
ensure
|
135
|
+
RUBYGEMS_ACTIVATION_MONITOR.enter
|
136
|
+
end
|
117
137
|
end
|
118
138
|
|
119
139
|
raise load_error
|
data/lib/rubygems/installer.rb
CHANGED
@@ -213,6 +213,8 @@ class Gem::Installer
|
|
213
213
|
|
214
214
|
FileUtils.mkdir_p gem_dir
|
215
215
|
|
216
|
+
spec.loaded_from = spec_file
|
217
|
+
|
216
218
|
if @options[:install_as_default]
|
217
219
|
extract_bin
|
218
220
|
write_default_spec
|
@@ -230,8 +232,6 @@ class Gem::Installer
|
|
230
232
|
|
231
233
|
say spec.post_install_message unless spec.post_install_message.nil?
|
232
234
|
|
233
|
-
spec.loaded_from = spec_file
|
234
|
-
|
235
235
|
Gem::Specification.add_spec spec unless Gem::Specification.include? spec
|
236
236
|
|
237
237
|
run_post_install_hooks
|
@@ -34,6 +34,32 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
34
34
|
'gem repository directories must not be created'
|
35
35
|
end
|
36
36
|
|
37
|
+
def test_execute_latest
|
38
|
+
util_setup_fake_fetcher
|
39
|
+
util_setup_spec_fetcher @a1, @a2
|
40
|
+
|
41
|
+
@fetcher.data["#{@gem_repo}gems/#{@a1.file_name}"] =
|
42
|
+
File.read(@a1.cache_file)
|
43
|
+
@fetcher.data["#{@gem_repo}gems/#{@a2.file_name}"] =
|
44
|
+
File.read(@a2.cache_file)
|
45
|
+
|
46
|
+
refute_path_exists File.join(@tempdir, 'cache'), 'sanity check'
|
47
|
+
|
48
|
+
@cmd.options[:args] = [@a2.name]
|
49
|
+
@cmd.options[:version] = req('>= 0.1')
|
50
|
+
|
51
|
+
use_ui @ui do
|
52
|
+
Dir.chdir @tempdir do
|
53
|
+
@cmd.execute
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
assert_path_exists(File.join(@tempdir, @a2.file_name),
|
58
|
+
"#{@a2.full_name} not fetched")
|
59
|
+
refute_path_exists File.join(@tempdir, 'cache'),
|
60
|
+
'gem repository directories must not be created'
|
61
|
+
end
|
62
|
+
|
37
63
|
def test_execute_prerelease
|
38
64
|
util_setup_fake_fetcher true
|
39
65
|
util_clear_gems
|
@@ -53,8 +79,8 @@ class TestGemCommandsFetchCommand < Gem::TestCase
|
|
53
79
|
end
|
54
80
|
end
|
55
81
|
|
56
|
-
assert_path_exists(File.join(@tempdir, @
|
57
|
-
"#{@
|
82
|
+
assert_path_exists(File.join(@tempdir, @a2.file_name),
|
83
|
+
"#{@a2.full_name} not fetched")
|
58
84
|
end
|
59
85
|
|
60
86
|
def test_execute_specific_prerelease
|
@@ -73,7 +73,7 @@ load Gem.bin_path('a', 'executable', version)
|
|
73
73
|
@installer.generate_bin
|
74
74
|
|
75
75
|
installed_exec = File.join util_inst_bindir, 'executable'
|
76
|
-
|
76
|
+
assert_path_exists installed_exec
|
77
77
|
|
78
78
|
wrapper = File.read installed_exec
|
79
79
|
assert_match %r|generated by RubyGems|, wrapper
|
@@ -136,7 +136,7 @@ gem 'other', version
|
|
136
136
|
@installer.generate_bin # should not raise
|
137
137
|
|
138
138
|
installed_exec = File.join util_inst_bindir, 'foo-executable-bar'
|
139
|
-
|
139
|
+
assert_path_exists installed_exec
|
140
140
|
|
141
141
|
wrapper = File.read installed_exec
|
142
142
|
assert_match %r|generated by RubyGems|, wrapper
|
@@ -165,7 +165,7 @@ gem 'other', version
|
|
165
165
|
@installer.generate_bin
|
166
166
|
|
167
167
|
installed_exec = File.join util_inst_bindir, 'executable'
|
168
|
-
|
168
|
+
assert_path_exists installed_exec
|
169
169
|
|
170
170
|
wrapper = File.read installed_exec
|
171
171
|
assert_match %r|generated by RubyGems|, wrapper
|
@@ -178,7 +178,7 @@ gem 'other', version
|
|
178
178
|
@installer.generate_bin
|
179
179
|
|
180
180
|
installed_exec = File.join util_inst_bindir, 'executable'
|
181
|
-
|
181
|
+
assert_path_exists installed_exec
|
182
182
|
|
183
183
|
wrapper = File.read installed_exec
|
184
184
|
assert_match %r|generated by RubyGems|, wrapper
|
@@ -252,7 +252,7 @@ gem 'other', version
|
|
252
252
|
|
253
253
|
assert_equal true, File.directory?(util_inst_bindir)
|
254
254
|
installed_exec = File.join(util_inst_bindir, 'executable')
|
255
|
-
|
255
|
+
assert_path_exists installed_exec
|
256
256
|
assert_equal mask, File.stat(installed_exec).mode unless win_platform?
|
257
257
|
|
258
258
|
wrapper = File.read installed_exec
|
@@ -287,7 +287,7 @@ gem 'other', version
|
|
287
287
|
@installer.generate_bin
|
288
288
|
assert File.directory? util_inst_bindir
|
289
289
|
installed_exec = File.join util_inst_bindir, 'executable'
|
290
|
-
|
290
|
+
assert_path_exists installed_exec
|
291
291
|
assert_equal mask, File.stat(installed_exec).mode unless win_platform?
|
292
292
|
|
293
293
|
wrapper = File.read installed_exec
|
@@ -304,7 +304,7 @@ gem 'other', version
|
|
304
304
|
@installer.generate_bin
|
305
305
|
assert_equal true, File.directory?(util_inst_bindir)
|
306
306
|
installed_exec = File.join util_inst_bindir, 'foo-executable-bar'
|
307
|
-
|
307
|
+
assert_path_exists installed_exec
|
308
308
|
ensure
|
309
309
|
Gem::Installer.exec_format = nil
|
310
310
|
end
|
@@ -318,7 +318,7 @@ gem 'other', version
|
|
318
318
|
@installer.generate_bin
|
319
319
|
assert_equal true, File.directory?(util_inst_bindir)
|
320
320
|
installed_exec = File.join util_inst_bindir, 'executable'
|
321
|
-
|
321
|
+
assert_path_exists installed_exec
|
322
322
|
ensure
|
323
323
|
Gem::Installer.exec_format = nil
|
324
324
|
end
|
@@ -340,7 +340,7 @@ gem 'other', version
|
|
340
340
|
@installer.generate_bin
|
341
341
|
|
342
342
|
installed_exec = File.join("#{@gemhome}2", "bin", 'executable')
|
343
|
-
|
343
|
+
assert_path_exists installed_exec
|
344
344
|
assert_equal mask, File.stat(installed_exec).mode unless win_platform?
|
345
345
|
|
346
346
|
wrapper = File.read installed_exec
|
@@ -353,7 +353,7 @@ gem 'other', version
|
|
353
353
|
@installer.wrappers = true
|
354
354
|
@installer.generate_bin
|
355
355
|
|
356
|
-
|
356
|
+
refute_path_exists util_inst_bindir, 'bin dir was created when not needed'
|
357
357
|
end
|
358
358
|
|
359
359
|
def test_generate_bin_script_no_perms
|
@@ -389,7 +389,7 @@ gem 'other', version
|
|
389
389
|
@installer.generate_bin
|
390
390
|
|
391
391
|
installed_exec = File.join @gemhome, 'bin', 'executable'
|
392
|
-
|
392
|
+
assert_path_exists installed_exec
|
393
393
|
assert_equal mask, File.stat(installed_exec).mode unless win_platform?
|
394
394
|
|
395
395
|
wrapper = File.read installed_exec
|
@@ -414,7 +414,7 @@ gem 'other', version
|
|
414
414
|
|
415
415
|
@installer.generate_bin
|
416
416
|
assert_equal true, File.directory?(util_inst_bindir)
|
417
|
-
|
417
|
+
assert_path_exists installed_exec
|
418
418
|
assert_equal mask, File.stat(installed_exec).mode unless win_platform?
|
419
419
|
|
420
420
|
assert_match %r|generated by RubyGems|, File.read(installed_exec)
|
@@ -444,7 +444,7 @@ gem 'other', version
|
|
444
444
|
@installer.wrappers = false
|
445
445
|
@installer.generate_bin
|
446
446
|
|
447
|
-
|
447
|
+
refute_path_exists util_inst_bindir
|
448
448
|
end
|
449
449
|
|
450
450
|
def test_generate_bin_symlink_no_perms
|
@@ -543,7 +543,7 @@ gem 'other', version
|
|
543
543
|
@installer.generate_bin
|
544
544
|
|
545
545
|
installed_exec = File.join util_inst_bindir, 'executable'
|
546
|
-
|
546
|
+
assert_path_exists installed_exec
|
547
547
|
|
548
548
|
@spec = Gem::Specification.new do |s|
|
549
549
|
s.files = ['lib/code.rb']
|
@@ -580,7 +580,7 @@ gem 'other', version
|
|
580
580
|
|
581
581
|
assert_equal true, File.directory?(util_inst_bindir)
|
582
582
|
installed_exec = File.join(util_inst_bindir, 'executable')
|
583
|
-
|
583
|
+
assert_path_exists installed_exec
|
584
584
|
|
585
585
|
assert_match(/Unable to use symlinks on Windows, installing wrapper/i,
|
586
586
|
@ui.error)
|
@@ -647,19 +647,19 @@ gem 'other', version
|
|
647
647
|
rakefile = File.join gemdir, 'ext', 'a', 'Rakefile'
|
648
648
|
|
649
649
|
Gem.pre_install do |installer|
|
650
|
-
|
650
|
+
refute_path_exists cache_file, 'cache file must not exist yet'
|
651
651
|
true
|
652
652
|
end
|
653
653
|
|
654
654
|
Gem.post_build do |installer|
|
655
|
-
|
656
|
-
|
657
|
-
|
655
|
+
assert_path_exists gemdir, 'gem install dir must exist'
|
656
|
+
assert_path_exists rakefile, 'gem executable must exist'
|
657
|
+
refute_path_exists stub_exe, 'gem executable must not exist'
|
658
658
|
true
|
659
659
|
end
|
660
660
|
|
661
661
|
Gem.post_install do |installer|
|
662
|
-
|
662
|
+
assert_path_exists cache_file, 'cache file must exist'
|
663
663
|
end
|
664
664
|
|
665
665
|
@newspec = nil
|
@@ -670,23 +670,23 @@ gem 'other', version
|
|
670
670
|
end
|
671
671
|
|
672
672
|
assert_equal @spec, @newspec
|
673
|
-
|
674
|
-
|
673
|
+
assert_path_exists gemdir
|
674
|
+
assert_path_exists stub_exe, 'gem executable must exist'
|
675
675
|
|
676
676
|
exe = File.join gemdir, 'bin', 'executable'
|
677
|
-
|
677
|
+
assert_path_exists exe
|
678
678
|
|
679
679
|
exe_mode = File.stat(exe).mode & 0111
|
680
680
|
assert_equal 0111, exe_mode, "0%o" % exe_mode unless win_platform?
|
681
681
|
|
682
|
-
|
682
|
+
assert_path_exists File.join gemdir, 'lib', 'code.rb'
|
683
683
|
|
684
|
-
|
684
|
+
assert_path_exists rakefile
|
685
685
|
|
686
686
|
spec_file = File.join(@gemhome, 'specifications', @spec.spec_name)
|
687
687
|
|
688
688
|
assert_equal spec_file, @newspec.loaded_from
|
689
|
-
|
689
|
+
assert_path_exists spec_file
|
690
690
|
|
691
691
|
assert_same @installer, @post_build_hook_arg
|
692
692
|
assert_same @installer, @post_install_hook_arg
|
@@ -795,7 +795,7 @@ gem 'other', version
|
|
795
795
|
end
|
796
796
|
|
797
797
|
gemdir = File.join(@gemhome, 'gems', @spec.full_name)
|
798
|
-
|
798
|
+
assert_path_exists File.join gemdir, 'lib', 'code.rb'
|
799
799
|
|
800
800
|
util_setup_gem
|
801
801
|
# Morph spec to have lib/other.rb instead of code.rb and recreate
|
@@ -814,9 +814,9 @@ gem 'other', version
|
|
814
814
|
end
|
815
815
|
end
|
816
816
|
|
817
|
-
|
818
|
-
|
819
|
-
"code.rb from prior install of same gem shouldn't remain here"
|
817
|
+
assert_path_exists File.join gemdir, 'lib', 'other.rb'
|
818
|
+
refute_path_exists File.join gemdir, 'lib', 'code.rb',
|
819
|
+
"code.rb from prior install of same gem shouldn't remain here"
|
820
820
|
end
|
821
821
|
|
822
822
|
def test_install_force
|
@@ -826,7 +826,7 @@ gem 'other', version
|
|
826
826
|
end
|
827
827
|
|
828
828
|
gem_dir = File.join(@gemhome, 'gems', 'old_ruby_required-1')
|
829
|
-
|
829
|
+
assert_path_exists gem_dir
|
830
830
|
end
|
831
831
|
|
832
832
|
def test_install_missing_dirs
|
@@ -842,8 +842,8 @@ gem 'other', version
|
|
842
842
|
File.directory? File.join(Gem.dir, 'docs')
|
843
843
|
File.directory? File.join(Gem.dir, 'specifications')
|
844
844
|
|
845
|
-
|
846
|
-
|
845
|
+
assert_path_exists File.join @gemhome, 'cache', @spec.file_name
|
846
|
+
assert_path_exists File.join @gemhome, 'specifications', @spec.spec_name
|
847
847
|
end
|
848
848
|
|
849
849
|
def test_install_post_build_false
|
@@ -864,10 +864,10 @@ gem 'other', version
|
|
864
864
|
end
|
865
865
|
|
866
866
|
spec_file = File.join @gemhome, 'specifications', @spec.spec_name
|
867
|
-
|
867
|
+
refute_path_exists spec_file
|
868
868
|
|
869
869
|
gem_dir = File.join @gemhome, 'gems', @spec.full_name
|
870
|
-
|
870
|
+
refute_path_exists gem_dir
|
871
871
|
end
|
872
872
|
|
873
873
|
def test_install_post_build_nil
|
@@ -882,10 +882,10 @@ gem 'other', version
|
|
882
882
|
end
|
883
883
|
|
884
884
|
spec_file = File.join @gemhome, 'specifications', @spec.spec_name
|
885
|
-
|
885
|
+
assert_path_exists spec_file
|
886
886
|
|
887
887
|
gem_dir = File.join @gemhome, 'gems', @spec.full_name
|
888
|
-
|
888
|
+
assert_path_exists gem_dir
|
889
889
|
end
|
890
890
|
|
891
891
|
def test_install_pre_install_false
|
@@ -906,7 +906,7 @@ gem 'other', version
|
|
906
906
|
end
|
907
907
|
|
908
908
|
spec_file = File.join @gemhome, 'specifications', @spec.spec_name
|
909
|
-
|
909
|
+
refute_path_exists spec_file
|
910
910
|
end
|
911
911
|
|
912
912
|
def test_install_pre_install_nil
|
@@ -921,7 +921,7 @@ gem 'other', version
|
|
921
921
|
end
|
922
922
|
|
923
923
|
spec_file = File.join @gemhome, 'specifications', @spec.spec_name
|
924
|
-
|
924
|
+
assert_path_exists spec_file
|
925
925
|
end
|
926
926
|
|
927
927
|
def test_install_with_message
|
@@ -937,6 +937,31 @@ gem 'other', version
|
|
937
937
|
assert_match %r|I am a shiny gem!|, @ui.output
|
938
938
|
end
|
939
939
|
|
940
|
+
def test_install_extension_install_dir
|
941
|
+
gemhome2 = "#{@gemhome}2"
|
942
|
+
|
943
|
+
@spec.extensions << "extconf.rb"
|
944
|
+
write_file File.join(@tempdir, "extconf.rb") do |io|
|
945
|
+
io.write <<-RUBY
|
946
|
+
require "mkmf"
|
947
|
+
create_makefile("#{@spec.name}")
|
948
|
+
RUBY
|
949
|
+
end
|
950
|
+
|
951
|
+
@spec.files += %w[extconf.rb]
|
952
|
+
|
953
|
+
use_ui @ui do
|
954
|
+
path = Gem::Package.build @spec
|
955
|
+
|
956
|
+
installer = Gem::Installer.new path, :install_dir => gemhome2
|
957
|
+
installer.install
|
958
|
+
end
|
959
|
+
|
960
|
+
expected_makefile = File.join gemhome2, 'gems', @spec.full_name, 'Makefile'
|
961
|
+
|
962
|
+
assert_path_exists expected_makefile
|
963
|
+
end
|
964
|
+
|
940
965
|
def test_install_extension_and_script
|
941
966
|
@spec.extensions << "extconf.rb"
|
942
967
|
write_file File.join(@tempdir, "extconf.rb") do |io|
|
@@ -963,16 +988,16 @@ gem 'other', version
|
|
963
988
|
RUBY
|
964
989
|
end
|
965
990
|
|
966
|
-
|
967
|
-
|
991
|
+
refute_path_exists File.join @spec.gem_dir, rb
|
992
|
+
refute_path_exists File.join @spec.gem_dir, rb2
|
968
993
|
use_ui @ui do
|
969
994
|
path = Gem::Package.build @spec
|
970
995
|
|
971
996
|
@installer = Gem::Installer.new path
|
972
997
|
@installer.install
|
973
998
|
end
|
974
|
-
|
975
|
-
|
999
|
+
assert_path_exists File.join @spec.gem_dir, rb
|
1000
|
+
assert_path_exists File.join @spec.gem_dir, rb2
|
976
1001
|
end
|
977
1002
|
|
978
1003
|
def test_install_extension_flat
|
@@ -1001,14 +1026,14 @@ gem 'other', version
|
|
1001
1026
|
}
|
1002
1027
|
|
1003
1028
|
so = File.join(@spec.gem_dir, "#{@spec.name}.#{RbConfig::CONFIG["DLEXT"]}")
|
1004
|
-
|
1029
|
+
refute_path_exists so
|
1005
1030
|
use_ui @ui do
|
1006
1031
|
path = Gem::Package.build @spec
|
1007
1032
|
|
1008
1033
|
@installer = Gem::Installer.new path
|
1009
1034
|
@installer.install
|
1010
1035
|
end
|
1011
|
-
|
1036
|
+
assert_path_exists so
|
1012
1037
|
rescue
|
1013
1038
|
puts '-' * 78
|
1014
1039
|
puts File.read File.join(@gemhome, 'gems', 'a-2', 'Makefile')
|
@@ -1253,8 +1278,8 @@ gem 'other', version
|
|
1253
1278
|
|
1254
1279
|
@installer.unpack dest
|
1255
1280
|
|
1256
|
-
|
1257
|
-
|
1281
|
+
assert_path_exists File.join dest, 'lib', 'code.rb'
|
1282
|
+
assert_path_exists File.join dest, 'bin', 'executable'
|
1258
1283
|
end
|
1259
1284
|
|
1260
1285
|
def test_write_build_info_file
|
@@ -1313,20 +1338,20 @@ gem 'other', version
|
|
1313
1338
|
|
1314
1339
|
def test_write_spec
|
1315
1340
|
FileUtils.rm @spec.spec_file
|
1316
|
-
|
1341
|
+
refute_path_exists @spec.spec_file
|
1317
1342
|
|
1318
1343
|
@installer.spec = @spec
|
1319
1344
|
@installer.gem_home = @gemhome
|
1320
1345
|
|
1321
1346
|
@installer.write_spec
|
1322
1347
|
|
1323
|
-
|
1348
|
+
assert_path_exists @spec.spec_file
|
1324
1349
|
assert_equal @spec, eval(File.read(@spec.spec_file))
|
1325
1350
|
end
|
1326
1351
|
|
1327
1352
|
def test_write_spec_writes_cached_spec
|
1328
1353
|
FileUtils.rm @spec.spec_file
|
1329
|
-
|
1354
|
+
refute_path_exists @spec.spec_file
|
1330
1355
|
|
1331
1356
|
@spec.files = %w[a.rb b.rb c.rb]
|
1332
1357
|
|
@@ -1359,7 +1384,7 @@ gem 'other', version
|
|
1359
1384
|
|
1360
1385
|
assert File.directory? util_inst_bindir
|
1361
1386
|
installed_exec = File.join util_inst_bindir, 'executable'
|
1362
|
-
|
1387
|
+
assert_path_exists installed_exec
|
1363
1388
|
|
1364
1389
|
assert File.directory? File.join(Gem.dir, 'specifications')
|
1365
1390
|
assert File.directory? File.join(Gem.dir, 'specifications', 'default')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -32,7 +32,7 @@ cert_chain:
|
|
32
32
|
KDyY1VIazVgoC8XvR4h/95/iScPiuglzA+DBG1hip1xScAtw05BrXyUNrc9CEMYU
|
33
33
|
wgF94UVoHRp6ywo8I7NP3HcwFQDFNEZPNGXsng==
|
34
34
|
-----END CERTIFICATE-----
|
35
|
-
date: 2013-09-
|
35
|
+
date: 2013-09-11 00:00:00.000000000 Z
|
36
36
|
dependencies:
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: minitest
|
@@ -492,7 +492,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
492
492
|
version: '0'
|
493
493
|
requirements: []
|
494
494
|
rubyforge_project: rubygems-update
|
495
|
-
rubygems_version: 2.1.
|
495
|
+
rubygems_version: 2.1.1
|
496
496
|
signing_key:
|
497
497
|
specification_version: 4
|
498
498
|
summary: RubyGems is a package management framework for Ruby
|
metadata.gz.sig
CHANGED
Binary file
|