rubygems-update 0.8.11 → 0.9.0
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.
- data/ChangeLog +199 -1
- data/README +6 -4
- data/Rakefile +46 -14
- data/bin/gem +6 -0
- data/bin/gem_mirror +7 -1
- data/bin/gem_server +3 -5
- data/bin/gemlock +127 -0
- data/bin/gemri +24 -0
- data/bin/gemwhich +39 -11
- data/bin/index_gem_repository.rb +280 -0
- data/bin/update_rubygems +6 -0
- data/doc/makedoc.rb +7 -1
- data/examples/application/lib/somefunctionality.rb +6 -0
- data/lib/gemconfigure.rb +6 -0
- data/lib/rbconfig/datadir.rb +24 -0
- data/lib/rubygems.rb +90 -24
- data/lib/rubygems/builder.rb +6 -0
- data/lib/rubygems/cmd_manager.rb +36 -30
- data/lib/rubygems/command.rb +90 -29
- data/lib/rubygems/config_file.rb +45 -2
- data/lib/rubygems/custom_require.rb +12 -6
- data/lib/rubygems/dependency_list.rb +6 -0
- data/lib/rubygems/doc_manager.rb +79 -34
- data/lib/rubygems/format.rb +6 -0
- data/lib/rubygems/gem_commands.rb +209 -88
- data/lib/rubygems/gem_openssl.rb +12 -0
- data/lib/rubygems/gem_runner.rb +25 -10
- data/lib/rubygems/incremental_fetcher.rb +136 -0
- data/lib/rubygems/installer.rb +103 -28
- data/lib/rubygems/loadpath_manager.rb +6 -0
- data/lib/rubygems/old_format.rb +6 -0
- data/lib/rubygems/open-uri.rb +231 -79
- data/lib/rubygems/package.rb +5 -3
- data/lib/rubygems/remote_installer.rb +89 -52
- data/lib/rubygems/rubygems_version.rb +1 -1
- data/lib/rubygems/security.rb +6 -0
- data/lib/rubygems/source_index.rb +115 -52
- data/lib/rubygems/specification.rb +92 -76
- data/lib/rubygems/timer.rb +6 -0
- data/lib/rubygems/user_interaction.rb +88 -4
- data/lib/rubygems/validator.rb +6 -0
- data/lib/rubygems/version.rb +6 -0
- data/lib/ubygems.rb +6 -0
- data/post-install.rb +6 -0
- data/scripts/buildtests.rb +6 -0
- data/scripts/gemdoc.rb +6 -0
- data/scripts/runtest.rb +6 -0
- data/scripts/specdoc.rb +6 -0
- data/scripts/upload_gemdoc.rb +6 -0
- data/test/bogussources.rb +6 -2
- data/test/data/PostMessage-0.0.1.gem +0 -0
- 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 +6 -0
- data/test/data/gemhome/gems/a-0.0.2/lib/code.rb +6 -0
- data/test/data/gemhome/gems/b-0.0.2/lib/code.rb +6 -0
- data/test/data/gemhome/gems/c-1.2/lib/code.rb +6 -0
- data/test/data/gemhome/specifications/a-0.0.1.gemspec +1 -1
- data/test/data/gemhome/specifications/a-0.0.2.gemspec +1 -1
- data/test/data/gemhome/specifications/b-0.0.2.gemspec +1 -1
- data/test/data/gemhome/specifications/c-1.2.gemspec +1 -1
- data/test/data/lib/code.rb +6 -0
- data/test/data/one/lib/one.rb +6 -0
- data/test/data/one/one-0.0.1.gem +0 -0
- data/test/data/post_install.gemspec +19 -0
- data/test/fake_certlib/openssl.rb +6 -0
- data/test/functional.rb +15 -1
- data/test/functional_generate_yaml_index.rb +101 -0
- data/test/gemenvironment.rb +8 -0
- data/test/gemutilities.rb +18 -2
- data/test/insure_session.rb +6 -0
- data/test/mock/gems/gems/sources-0.0.1/lib/sources.rb +6 -0
- data/test/mockgemui.rb +6 -0
- data/test/onegem.rb +12 -0
- data/test/simple_gem.rb +6 -0
- data/test/test_builder.rb +6 -0
- data/test/test_cached_fetcher.rb +6 -0
- data/test/test_check_command.rb +6 -0
- data/test/test_command.rb +6 -0
- data/test/test_configfile.rb +6 -0
- data/test/test_datadir.rb +32 -0
- data/test/test_dependency_list.rb +6 -0
- data/test/test_file_list.rb +6 -0
- data/test/test_format.rb +6 -0
- data/test/test_gemloadpaths.rb +6 -0
- data/test/test_gempaths.rb +11 -1
- data/test/test_incremental_fetcher.rb +175 -0
- data/test/test_installer.rb +30 -3
- data/test/test_loadmanager.rb +6 -0
- data/test/test_local_cache.rb +8 -2
- data/test/test_package.rb +6 -0
- data/test/test_parse_commands.rb +8 -2
- data/test/test_process_commands.rb +31 -0
- data/test/test_remote_fetcher.rb +47 -5
- data/test/test_remote_installer.rb +6 -0
- data/test/test_require_gem.rb +6 -0
- data/test/test_source_index.rb +27 -0
- data/test/test_specific_extras.rb +6 -0
- data/test/test_specification.rb +30 -0
- data/test/test_validator.rb +6 -0
- data/test/test_version_comparison.rb +6 -0
- data/test/testgem.rc +1 -0
- data/test/user_capture.rb +6 -0
- data/test/yaml_data.rb +8 -4
- metadata +187 -173
- data/bin/generate_yaml_index.rb +0 -78
- data/lib/rubygems/deployment.rb +0 -267
- data/test/test_deployment.rb +0 -93
data/lib/rubygems/validator.rb
CHANGED
data/lib/rubygems/version.rb
CHANGED
data/lib/ubygems.rb
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
# This file allows for the running of rubygems with a nice
|
2
2
|
# command line look-and-feel: ruby -rubygems foo.rb
|
3
|
+
#--
|
4
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
5
|
+
# All rights reserved.
|
6
|
+
# See LICENSE.txt for permissions.
|
7
|
+
#++
|
8
|
+
|
3
9
|
|
4
10
|
require 'rubygems'
|
data/post-install.rb
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
3
|
+
# All rights reserved.
|
4
|
+
# See LICENSE.txt for permissions.
|
5
|
+
#++
|
6
|
+
|
1
7
|
def remove_stubs
|
2
8
|
is_apparent_stub = lambda { |path|
|
3
9
|
File.read(path, 40) =~ /^# This file was generated by RubyGems/ and
|
data/scripts/buildtests.rb
CHANGED
data/scripts/gemdoc.rb
CHANGED
data/scripts/runtest.rb
CHANGED
data/scripts/specdoc.rb
CHANGED
data/scripts/upload_gemdoc.rb
CHANGED
data/test/bogussources.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
|
-
|
2
|
-
#
|
1
|
+
#--
|
2
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
3
|
+
# All rights reserved.
|
4
|
+
# See LICENSE.txt for permissions.
|
5
|
+
#++
|
6
|
+
|
3
7
|
require 'rubygems'
|
4
8
|
Gem::manage_gems
|
5
9
|
Gem.use_paths("test/mock/gems")
|
Binary file
|
data/test/data/a-0.0.1.gem
CHANGED
Binary file
|
data/test/data/a-0.0.2.gem
CHANGED
Binary file
|
data/test/data/b-0.0.2.gem
CHANGED
Binary file
|
data/test/data/c-1.2.gem
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/data/lib/code.rb
CHANGED
data/test/data/one/lib/one.rb
CHANGED
data/test/data/one/one-0.0.1.gem
CHANGED
Binary file
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
|
5
|
+
spec = Gem::Specification.new do |s|
|
6
|
+
|
7
|
+
s.name = 'PostMessage'
|
8
|
+
s.version = "0.0.1"
|
9
|
+
s.summary = "Test for post install messages with gems."
|
10
|
+
|
11
|
+
s.author = "Geoffrey Grosenbach"
|
12
|
+
s.email = "no@example.com"
|
13
|
+
s.post_install_message = "I am a shiny gem!"
|
14
|
+
end
|
15
|
+
|
16
|
+
if $0 == __FILE__
|
17
|
+
Gem.manage_gems
|
18
|
+
Gem::Builder.new(spec).build
|
19
|
+
end
|
data/test/functional.rb
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
#--
|
3
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
4
|
+
# All rights reserved.
|
5
|
+
# See LICENSE.txt for permissions.
|
6
|
+
#++
|
7
|
+
|
2
8
|
|
3
9
|
require 'test/unit'
|
4
10
|
require 'rubygems'
|
@@ -119,6 +125,14 @@ class FunctionalTest < Test::Unit::TestCase
|
|
119
125
|
SIGN_FILES = %w(gem-private_key.pem gem-public_cert.pem)
|
120
126
|
|
121
127
|
def test_cert_build
|
128
|
+
begin
|
129
|
+
require 'openssl'
|
130
|
+
rescue LoadError => ex
|
131
|
+
puts "WARNING: openssl is not availble, " +
|
132
|
+
"unable to test the cert functions"
|
133
|
+
return
|
134
|
+
end
|
135
|
+
|
122
136
|
SIGN_FILES.each do |fn| FileUtils.rm_f fn end
|
123
137
|
gem_withssl "cert --build x@y.z"
|
124
138
|
SIGN_FILES.each do |fn|
|
@@ -140,7 +154,7 @@ class FunctionalTest < Test::Unit::TestCase
|
|
140
154
|
|
141
155
|
# Run a gem command without the SSL library.
|
142
156
|
def gem_nossl(options="")
|
143
|
-
old_options = @ruby_options
|
157
|
+
old_options = @ruby_options.dup
|
144
158
|
@ruby_options << " -Itest/fake_certlib"
|
145
159
|
gem(options)
|
146
160
|
ensure
|
@@ -0,0 +1,101 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#--
|
3
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
4
|
+
# All rights reserved.
|
5
|
+
# See LICENSE.txt for permissions.
|
6
|
+
#++
|
7
|
+
|
8
|
+
|
9
|
+
require 'test/unit'
|
10
|
+
require 'fileutils'
|
11
|
+
require 'test/insure_session'
|
12
|
+
require 'test/onegem'
|
13
|
+
|
14
|
+
# ====================================================================
|
15
|
+
class TestGenerateYamlIndex < Test::Unit::TestCase
|
16
|
+
|
17
|
+
SERVER_DIR = 'test/temp/server'
|
18
|
+
|
19
|
+
def setup
|
20
|
+
@gyi_path = File.expand_path("bin/index_gem_repository.rb")
|
21
|
+
@gem_path = File.expand_path("bin/gem")
|
22
|
+
lib_path = File.expand_path("lib")
|
23
|
+
@ruby_options = "-I#{lib_path} -I."
|
24
|
+
@verbose = false
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_build_gem
|
28
|
+
OneGem.make(self)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_server_dir_initialize_really_works
|
32
|
+
initialize_server_directory
|
33
|
+
assert File.exist?(srvfile("gems"))
|
34
|
+
assert File.exist?(srvfile("gems/one-0.0.1.gem"))
|
35
|
+
assert ! File.exist?(srvfile("yaml"))
|
36
|
+
assert ! File.exist?(srvfile("yaml.Z"))
|
37
|
+
assert ! File.exist?(srvfile("quick"))
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_generate_old_style_index
|
41
|
+
initialize_server_directory
|
42
|
+
|
43
|
+
generate_yaml_index("--directory #{SERVER_DIR} --no-quick")
|
44
|
+
|
45
|
+
assert_equal 0, @status, "no status error"
|
46
|
+
assert File.exist?(srvfile("yaml"))
|
47
|
+
assert File.exist?(srvfile("yaml.Z"))
|
48
|
+
assert ! File.exist?(srvfile("quick"))
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_generate_quick_index
|
52
|
+
initialize_server_directory
|
53
|
+
|
54
|
+
generate_yaml_index("--directory #{SERVER_DIR}")
|
55
|
+
|
56
|
+
assert_equal 0, @status, "no status error"
|
57
|
+
assert File.exist?(srvfile("yaml"))
|
58
|
+
assert File.exist?(srvfile("yaml.Z"))
|
59
|
+
assert File.exist?(srvfile("quick"))
|
60
|
+
assert File.exist?(srvfile("quick/index"))
|
61
|
+
assert File.exist?(srvfile("quick/index.rz"))
|
62
|
+
assert File.exist?(srvfile("quick/one-0.0.1.gemspec.rz"))
|
63
|
+
assert ! File.exist?(srvfile("quick/one-0.0.1.gemspec"))
|
64
|
+
end
|
65
|
+
|
66
|
+
def initialize_server_directory
|
67
|
+
FileUtils.rm_r srvfile("quick") rescue nil
|
68
|
+
FileUtils.rm_r srvfile("yaml") rescue nil
|
69
|
+
FileUtils.rm_r srvfile("yaml.Z") rescue nil
|
70
|
+
unless File.exist?(srvfile("gems"))
|
71
|
+
FileUtils.mkdir_p(srvfile("gems"))
|
72
|
+
OneGem.make(self)
|
73
|
+
FileUtils.cp OneGem::ONEGEM, srvfile("gems")
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Run the generate_yaml_index command for the functional test.
|
78
|
+
def generate_yaml_index(options="")
|
79
|
+
shell = Session::Shell.new
|
80
|
+
command = "#{Gem.ruby} #{@ruby_options} #{@gyi_path} #{options}"
|
81
|
+
puts "\n\nCOMMAND: [#{command}]" if @verbose
|
82
|
+
@out, @err = shell.execute command
|
83
|
+
@status = shell.exit_status
|
84
|
+
puts "STATUS: [#{@status}]" if @verbose
|
85
|
+
puts "OUTPUT: [#{@out}]" if @verbose
|
86
|
+
puts "ERROR: [#{@err}]" if @verbose
|
87
|
+
puts "PWD: [#{Dir.pwd}]" if @verbose
|
88
|
+
shell.close
|
89
|
+
end
|
90
|
+
|
91
|
+
# Run a gem command for the functional test.
|
92
|
+
def gem(options="")
|
93
|
+
cmd = "#{Gem.ruby} #{@ruby_options} #{@gem_path} #{options}"
|
94
|
+
system cmd
|
95
|
+
end
|
96
|
+
|
97
|
+
def srvfile(name)
|
98
|
+
File.join(SERVER_DIR, name)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
data/test/gemenvironment.rb
CHANGED
data/test/gemutilities.rb
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
#--
|
3
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
4
|
+
# All rights reserved.
|
5
|
+
# See LICENSE.txt for permissions.
|
6
|
+
#++
|
7
|
+
|
2
8
|
|
3
9
|
require 'fileutils'
|
4
10
|
require 'test/unit/testcase'
|
@@ -8,7 +14,7 @@ require 'test/yaml_data'
|
|
8
14
|
module Utilities
|
9
15
|
def make_cache_area(path, *uris)
|
10
16
|
fn = File.join(path, 'source_cache')
|
11
|
-
open(fn, '
|
17
|
+
open(fn, 'wb') do |f| f.write Marshal.dump(cache_hash(*uris)) end
|
12
18
|
end
|
13
19
|
|
14
20
|
extend self
|
@@ -16,6 +22,7 @@ end
|
|
16
22
|
|
17
23
|
class RubyGemTestCase < Test::Unit::TestCase
|
18
24
|
def setup
|
25
|
+
super
|
19
26
|
@tempdir = File.join Dir.tmpdir, "test_rubygems_#{$$}"
|
20
27
|
@gemhome = File.join @tempdir, "gemhome"
|
21
28
|
@gemcache = File.join(@gemhome, "source_cache")
|
@@ -38,7 +45,7 @@ class RubyGemTestCase < Test::Unit::TestCase
|
|
38
45
|
[lc.user_cache_file, 'usr'],
|
39
46
|
].each do |fn, data|
|
40
47
|
FileUtils.mkdir_p File.dirname(fn)
|
41
|
-
open(fn, "
|
48
|
+
open(fn, "wb") { |f| f.write(Marshal.dump({'key' => data})) }
|
42
49
|
end
|
43
50
|
end
|
44
51
|
|
@@ -79,4 +86,13 @@ class RubyGemTestCase < Test::Unit::TestCase
|
|
79
86
|
def test_stupid
|
80
87
|
# shuts up test/unit
|
81
88
|
end
|
89
|
+
|
90
|
+
@@win_platform = nil
|
91
|
+
def win_platform?
|
92
|
+
if @@win_platform.nil?
|
93
|
+
patterns = [/mswin/i, /mingw/i, /bccwin/i, /wince/i]
|
94
|
+
@@win_platform = patterns.find{|r| RUBY_PLATFORM =~ r} ? true : false
|
95
|
+
end
|
96
|
+
@@win_platform
|
97
|
+
end
|
82
98
|
end
|