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 CHANGED
@@ -1,8 +1,63 @@
1
- 2005-03-13 Gavin Sinclair <gsinclair@soyabean.com.au>
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
- * lib/rubygems/installer.rb: Removed all code relating to library
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]
@@ -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%" target="_blank">[rdoc]</a>
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>
@@ -1,5 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
- $:.unshift '~/rubygems'
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(directory)
31
- @directory = directory
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
- Indexer.new(directory).build_index
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
@@ -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
- # Get highest matching version
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|
@@ -1,5 +1,7 @@
1
1
  # The following is borrowed from setup.rb
2
2
 
3
+ class File; end
4
+
3
5
  def File.binread(fname)
4
6
  open(fname, 'rb') {|f|
5
7
  return f.read
@@ -262,4 +264,4 @@ module Gem
262
264
  end
263
265
 
264
266
  end
265
- end
267
+ end
@@ -694,8 +694,9 @@ module Gem
694
694
  install_command.execute
695
695
  end
696
696
  if gems_to_update.include?("rubygems-update")
697
- say "Updating version of RubyGems"
698
- do_rubygems_update
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
- # Need to clear out the argument list because the
709
- # update_rubygems script expects to handle command line
710
- # argument.
711
- ARGV.clear
712
- require_gem 'rubygems-update'
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)
@@ -54,12 +54,15 @@ module Gem
54
54
  end
55
55
  end
56
56
  # Check the dependent gems.
57
- unless @options[:ignore_dependencies]
58
- spec.dependencies.each do |dep_gem|
59
- # TODO: Does this take account of *versions*?
60
- require_gem_with_options(dep_gem, [], :auto_require=>false)
61
- end
62
- end
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.size == 0
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
- begin
465
- require_gem_with_options(
466
- dependency.name,
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
@@ -2,5 +2,5 @@
2
2
  # This file is auto-generated by build scripts.
3
3
  # See: rake update_version
4
4
  module Gem
5
- RubyGemsVersion = '0.8.8'
5
+ RubyGemsVersion = '0.8.10'
6
6
  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
- gems = {}
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
- spec_dirs = Gem.path.collect {|dir| File.join(dir, "specifications")}
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
Binary file
@@ -0,0 +1 @@
1
+ CODE = 1
@@ -0,0 +1,8 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{a}
3
+ s.version = "0.0.1"
4
+ s.date = %q{2005-03-25}
5
+ s.summary = %q{summary}
6
+ s.description = %q{desc}
7
+ s.files = ["lib/code.rb"]
8
+ end
@@ -0,0 +1,8 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{a}
3
+ s.version = "0.0.2"
4
+ s.date = %q{2005-03-25}
5
+ s.summary = %q{summary}
6
+ s.description = %q{desc}
7
+ s.files = ["lib/code.rb"]
8
+ end
@@ -0,0 +1,8 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{b}
3
+ s.version = "0.0.2"
4
+ s.date = %q{2005-03-25}
5
+ s.summary = %q{summary}
6
+ s.description = %q{desc}
7
+ s.files = ["lib/code.rb"]
8
+ end
@@ -0,0 +1,8 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{c}
3
+ s.version = "1.2"
4
+ s.date = %q{2005-03-25}
5
+ s.summary = %q{summary}
6
+ s.description = %q{desc}
7
+ s.files = ["lib/code.rb"]
8
+ end
@@ -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.7.1
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.8
7
- date: 2005-03-14
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