rubygems-update 0.8.8 → 0.8.10
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/ChangeLog +58 -3
- data/Rakefile +1 -1
- data/bin/gem_server +1 -1
- data/bin/generate_yaml_index.rb +44 -24
- data/lib/rubygems.rb +16 -5
- data/lib/rubygems/deployment.rb +3 -1
- data/lib/rubygems/gem_commands.rb +9 -9
- data/lib/rubygems/installer.rb +10 -8
- data/lib/rubygems/remote_installer.rb +3 -8
- data/lib/rubygems/rubygems_version.rb +1 -1
- data/lib/rubygems/source_index.rb +19 -19
- data/test/data/a-0.0.1.gem +0 -0
- data/test/data/a-0.0.2.gem +0 -0
- data/test/data/b-0.0.2.gem +0 -0
- data/test/data/c-1.2.gem +0 -0
- data/test/data/gemhome/cache/a-0.0.1.gem +0 -0
- data/test/data/gemhome/cache/a-0.0.2.gem +0 -0
- data/test/data/gemhome/cache/b-0.0.2.gem +0 -0
- data/test/data/gemhome/cache/c-1.2.gem +0 -0
- data/test/data/gemhome/gems/a-0.0.1/lib/code.rb +1 -0
- data/test/data/gemhome/gems/a-0.0.2/lib/code.rb +1 -0
- data/test/data/gemhome/gems/b-0.0.2/lib/code.rb +1 -0
- data/test/data/gemhome/gems/c-1.2/lib/code.rb +1 -0
- data/test/data/gemhome/specifications/a-0.0.1.gemspec +8 -0
- data/test/data/gemhome/specifications/a-0.0.2.gemspec +8 -0
- data/test/data/gemhome/specifications/b-0.0.2.gemspec +8 -0
- data/test/data/gemhome/specifications/c-1.2.gemspec +8 -0
- data/test/data/one/one-0.0.1.gem +0 -0
- data/test/gemenvironment.rb +2 -1
- data/test/test_require_gem.rb +51 -0
- metadata +35 -4
data/ChangeLog
CHANGED
@@ -1,8 +1,63 @@
|
|
1
|
-
2005-03-
|
1
|
+
2005-03-25 Jim Weirich <jim@weirichhouse.org>
|
2
|
+
|
3
|
+
* lib/rubygems/gem_commands.rb
|
4
|
+
(Gem::UpdateCommand::do_rubygems_update): Update --system now runs
|
5
|
+
the ruby command directly rather than trying to load teh
|
6
|
+
update-rubygems command. There were too many things to go wrong
|
7
|
+
with the old way.
|
8
|
+
|
9
|
+
2005-03-24 Jim Weirich <jim@weirichhouse.org>
|
10
|
+
|
11
|
+
* lib/rubygems/remote_installer.rb
|
12
|
+
(Gem::RemoteInstaller::find_dependencies_not_installed): Fixed to
|
13
|
+
reload source index before attempting to detect dependencies.
|
14
|
+
|
15
|
+
2005-03-23 Jim Weirich <jim@weirichhouse.org>
|
16
|
+
|
17
|
+
* lib/rubygems/remote_installer.rb
|
18
|
+
(Gem::RemoteInstaller::find_dependencies_not_installed): Switched
|
19
|
+
to using SourceIndex#find_name to detect missing dependencies,
|
20
|
+
avoiding a gem activation during an install.
|
21
|
+
|
22
|
+
* lib/rubygems/installer.rb (Gem::Installer::install): Removed
|
23
|
+
activate call from install step. If we need to do something about
|
24
|
+
dependencies at this time, then we need a better way to do them.
|
25
|
+
|
26
|
+
* lib/rubygems.rb: Removed the require for rubygems/timer.
|
2
27
|
|
3
|
-
|
4
|
-
stubs as we haven't generated them for ages.
|
28
|
+
2005-03-16 Jim Weirich <jim@weirichhouse.org>
|
5
29
|
|
30
|
+
* test/gemenvironment.rb (TestEnvironment::create): Added require
|
31
|
+
on gem/builder.
|
32
|
+
|
33
|
+
* lib/rubygems/source_index.rb (Gem::SourceIndex::initialize):
|
34
|
+
Allowing default argument to new to be an empty hash.
|
35
|
+
(Gem::SourceIndex::from_installed_gems): Refactored into a class
|
36
|
+
method that invokes a instance method.
|
37
|
+
(Gem::SourceIndex::refresh): Refresh now does a complete reload
|
38
|
+
from disk. This should be more accurate that the earlier version.
|
39
|
+
|
40
|
+
* lib/rubygems/installer.rb (Gem::Uninstaller::uninstall): removed
|
41
|
+
unneeded refresh!.
|
42
|
+
|
43
|
+
* lib/rubygems.rb (Gem::Exception::source_index): Removed
|
44
|
+
automatic refresh from Gem.source_index ... it wasn't reliable
|
45
|
+
when removing installed gems.
|
46
|
+
(Gem::Exception::activate): Added detection of previously loaded
|
47
|
+
gems.
|
48
|
+
|
49
|
+
2005-03-15 Chad Fowler <chad@chadfowler.com>
|
50
|
+
|
51
|
+
* bin/gem_server: (htonl) rdoc opens in existing browser window.
|
52
|
+
|
53
|
+
2005-03-14 Jim Weirich <jim@weirichhouse.org>
|
54
|
+
|
55
|
+
* Released 0.8.8
|
56
|
+
|
57
|
+
2005-03-14 Jim Weirich <jim@weirichhouse.org>
|
58
|
+
|
59
|
+
* Released 0.8.7
|
60
|
+
|
6
61
|
2005-03-13 Gavin Sinclair <gsinclair@soyabean.com.au>
|
7
62
|
|
8
63
|
* lib/rubygems/installer.rb (Gem::Installer#shebang): Refactored and
|
data/Rakefile
CHANGED
@@ -174,7 +174,7 @@ rd = Rake::RDocTask.new("rdoc") { |rdoc|
|
|
174
174
|
rdoc.options << '--line-numbers' << '--inline-source' << '--main' << 'README'
|
175
175
|
rdoc.rdoc_files.include('README', 'TODO', 'Releases')
|
176
176
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
177
|
-
rdoc.rdoc_files.include('test/**/*.rb')
|
177
|
+
# rdoc.rdoc_files.include('test/**/*.rb')
|
178
178
|
}
|
179
179
|
|
180
180
|
file "html/index.html" => [:rdoc]
|
data/bin/gem_server
CHANGED
@@ -42,7 +42,7 @@ IF:first_name_entry
|
|
42
42
|
ENDIF:first_name_entry
|
43
43
|
<b>%name% %version%</b>
|
44
44
|
IF:rdoc_installed
|
45
|
-
<a href="%doc_path%"
|
45
|
+
<a href="%doc_path%">[rdoc]</a>
|
46
46
|
ENDIF:rdoc_installed
|
47
47
|
IFNOT:rdoc_installed
|
48
48
|
<span title="rdoc not installed">[rdoc]</span>
|
data/bin/generate_yaml_index.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
|
3
|
+
# Generate the yaml/yaml.Z index files for a gem server directory.
|
4
|
+
#
|
5
|
+
# Usage: generate_yaml_index.rb --dir DIR [--verbose]
|
6
|
+
|
7
|
+
$:.unshift '~/rubygems' if File.exist? "~/rubygems"
|
3
8
|
|
4
9
|
require 'optparse'
|
5
10
|
require 'rubygems'
|
@@ -7,28 +12,11 @@ require 'zlib'
|
|
7
12
|
|
8
13
|
Gem.manage_gems
|
9
14
|
|
10
|
-
options = {}
|
11
|
-
ARGV.options do |opts|
|
12
|
-
opts.on_tail("--help", "show this message") {puts opts; exit}
|
13
|
-
opts.on('-d', '--dir=DIRNAME', "base directory with dir/gems", String) {|options[:directory]|}
|
14
|
-
opts.parse!
|
15
|
-
end
|
16
|
-
|
17
|
-
directory = options[:directory]
|
18
|
-
unless directory
|
19
|
-
puts "Error, must specify directory name. Use --help"
|
20
|
-
exit
|
21
|
-
else
|
22
|
-
unless File.exist?(directory) && File.directory?(directory)
|
23
|
-
puts "Error, unknown directory name #{directory}."
|
24
|
-
exit
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
15
|
class Indexer
|
29
16
|
|
30
|
-
def initialize(
|
31
|
-
@
|
17
|
+
def initialize(options)
|
18
|
+
@options = options
|
19
|
+
@directory = options[:directory]
|
32
20
|
end
|
33
21
|
|
34
22
|
def gem_file_list
|
@@ -36,18 +24,25 @@ class Indexer
|
|
36
24
|
end
|
37
25
|
|
38
26
|
def build_index
|
27
|
+
build_uncompressed_index
|
28
|
+
build_compressed_index
|
29
|
+
end
|
30
|
+
|
31
|
+
def build_uncompressed_index
|
32
|
+
puts "Building yaml file" if @options[:verbose]
|
39
33
|
File.open(File.join(@directory, "yaml"), "w") do |file|
|
40
34
|
file.puts "--- !ruby/object:Gem::Cache"
|
41
35
|
file.puts "gems:"
|
42
36
|
gem_file_list.each do |gemfile|
|
43
37
|
spec = Gem::Format.from_file_by_path(gemfile).spec
|
38
|
+
puts " ... adding #{spec.full_name}" if @options[:verbose]
|
44
39
|
file.puts " #{spec.full_name}: #{spec.to_yaml.gsub(/\n/, "\n ")[4..-1]}"
|
45
40
|
end
|
46
41
|
end
|
47
|
-
build_compressed_index
|
48
42
|
end
|
49
|
-
|
43
|
+
|
50
44
|
def build_compressed_index
|
45
|
+
puts "Building yaml.Z file" if @options[:verbose]
|
51
46
|
File.open(File.join(@directory, "yaml.Z"), "w") do |file|
|
52
47
|
file.write(Zlib::Deflate.deflate(File.read(File.join(@directory, "yaml"))))
|
53
48
|
end
|
@@ -55,4 +50,29 @@ class Indexer
|
|
55
50
|
end
|
56
51
|
|
57
52
|
|
58
|
-
|
53
|
+
options = {
|
54
|
+
:directory => '.',
|
55
|
+
:verbose => false,
|
56
|
+
}
|
57
|
+
|
58
|
+
ARGV.options do |opts|
|
59
|
+
opts.on_tail("--help", "show this message") {puts opts; exit}
|
60
|
+
opts.on('-d', '--dir=DIRNAME', "base directory containing gems subdirectory", String) do |value|
|
61
|
+
options[:directory] = value
|
62
|
+
end
|
63
|
+
opts.on('-v', '--verbose', "show verbose output") do |value|
|
64
|
+
options[:verbose] = value
|
65
|
+
end
|
66
|
+
opts.parse!
|
67
|
+
end
|
68
|
+
|
69
|
+
if options[:directory].nil?
|
70
|
+
puts "Error, must specify directory name. Use --help"
|
71
|
+
exit
|
72
|
+
elsif ! File.exist?(options[:directory]) ||
|
73
|
+
! File.directory?(options[:directory])
|
74
|
+
puts "Error, unknown directory name #{directory}."
|
75
|
+
exit
|
76
|
+
end
|
77
|
+
|
78
|
+
Indexer.new(options).build_index
|
data/lib/rubygems.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rubygems/timer'
|
2
1
|
require 'rbconfig'
|
3
2
|
|
4
3
|
module Gem
|
@@ -78,7 +77,6 @@ module Gem
|
|
78
77
|
#
|
79
78
|
def source_index
|
80
79
|
@@source_index ||= SourceIndex.from_installed_gems
|
81
|
-
@@source_index.refresh!
|
82
80
|
end
|
83
81
|
|
84
82
|
# Provide an alias for the old name.
|
@@ -126,25 +124,38 @@ module Gem
|
|
126
124
|
# already loaded, or an exception otherwise.
|
127
125
|
#
|
128
126
|
def activate(gem, autorequire, *version_requirements)
|
127
|
+
@loaded_specs ||= Hash.new
|
129
128
|
unless version_requirements.size > 0
|
130
129
|
version_requirements = ["> 0.0.0"]
|
131
130
|
end
|
132
131
|
unless gem.respond_to?(:name) && gem.respond_to?(:version_requirements)
|
133
132
|
gem = Gem::Dependency.new(gem, version_requirements)
|
134
133
|
end
|
135
|
-
|
134
|
+
|
136
135
|
matches = Gem.source_index.find_name(gem.name, gem.version_requirements)
|
137
136
|
report_activate_error(gem) if matches.empty?
|
138
137
|
|
139
|
-
|
138
|
+
if @loaded_specs[gem.name]
|
139
|
+
# This gem is already loaded. If the currently loaded gem is
|
140
|
+
# not in the list of candidate gems, then we have a version
|
141
|
+
# conflict.
|
142
|
+
existing_spec = @loaded_specs[gem.name]
|
143
|
+
if ! matches.any? { |spec| spec.version == existing_spec.version }
|
144
|
+
fail Gem::Exception, "can't activate #{gem}, already activated #{existing_spec.full_name}]"
|
145
|
+
end
|
146
|
+
return false
|
147
|
+
end
|
148
|
+
|
149
|
+
# new load
|
140
150
|
spec = matches.last
|
141
151
|
if spec.loaded?
|
142
152
|
return false unless autorequire
|
143
153
|
result = spec.autorequire ? require(spec.autorequire) : false
|
144
154
|
return result || false
|
145
155
|
end
|
146
|
-
|
156
|
+
|
147
157
|
spec.loaded = true
|
158
|
+
@loaded_specs[spec.name] = spec
|
148
159
|
|
149
160
|
# Load dependent gems first
|
150
161
|
spec.dependencies.each do |dep_gem|
|
data/lib/rubygems/deployment.rb
CHANGED
@@ -694,8 +694,9 @@ module Gem
|
|
694
694
|
install_command.execute
|
695
695
|
end
|
696
696
|
if gems_to_update.include?("rubygems-update")
|
697
|
-
|
698
|
-
|
697
|
+
latest_ruby_gem = remote_gemspecs.select { |s| s.name == 'rubygems-update' }.sort_by { |s| s.version }.last
|
698
|
+
say "Updating version of RubyGems to #{latest_ruby_gem.version}"
|
699
|
+
do_rubygems_update(latest_ruby_gem.version.to_s)
|
699
700
|
end
|
700
701
|
if(options[:system]) then
|
701
702
|
say "RubyGems system software updated"
|
@@ -704,13 +705,12 @@ module Gem
|
|
704
705
|
end
|
705
706
|
end
|
706
707
|
|
707
|
-
def do_rubygems_update
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
load 'update_rubygems'
|
708
|
+
def do_rubygems_update(version_string)
|
709
|
+
update_dir = File.join(Gem.dir, "gems", "rubygems-update-#{version_string}")
|
710
|
+
Dir.chdir(update_dir) do
|
711
|
+
puts "Installing RubyGems #{version_string}"
|
712
|
+
system "ruby setup.rb"
|
713
|
+
end
|
714
714
|
end
|
715
715
|
|
716
716
|
def which_to_update(highest_installed_gems, remote_gemspecs)
|
data/lib/rubygems/installer.rb
CHANGED
@@ -54,12 +54,15 @@ module Gem
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
# Check the dependent gems.
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
57
|
+
# NOTE: THe dependent gem check is disabled. WE SHOULD NOT
|
58
|
+
# REQUIRE GEMS DURING INSTALLTION. If we need to check
|
59
|
+
# dependencies, we need a different way.
|
60
|
+
# unless @options[:ignore_dependencies]
|
61
|
+
# spec.dependencies.each do |dep_gem|
|
62
|
+
# # TODO: Does this take account of *versions*?
|
63
|
+
# require_gem_with_options(dep_gem, [], :auto_require=>false)
|
64
|
+
# end
|
65
|
+
# end
|
63
66
|
end
|
64
67
|
|
65
68
|
raise Gem::FilePermissionError.new(install_dir) unless File.writable?(install_dir)
|
@@ -286,9 +289,8 @@ TEXT
|
|
286
289
|
#
|
287
290
|
def uninstall
|
288
291
|
require 'fileutils'
|
289
|
-
Gem.source_index.refresh!
|
290
292
|
list = Gem.source_index.search(@gem, @version)
|
291
|
-
if list.
|
293
|
+
if list.empty?
|
292
294
|
raise "Unknown RubyGem: #{@gem} (#{@version})"
|
293
295
|
elsif list.size > 1 && @force_all
|
294
296
|
remove_all(list.dup)
|
@@ -461,14 +461,9 @@ module Gem
|
|
461
461
|
def find_dependencies_not_installed(dependencies)
|
462
462
|
to_install = []
|
463
463
|
dependencies.each do |dependency|
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
dependency.requirement_list,
|
468
|
-
:auto_require=>false)
|
469
|
-
rescue LoadError => e
|
470
|
-
to_install.push dependency
|
471
|
-
end
|
464
|
+
srcindex = Gem::SourceIndex.from_installed_gems
|
465
|
+
matches = srcindex.find_name(dependency.name, dependency.requirement_list)
|
466
|
+
to_install.push dependency if matches.empty?
|
472
467
|
end
|
473
468
|
to_install
|
474
469
|
end
|
@@ -28,10 +28,26 @@ module Gem
|
|
28
28
|
# specifications::
|
29
29
|
# [Hash] hash of [Gem name, Gem::Specification] pairs
|
30
30
|
#
|
31
|
-
def initialize(specifications)
|
31
|
+
def initialize(specifications={})
|
32
32
|
@gems = specifications
|
33
33
|
end
|
34
34
|
|
35
|
+
# Reconstruct this source index from the list of source
|
36
|
+
# directories. If the list is empty, then use the directories in
|
37
|
+
# Gem.path.
|
38
|
+
#
|
39
|
+
def from_installed_gems(*spec_dirs)
|
40
|
+
@gems.clear
|
41
|
+
if spec_dirs.empty?
|
42
|
+
spec_dirs = Gem.path.collect { |dir| File.join(dir, "specifications") }
|
43
|
+
end
|
44
|
+
Dir.glob("{#{spec_dirs.join(',')}}/*.gemspec").each do |file_name|
|
45
|
+
gemspec = self.class.load_specification(file_name)
|
46
|
+
@gems[gemspec.full_name] = gemspec if gemspec
|
47
|
+
end
|
48
|
+
self
|
49
|
+
end
|
50
|
+
|
35
51
|
# Factory method to construct a source index instance for a given
|
36
52
|
# path.
|
37
53
|
#
|
@@ -44,15 +60,7 @@ module Gem
|
|
44
60
|
# SourceIndex instance
|
45
61
|
#
|
46
62
|
def self.from_installed_gems(*spec_dirs)
|
47
|
-
|
48
|
-
if spec_dirs.empty?
|
49
|
-
spec_dirs = Gem.path.collect { |dir| File.join(dir, "specifications") }
|
50
|
-
end
|
51
|
-
Dir.glob("{#{spec_dirs.join(',')}}/*.gemspec").each do |file_name|
|
52
|
-
gemspec = load_specification(file_name)
|
53
|
-
gems[gemspec.full_name] = gemspec if gemspec
|
54
|
-
end
|
55
|
-
self.new(gems)
|
63
|
+
self.new.from_installed_gems(*spec_dirs)
|
56
64
|
end
|
57
65
|
|
58
66
|
# Load a specification from a file (eval'd Ruby code)
|
@@ -124,15 +132,7 @@ module Gem
|
|
124
132
|
# return:: Returns a pointer to itself.
|
125
133
|
#
|
126
134
|
def refresh!
|
127
|
-
|
128
|
-
files = Dir.glob("{#{spec_dirs.join(',')}}/*.gemspec")
|
129
|
-
current_loaded_files = @gems.values.collect {|spec| spec.loaded_from}
|
130
|
-
(files - current_loaded_files).each do |spec_file|
|
131
|
-
gemspec = Gem::SourceIndex.load_specification(spec_file)
|
132
|
-
|
133
|
-
@gems[gemspec.full_name] = gemspec if gemspec
|
134
|
-
end
|
135
|
-
self
|
135
|
+
from_installed_gems
|
136
136
|
end
|
137
137
|
|
138
138
|
end
|
Binary file
|
Binary file
|
Binary file
|
data/test/data/c-1.2.gem
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
CODE = 1
|
@@ -0,0 +1 @@
|
|
1
|
+
CODE = 1
|
@@ -0,0 +1 @@
|
|
1
|
+
CODE = 1
|
@@ -0,0 +1 @@
|
|
1
|
+
CODE = 1
|
Binary file
|
data/test/gemenvironment.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'rubygems/installer'
|
5
|
+
require 'rubygems/builder'
|
5
6
|
require 'test/mockgemui'
|
6
7
|
require 'rake'
|
7
8
|
|
@@ -10,7 +11,7 @@ module TestEnvironment
|
|
10
11
|
|
11
12
|
# Create a testing environment for gems.
|
12
13
|
def create
|
13
|
-
return if File.exist? "test/data/gemhome/gems/a-0.0.1"
|
14
|
+
# return if File.exist? "test/data/gemhome/gems/a-0.0.1"
|
14
15
|
Dir.chdir("test/data") do
|
15
16
|
mkdir "lib" unless File.exists? "lib"
|
16
17
|
open("lib/code.rb", "w") do |f| f.puts "CODE = 1" end unless
|
@@ -0,0 +1,51 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'test/gemenvironment'
|
5
|
+
|
6
|
+
class TestRequireGem < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
TestEnvironment.create
|
9
|
+
Gem.use_paths("test/data/gemhome")
|
10
|
+
Gem.source_index.refresh!
|
11
|
+
@old_path = $:.dup
|
12
|
+
Gem.instance_eval { @loaded_specs.clear if @loaded_specs }
|
13
|
+
end
|
14
|
+
|
15
|
+
def teardown
|
16
|
+
$:.replace(@old_path)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_require
|
20
|
+
assert require_gem('a', '= 0.0.1'), "Should load"
|
21
|
+
assert $:.any? { |p| %r{a-0.0.1/lib} =~ p }
|
22
|
+
assert $:.any? { |p| %r{a-0.0.1/bin} =~ p }
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_redundent_requires
|
26
|
+
assert require_gem('a', '= 0.0.1'), "Should load"
|
27
|
+
assert ! require_gem('a', '= 0.0.1'), "Should not load"
|
28
|
+
assert_equal 1, $:.select { |p| %r{a-0.0.1/lib} =~ p }.size
|
29
|
+
assert_equal 1, $:.select { |p| %r{a-0.0.1/bin} =~ p }.size
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_overlapping_requires
|
33
|
+
assert require_gem('a', '= 0.0.1'), "Should load"
|
34
|
+
assert ! require_gem('a', '>= 0.0.1'), "Should not load"
|
35
|
+
assert_equal 1, $:.select { |p| %r{a-0.0.1/lib} =~ p }.size
|
36
|
+
assert_equal 1, $:.select { |p| %r{a-0.0.1/bin} =~ p }.size
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_conflicting_requires
|
40
|
+
assert require_gem('a', '= 0.0.1'), "Should load"
|
41
|
+
ex = assert_raises(Gem::Exception) {
|
42
|
+
require_gem 'a', '= 0.0.2'
|
43
|
+
}
|
44
|
+
assert_match /activate a \(= 0\.0\.2\)/, ex.message
|
45
|
+
assert_match /activated a-0\.0\.1/, ex.message
|
46
|
+
assert $:.any? { |p| %r{a-0.0.1/lib} =~ p }
|
47
|
+
assert $:.any? { |p| %r{a-0.0.1/bin} =~ p }
|
48
|
+
assert ! $:.any? { |p| %r{a-0.0.2/lib} =~ p }
|
49
|
+
assert ! $:.any? { |p| %r{a-0.0.2/bin} =~ p }
|
50
|
+
end
|
51
|
+
end
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.8.
|
2
|
+
rubygems_version: 0.8.9.2
|
3
3
|
specification_version: 1
|
4
4
|
name: rubygems-update
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.8.
|
7
|
-
date: 2005-03-
|
6
|
+
version: 0.8.10
|
7
|
+
date: 2005-03-25
|
8
8
|
summary: RubyGems Update GEM
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -83,8 +83,8 @@ files:
|
|
83
83
|
- lib/rubygems/user_interaction.rb
|
84
84
|
- lib/rubygems/validator.rb
|
85
85
|
- lib/rubygems/version.rb
|
86
|
-
- lib/rubygems/dependency_list.rb
|
87
86
|
- lib/rubygems/gem_commands.rb
|
87
|
+
- lib/rubygems/dependency_list.rb
|
88
88
|
- pkgs/sources
|
89
89
|
- pkgs/sources/lib
|
90
90
|
- pkgs/sources/sources.gemspec
|
@@ -128,18 +128,49 @@ files:
|
|
128
128
|
- test/yaml_data.rb
|
129
129
|
- test/test_dependency_list.rb
|
130
130
|
- test/test_deployment.rb
|
131
|
+
- test/test_require_gem.rb
|
131
132
|
- test/data/gems
|
132
133
|
- test/data/one
|
133
134
|
- test/data/legacy
|
134
135
|
- test/data/lib
|
136
|
+
- test/data/gemhome
|
137
|
+
- test/data/a-0.0.1.gem
|
138
|
+
- test/data/a-0.0.2.gem
|
139
|
+
- test/data/b-0.0.2.gem
|
140
|
+
- test/data/c-1.2.gem
|
135
141
|
- test/data/one/lib
|
136
142
|
- test/data/one/README.one
|
137
143
|
- test/data/one/one.gemspec
|
138
144
|
- test/data/one/one.yaml
|
145
|
+
- test/data/one/one-0.0.1.gem
|
139
146
|
- test/data/one/lib/one.rb
|
140
147
|
- test/data/legacy/keyedlist-0.4.0.ruby
|
141
148
|
- test/data/legacy/keyedlist-0.4.0.yaml
|
142
149
|
- test/data/lib/code.rb
|
150
|
+
- test/data/gemhome/cache
|
151
|
+
- test/data/gemhome/doc
|
152
|
+
- test/data/gemhome/gems
|
153
|
+
- test/data/gemhome/specifications
|
154
|
+
- test/data/gemhome/cache/a-0.0.1.gem
|
155
|
+
- test/data/gemhome/cache/a-0.0.2.gem
|
156
|
+
- test/data/gemhome/cache/b-0.0.2.gem
|
157
|
+
- test/data/gemhome/cache/c-1.2.gem
|
158
|
+
- test/data/gemhome/gems/a-0.0.1
|
159
|
+
- test/data/gemhome/gems/a-0.0.2
|
160
|
+
- test/data/gemhome/gems/b-0.0.2
|
161
|
+
- test/data/gemhome/gems/c-1.2
|
162
|
+
- test/data/gemhome/gems/a-0.0.1/lib
|
163
|
+
- test/data/gemhome/gems/a-0.0.1/lib/code.rb
|
164
|
+
- test/data/gemhome/gems/a-0.0.2/lib
|
165
|
+
- test/data/gemhome/gems/a-0.0.2/lib/code.rb
|
166
|
+
- test/data/gemhome/gems/b-0.0.2/lib
|
167
|
+
- test/data/gemhome/gems/b-0.0.2/lib/code.rb
|
168
|
+
- test/data/gemhome/gems/c-1.2/lib
|
169
|
+
- test/data/gemhome/gems/c-1.2/lib/code.rb
|
170
|
+
- test/data/gemhome/specifications/a-0.0.1.gemspec
|
171
|
+
- test/data/gemhome/specifications/a-0.0.2.gemspec
|
172
|
+
- test/data/gemhome/specifications/b-0.0.2.gemspec
|
173
|
+
- test/data/gemhome/specifications/c-1.2.gemspec
|
143
174
|
- test/mock/gems
|
144
175
|
- test/mock/gems/cache
|
145
176
|
- test/mock/gems/doc
|