rubygems-update 1.3.4 → 1.3.5

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.

Files changed (53) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.document +1 -1
  3. data/ChangeLog +19 -0
  4. data/History.txt +799 -0
  5. data/Manifest.txt +1 -30
  6. data/README +29 -10
  7. data/Rakefile +71 -315
  8. data/lib/rubygems.rb +3 -2
  9. data/lib/rubygems/commands/setup_command.rb +27 -17
  10. data/lib/rubygems/commands/which_command.rb +1 -1
  11. data/lib/rubygems/config_file.rb +11 -4
  12. data/lib/rubygems/indexer.rb +6 -6
  13. data/lib/rubygems/source_index.rb +25 -19
  14. data/lib/rubygems/spec_fetcher.rb +14 -7
  15. data/lib/rubygems/specification.rb +1 -1
  16. data/test/test_gem.rb +0 -8
  17. data/test/test_gem_commands_dependency_command.rb +4 -0
  18. data/test/test_gem_commands_uninstall_command.rb +20 -0
  19. data/test/test_gem_indexer.rb +63 -24
  20. data/test/test_gem_source_index.rb +4 -3
  21. data/test/test_gem_spec_fetcher.rb +16 -2
  22. metadata +163 -47
  23. metadata.gz.sig +0 -0
  24. data/doc/release_notes/docs-rubygems-announce.rdoc +0 -29
  25. data/doc/release_notes/rel_0_2_0.rdoc +0 -4
  26. data/doc/release_notes/rel_0_3_0.rdoc +0 -21
  27. data/doc/release_notes/rel_0_4_0.rdoc +0 -4
  28. data/doc/release_notes/rel_0_5_0.rdoc +0 -26
  29. data/doc/release_notes/rel_0_6_0.rdoc +0 -16
  30. data/doc/release_notes/rel_0_7_0.rdoc +0 -4
  31. data/doc/release_notes/rel_0_8_0.rdoc +0 -23
  32. data/doc/release_notes/rel_0_8_1.rdoc +0 -4
  33. data/doc/release_notes/rel_0_8_10.rdoc +0 -70
  34. data/doc/release_notes/rel_0_8_11.rdoc +0 -102
  35. data/doc/release_notes/rel_0_8_3.rdoc +0 -113
  36. data/doc/release_notes/rel_0_8_4.rdoc +0 -51
  37. data/doc/release_notes/rel_0_8_5.rdoc +0 -117
  38. data/doc/release_notes/rel_0_8_7.rdoc +0 -135
  39. data/doc/release_notes/rel_0_9_0.rdoc +0 -109
  40. data/doc/release_notes/rel_0_9_2.rdoc +0 -69
  41. data/doc/release_notes/rel_0_9_3.rdoc +0 -66
  42. data/doc/release_notes/rel_0_9_4.rdoc +0 -67
  43. data/doc/release_notes/rel_0_9_5.rdoc +0 -108
  44. data/doc/release_notes/rel_1_0_0.rdoc +0 -67
  45. data/doc/release_notes/rel_1_0_1.rdoc +0 -56
  46. data/doc/release_notes/rel_1_1_0.rdoc +0 -85
  47. data/doc/release_notes/rel_1_1_1.rdoc +0 -64
  48. data/doc/release_notes/rel_1_2_0.rdoc +0 -105
  49. data/doc/release_notes/rel_1_3_0.rdoc +0 -125
  50. data/doc/release_notes/rel_1_3_1.rdoc +0 -75
  51. data/doc/release_notes/rel_1_3_2.rdoc +0 -119
  52. data/doc/release_notes/rel_1_3_3.rdoc +0 -95
  53. data/lib/rubygems/rubygems_version.rb +0 -19
@@ -2,6 +2,7 @@
2
2
  .document
3
3
  ChangeLog
4
4
  GPL.txt
5
+ History.txt
5
6
  LICENSE.txt
6
7
  Manifest.txt
7
8
  README
@@ -9,35 +10,6 @@ Rakefile
9
10
  bin/gem
10
11
  bin/update_rubygems
11
12
  cruise_config.rb
12
- doc/release_notes/docs-rubygems-announce.rdoc
13
- doc/release_notes/rel_0_2_0.rdoc
14
- doc/release_notes/rel_0_3_0.rdoc
15
- doc/release_notes/rel_0_4_0.rdoc
16
- doc/release_notes/rel_0_5_0.rdoc
17
- doc/release_notes/rel_0_6_0.rdoc
18
- doc/release_notes/rel_0_7_0.rdoc
19
- doc/release_notes/rel_0_8_0.rdoc
20
- doc/release_notes/rel_0_8_1.rdoc
21
- doc/release_notes/rel_0_8_10.rdoc
22
- doc/release_notes/rel_0_8_11.rdoc
23
- doc/release_notes/rel_0_8_3.rdoc
24
- doc/release_notes/rel_0_8_4.rdoc
25
- doc/release_notes/rel_0_8_5.rdoc
26
- doc/release_notes/rel_0_8_7.rdoc
27
- doc/release_notes/rel_0_9_0.rdoc
28
- doc/release_notes/rel_0_9_2.rdoc
29
- doc/release_notes/rel_0_9_3.rdoc
30
- doc/release_notes/rel_0_9_4.rdoc
31
- doc/release_notes/rel_0_9_5.rdoc
32
- doc/release_notes/rel_1_0_0.rdoc
33
- doc/release_notes/rel_1_0_1.rdoc
34
- doc/release_notes/rel_1_1_0.rdoc
35
- doc/release_notes/rel_1_1_1.rdoc
36
- doc/release_notes/rel_1_2_0.rdoc
37
- doc/release_notes/rel_1_3_0.rdoc
38
- doc/release_notes/rel_1_3_1.rdoc
39
- doc/release_notes/rel_1_3_2.rdoc
40
- doc/release_notes/rel_1_3_3.rdoc
41
13
  lib/gauntlet_rubygems.rb
42
14
  lib/rbconfig/datadir.rb
43
15
  lib/rubygems.rb
@@ -111,7 +83,6 @@ lib/rubygems/platform.rb
111
83
  lib/rubygems/remote_fetcher.rb
112
84
  lib/rubygems/require_paths_builder.rb
113
85
  lib/rubygems/requirement.rb
114
- lib/rubygems/rubygems_version.rb
115
86
  lib/rubygems/security.rb
116
87
  lib/rubygems/server.rb
117
88
  lib/rubygems/source_index.rb
data/README CHANGED
@@ -1,21 +1,40 @@
1
1
  = RubyGems
2
2
 
3
- (See Releases for release-specific information)
3
+ * http://rubygems.rubyforge.org/
4
+ * http://rubyforge.org/projects/rubygems
5
+ * http://rubygems.org/
4
6
 
5
- == Installation
7
+ == DESCRIPTION
6
8
 
7
- Get it from RubyForge (http://rubygems.rubyforge.org) and run (as root, if appropriate and necessary)
9
+ RubyGems is a package management framework for Ruby.
8
10
 
9
- ruby setup.rb
11
+ This gem is an update for the RubyGems software. You must have an
12
+ installation of RubyGems before this update can be applied.
10
13
 
11
- For more details and other options, see:
14
+ See Gem for information on RubyGems (or `ri Gem`)
12
15
 
13
- ruby setup.rb --help
16
+ To upgrade to the latest RubyGems, run:
17
+
18
+ $ gem install --system # you might need to be an administrator or root
19
+
20
+ NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no
21
+ rubygems-update installed. You will need to use the following instructions
22
+ if you see "Nothing to update".
23
+
24
+ If you have an older version of RubyGems installed, then you can still
25
+ do it in two steps:
14
26
 
15
- * {User Guide/Installation}[http://docs.rubygems.org/read/chapter/3]
27
+ $ gem install rubygems-update # again, might need to be admin/root
28
+ $ update_rubygems # ... here too
16
29
 
17
- Further documentation can be found on the Gem module. (<tt>ri Gem</tt>)
30
+ If you don't have any RubyGems install, there is still the pre-gem approach to
31
+ getting software, doing it manually:
18
32
 
19
- Thanks!
33
+ 1. Download from: http://rubyforge.org/frs/?group_id=126
34
+ 2. Unpack into a directory and cd there
35
+ 3. Install with: ruby setup.rb # you may need admin/root privilege
36
+
37
+ For more details and other options, see:
38
+
39
+ ruby setup.rb --help
20
40
 
21
- -The RubyGems Team
data/Rakefile CHANGED
@@ -1,319 +1,75 @@
1
- # Rakefile for RubyGems -*- ruby -*-
2
-
3
- #--
4
- # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
5
- # All rights reserved.
6
- # See LICENSE.txt for permissions.
7
- #++
1
+ # -*- ruby -*-
8
2
 
9
3
  $:.unshift 'lib'
10
4
 
11
5
  require 'rubygems'
12
- require 'rake/clean'
13
- require 'rake/testtask'
14
6
  require 'rubygems/package_task'
15
7
 
16
- def generate_rubygems_version(path, version)
17
- open path, 'w' do |f|
18
- f.puts <<-EOF
19
- #--
20
- # DO NOT EDIT
21
- # This file is auto-generated by build scripts.
22
- # See: rake update_version
23
- #++
8
+ require 'hoe'
24
9
 
25
- module Gem
10
+ Hoe.plugin :minitest
26
11
 
27
- ##
28
- # The version of RubyGems you are using
12
+ hoe = Hoe.spec 'rubygems-update' do
13
+ self.rubyforge_name = 'rubygems'
14
+ self.author = ['Jim Weirich', 'Chad Fowler', 'Eric Hodel']
15
+ self.email = %w[rubygems-developers@rubyforge.org]
16
+ self.readme_file = 'README'
17
+ self.need_zip = false
18
+ self.need_tar = false
29
19
 
30
- RubyGemsVersion = '#{version}'
20
+ spec_extras[:required_ruby_version] = Gem::Requirement.new '> 1.8.3'
21
+ spec_extras[:executables] = ['update_rubygems']
31
22
 
32
- ##
33
- # The version of RubyGems you are using (duplicated for familiarity)
23
+ clean_globs.push('**/debug.log',
24
+ '*.out',
25
+ '.config',
26
+ 'data__',
27
+ 'html',
28
+ 'logs',
29
+ 'pkgs/sources/sources*.gem',
30
+ 'scripts/*.hieraki',
31
+ 'util/gem_prelude.rb')
34
32
 
35
- VERSION = RubyGemsVersion
33
+ extra_dev_deps << 'builder' << 'session' << 'hoe-seattlerb'
34
+ extra_dev_deps << ['minitest', '~> 1.4']
36
35
 
37
- end
38
- EOF
36
+ spec_extras['rdoc_options'] = proc do |rdoc_options|
37
+ rdoc_options << "--title=RubyGems #{self.version} Documentation"
39
38
  end
40
39
  end
41
40
 
42
- ENV['CERT_DIR'] ||= File.join(Gem.user_home, '.gem')
43
-
44
- PKG_NAME = 'rubygems'
45
-
46
- if ENV['REL'] then
47
- PKG_VERSION = ENV['REL']
48
- CURRENT_VERSION = Gem::RubyGemsVersion
49
- else
50
- PKG_VERSION = Gem::RubyGemsVersion
51
- CURRENT_VERSION = PKG_VERSION
52
- end
53
-
54
- CLOBBER.include(
55
- '**/debug.log',
56
- '*.out',
57
- '.config',
58
- 'data__',
59
- 'html',
60
- 'logs',
61
- 'pkgs/sources/sources*.gem',
62
- 'scripts/*.hieraki',
63
- 'test/data/[a-z]*.gem',
64
- 'test/data/gemhome'
65
- )
66
- CLOBBER.exclude('test/data/broken-1.0.0.gem')
67
-
68
- desc "Run all tests"
69
- task :default => [:test]
70
-
71
- desc "Run unit tests (functionals fail on win32)"
72
- task :test => [:test_units]
73
-
74
- desc "Run just the unit tests"
75
- Rake::TestTask.new(:test_units) do |t|
76
- t.test_files = FileList['test/test*.rb']
77
- t.warning = true
78
- t.libs = %w[lib test]
79
- end
80
-
81
41
  desc "Run just the functional tests"
82
42
  Rake::TestTask.new(:test_functional) do |t|
83
43
  t.test_files = FileList['test/functional*.rb']
84
44
  t.warning = true
85
45
  end
86
46
 
87
- desc "Run the unit and functional tests"
88
- Rake::TestTask.new(:test_all) do |t|
89
- t.test_files = FileList['test/{test,functional}*.rb']
90
- t.warning = true
91
- end
92
-
93
- # Shortcuts for test targets
94
- task :tf => [:test_functional]
95
- task :tu => [:test_units]
96
- task :ta => [:test_all]
97
-
98
47
  # --------------------------------------------------------------------
99
48
  # Creating a release
100
49
 
101
- desc "Make a new release"
102
- task :release => [
103
- :prerelease,
104
- :clobber,
105
- :test_functional,
106
- :test_units,
107
- :update_version,
108
- :package,
109
- :tag] do
50
+ task :release => [:clobber, :sanity_check, :test_functional,
51
+ :test, :package, :tag]
110
52
 
111
- warn "**************************************************************"
112
- warn "* Release #{PKG_VERSION} Complete."
113
- warn "* Packages ready to upload."
114
- warn "**************************************************************"
53
+ pkg_dir_path = "pkg/rubygems-update-#{hoe.version}"
54
+ task pkg_dir_path do
55
+ mv pkg_dir_path, "pkg/rubygems-#{hoe.version}"
115
56
  end
116
57
 
117
- desc "Validate that everything is ready to go for a release."
118
- task :prerelease do
119
- warn "**************************************************************"
120
- warn "* Making RubyGem Release #{PKG_VERSION}"
121
- warn "* (current version #{CURRENT_VERSION})"
122
- warn "**************************************************************"
123
-
124
- # Is a release number supplied?
125
- raise "Usage: rake release REL=x.y.z [REUSE=tag_suffix]" unless ENV['REL']
126
-
127
- # Is the release different than the current release.
128
- # (or is REUSE set?)
129
- if PKG_VERSION == CURRENT_VERSION && ! ENV['REUSE']
130
- raise "Current version is #{PKG_VERSION}, must specify REUSE=tag_suffix to reuse version"
131
- end
132
-
133
- # Are all source files checked in?
134
- if ENV['RELTEST'] then
135
- warn "Release Task Testing, skipping checked-in file test"
136
- else
137
- warn "Checking for unchecked-in files..."
138
- data = `svn st`
139
- unless data =~ /^$/
140
- abort "svn status is not clean ... do you have unchecked-in files?"
141
- end
142
- warn "No outstanding checkins found ... OK"
58
+ task :package => [pkg_dir_path, :sanity_check] do
59
+ Dir.chdir 'pkg' do
60
+ sh "tar -czf rubygems-#{hoe.version}.tgz rubygems-#{hoe.version}"
61
+ sh "zip -q -r rubygems-#{hoe.version}.zip rubygems-#{hoe.version}"
143
62
  end
144
63
  end
145
64
 
146
- task :update_version => [:prerelease] do
147
- if PKG_VERSION == CURRENT_VERSION then
148
- warn "No version change ... skipping version update"
149
- else
150
- warn "Updating RubyGem version to #{PKG_VERSION}"
151
-
152
- generate_rubygems_version 'lib/rubygems/rubygems_version.rb', PKG_VERSION
153
-
154
- if ENV['RELTEST'] then
155
- warn "Release Task Testing, skipping commiting of new version"
156
- else
157
- sh %{svn commit -m "Updated to version #{PKG_VERSION}" lib/rubygems/rubygems_version.rb} # "
158
- end
159
- end
65
+ task :sanity_check do
66
+ abort "svn status dirty. commit or revert them" unless `svn st`.empty?
160
67
  end
161
68
 
162
- task :tag => [:prerelease] do
69
+ task :tag => [:sanity_check] do
163
70
  reltag = "REL_#{PKG_VERSION.gsub(/\./, '_')}"
164
- reltag = "REL_#{ENV['REUSE'].gsub(/\./, '_')}" if ENV['REUSE']
165
- warn "Tagging SVN with [#{reltag}]"
166
- software_dir = File.basename(Dir.pwd)
167
- if ENV['RELTEST'] then
168
- warn "Release Task Testing, skipping SVN tagging (in dir #{software_dir})"
169
- else
170
- sh %{svn copy svn+ssh://rubyforge.org/var/svn/rubygems/trunk svn+ssh://rubyforge.org/var/svn/rubygems/tags/#{reltag}}
171
- end
172
- end
173
-
174
- begin # rcov
175
- require 'rcov/rcovtask'
176
-
177
- Rcov::RcovTask.new do |t|
178
- t.libs << "test"
179
- t.rcov_opts = ['-xRakefile', '-xrakefile', '-xpublish.rf', '--text-report']
180
- t.test_files = FileList[
181
- 'test/{functional,test}*.rb'
182
- ]
183
- t.verbose = true
184
- end
185
- rescue LoadError
186
- end
187
-
188
- begin # rdoc
189
- gem 'rdoc'
190
- require 'rdoc/task'
191
-
192
- desc "Create the RDoc html files"
193
- RDoc::Task.new :rdoc do |rdoc|
194
- rdoc.rdoc_dir = 'html'
195
- rdoc.title = "RubyGems #{CURRENT_VERSION}"
196
- rdoc.options << '--line-numbers' << '--main' << 'README'
197
- rdoc.rdoc_files.include 'README', 'LICENSE.txt', 'GPL.txt', 'lib', 'doc'
198
- end
199
-
200
- desc "Publish RDoc on RubyForge"
201
- task :publish_rdoc => ["html/index.html"] do
202
- sh "rsync -avP --delete html/ rubyforge.org:/var/www/gforge-projects/rubygems/rdoc"
203
- end
204
- rescue Gem::LoadError
205
- warn "install RDoc 2.4.2+"
206
- end
207
-
208
- # Wiki Doc Targets
209
-
210
- desc "Upload the Hieraki Data"
211
- task :upload => [:upload_gemdoc]
212
-
213
- task :upload_gemdoc => ['scripts/gemdoc.hieraki'] do
214
- ruby %{scripts/upload_gemdoc.rb}
215
- end
216
-
217
- desc "Build the Hieraki documentation"
218
- task :hieraki => ['scripts/gemdoc.hieraki', 'scripts/specdoc.hieraki']
219
-
220
- file 'scripts/gemdoc.hieraki' => ['scripts/gemdoc.rb', 'scripts/gemdoc.data'] do
221
- chdir('scripts') do
222
- ruby %{-I../lib gemdoc.rb <gemdoc.data >gemdoc.hieraki}
223
- end
224
- end
225
-
226
- file 'scripts/specdoc.hieraki' =>
227
- ['scripts/specdoc.rb', 'scripts/specdoc.data', 'scripts/specdoc.yaml'] do
228
- chdir('scripts') do
229
- ruby %{-I../lib specdoc.rb >specdoc.hieraki}
230
- end
231
- end
232
-
233
- # Package tasks
234
-
235
- PKG_FILES = File.read('Manifest.txt').split "\n"
236
-
237
- Rake::PackageTask.new :package do |p|
238
- p.name = PKG_NAME
239
- p.version = PKG_VERSION
240
- p.need_tar = true
241
- p.need_zip = true
242
- p.package_files = PKG_FILES
243
- end
244
-
245
- warn_unsigned = true
246
-
247
- Spec = Gem::Specification.new do |s|
248
- s.name = PKG_NAME + "-update"
249
- s.version = PKG_VERSION
250
- s.required_ruby_version = Gem::Requirement.new '> 1.8.3'
251
- s.summary = "RubyGems update gem"
252
- s.description = <<-DESCRIPTION
253
- RubyGems is a package management framework for Ruby.
254
-
255
- This gem is an update for the RubyGems software. You must have an
256
- installation of RubyGems before this update can be applied.
257
- DESCRIPTION
258
- s.files = PKG_FILES
259
- s.require_path = 'lib'
260
- s.authors = ['Jim Weirich', 'Chad Fowler', 'Eric Hodel']
261
- s.email = "rubygems-developers@rubyforge.org"
262
- s.homepage = "http://rubygems.rubyforge.org"
263
- s.rubyforge_project = "rubygems"
264
- s.bindir = "bin"
265
- s.executables = ["update_rubygems"]
266
-
267
- certdir = ENV['CERT_DIR']
268
-
269
- if certdir then
270
- key = File.join certdir, 'gem-private_key.pem'
271
- cert = File.join certdir, 'gem-public_cert.pem'
272
-
273
- warn_unsigned = ! (File.exist? key and File.exist? cert)
274
-
275
- unless warn_unsigned then
276
- s.signing_key = File.join(certdir, 'gem-private_key.pem')
277
- s.cert_chain = [File.join(certdir, 'gem-public_cert.pem')]
278
- end
279
- end
280
- end
281
-
282
- # Add console output about signing the Gem
283
- file "pkg/#{Spec.full_name}.gem" do
284
- if warn_unsigned then
285
- warn "WARNING: gem will not be signed, no key or certificate found in #{ENV['CERT_DIR']}"
286
- else
287
- puts "Signed with certificates in '#{ENV['CERT_DIR']}'"
288
- end
289
- end
290
-
291
- Gem::PackageTask.new Spec do |p| end
292
-
293
- desc "Build the Gem spec file for the rubygems-update package"
294
- task :gemspec => "pkg/rubygems-update.gemspec"
295
- file "pkg/rubygems-update.gemspec" => ["pkg", "Rakefile"] do |t|
296
- open t.name, 'w' do |f|
297
- f.puts Spec.to_yaml
298
- end
299
- end
300
-
301
- desc "Install RubyGems"
302
- task :install do
303
- opts = ENV['SETUP_OPTIONS']
304
- ruby "setup.rb #{opts}".strip
305
-
306
- svnversion = `svnversion`.split(':').last.sub(/[^\d]+/, '').strip
307
-
308
- unless svnversion.empty? then
309
- File.read('lib/rubygems/rubygems_version.rb') =~ /RubyGemsVersion = '(.*)'/
310
- current_version = $1.split '.', 4
311
- rubygems_version = (current_version[0, 3] << svnversion).join '.'
312
- rubygems_version_file = File.join Gem::ConfigMap[:sitelibdir], 'rubygems',
313
- 'rubygems_version.rb'
314
-
315
- generate_rubygems_version rubygems_version_file, rubygems_version
316
- end
71
+ svn_url = "svn+ssh://rubyforge.org/var/svn/rubygems"
72
+ sh %{svn copy #{svn_url}/trunk #{svn_url}/tags/#{reltag}}
317
73
  end
318
74
 
319
75
  # Misc Tasks ---------------------------------------------------------
@@ -335,6 +91,8 @@ file 'util/gem_prelude.rb' =>
335
91
  raise 'template error' unless
336
92
  gem_prelude.sub!(/^ # INCLUDE rubygems\/defaults\n/, defaults)
337
93
 
94
+ rm_f 'util/gem_prelude.rb'
95
+
338
96
  open 'util/gem_prelude.rb', 'w' do |io|
339
97
  io.write gem_prelude
340
98
  end
@@ -349,47 +107,45 @@ end
349
107
  # If you don't have this directory structure, set RUBY_PATH and/or
350
108
  # RUBINIUS_PATH.
351
109
 
352
- diff_options = "-urpN --exclude '*svn*' --exclude '*swp' --exclude '*rbc'"
353
- rsync_options = "-avP --exclude '*svn*' --exclude '*swp' --exclude '*rbc' --exclude '*.rej' --exclude '*.orig' --exclude 'lib/rubygems/defaults/*'"
354
-
355
- rubinius_dir = ENV['RUBINIUS_PATH'] || '../../../git/git.rubini.us/code'
356
- ruby_dir = ENV['RUBY_PATH'] || '../../ruby/trunk'
110
+ def rsync_with dir
111
+ rsync_options = "-avP --exclude '*svn*' --exclude '*swp' --exclude '*rbc'" +
112
+ "--exclude '*.rej' --exclude '*.orig' --exclude 'lib/rubygems/defaults/*'"
113
+ sh "rsync #{rsync_options} bin/gem #{dir}/bin/gem"
114
+ sh "rsync #{rsync_options} lib/ #{dir}/lib"
115
+ sh "rsync #{rsync_options} test/ #{dir}/test/rubygems"
116
+ sh "rsync #{rsync_options} util/gem_prelude.rb #{dir}/gem_prelude.rb"
117
+ end
357
118
 
358
- desc "Updates Ruby HEAD with the currently checked-out copy of RubyGems."
359
- task :update_ruby => 'util/gem_prelude.rb' do
360
- sh "rsync #{rsync_options} bin/gem #{ruby_dir}/bin/gem"
361
- sh "rsync #{rsync_options} lib/ #{ruby_dir}/lib"
362
- sh "rsync #{rsync_options} test/ #{ruby_dir}/test/rubygems"
363
- sh "rsync #{rsync_options} util/gem_prelude.rb #{ruby_dir}/gem_prelude.rb"
119
+ def diff_with dir
120
+ diff_options = "-urpN --exclude '*svn*' --exclude '*swp' --exclude '*rbc'"
121
+ sh "diff #{diff_options} bin/gem #{dir}/bin/gem; true"
122
+ sh "diff #{diff_options} lib/ubygems.rb #{dir}/lib/ubygems.rb; true"
123
+ sh "diff #{diff_options} lib/rubygems.rb #{dir}/lib/rubygems.rb; true"
124
+ sh "diff #{diff_options} lib/rubygems #{dir}/lib/rubygems; true"
125
+ sh "diff #{diff_options} lib/rbconfig #{dir}/lib/rbconfig; true"
126
+ sh "diff #{diff_options} test #{dir}/test/rubygems; true"
127
+ sh "diff #{diff_options} util/gem_prelude.rb #{dir}/gem_prelude.rb; true"
364
128
  end
365
129
 
366
- desc "Diffs Ruby HEAD with the currently checked-out copy of RubyGems."
367
- task :diff_ruby => 'util/gem_prelude.rb' do
368
- options = "-urpN --exclude '*svn*' --exclude '*swp' --exclude '*rbc'"
130
+ rubinius_dir = ENV['RUBINIUS_PATH'] || '../../../git/git.rubini.us/code'
131
+ ruby_dir = ENV['RUBY_PATH'] || '../../ruby/trunk'
369
132
 
370
- sh "diff #{diff_options} bin/gem #{ruby_dir}/bin/gem; true"
371
- sh "diff #{diff_options} lib/ubygems.rb #{ruby_dir}/lib/ubygems.rb; true"
372
- sh "diff #{diff_options} lib/rubygems.rb #{ruby_dir}/lib/rubygems.rb; true"
373
- sh "diff #{diff_options} lib/rubygems #{ruby_dir}/lib/rubygems; true"
374
- sh "diff #{diff_options} lib/rbconfig #{ruby_dir}/lib/rbconfig; true"
375
- sh "diff #{diff_options} test #{ruby_dir}/test/rubygems; true"
376
- sh "diff #{diff_options} util/gem_prelude.rb #{ruby_dir}/gem_prelude.rb; true"
133
+ desc "Updates Ruby HEAD with the currently checked-out copy of RubyGems."
134
+ task :update_ruby => 'util/gem_prelude.rb' do
135
+ rsync_with ruby_dir
377
136
  end
378
137
 
379
138
  desc "Updates Rubinius HEAD with the currently checked-out copy of RubyGems."
380
139
  task :update_rubinius => 'util/gem_prelude.rb' do
381
- sh "rsync #{rsync_options} bin/gem #{rubinius_dir}/lib/bin/gem.rb"
382
- sh "rsync #{rsync_options} lib/ #{rubinius_dir}/lib"
383
- sh "rsync #{rsync_options} test/ #{rubinius_dir}/test/rubygems"
384
- sh "rsync #{rsync_options} util/gem_prelude.rb #{rubinius_dir}/kernel/common/gem_prelude.rb"
140
+ rsync_with rubinius_dir
141
+ end
142
+
143
+ desc "Diffs Ruby HEAD with the currently checked-out copy of RubyGems."
144
+ task :diff_ruby => 'util/gem_prelude.rb' do
145
+ diff_with ruby_dir
385
146
  end
386
147
 
387
148
  desc "Diffs Rubinius HEAD with the currently checked-out copy of RubyGems."
388
- task :diff_rubinius => 'util/gem_prelude.rb' do
389
- sh "diff #{diff_options} bin/gem #{rubinius_dir}/lib/bin/gem.rb; true"
390
- sh "diff #{diff_options} lib/ubygems.rb #{rubinius_dir}/lib/ubygems.rb; true"
391
- sh "diff #{diff_options} lib/rubygems.rb #{rubinius_dir}/lib/rubygems.rb; true"
392
- sh "diff #{diff_options} lib/rubygems #{rubinius_dir}/lib/rubygems; true"
393
- sh "diff #{diff_options} test #{rubinius_dir}/test/rubygems; true"
394
- sh "diff #{diff_options} util/gem_prelude.rb #{rubinius_dir}/kernel/common/gem_prelude.rb; true"
149
+ task :diff_rubinius => 'util/gem_prelude.rb' do
150
+ diff_with rubinius_dir
395
151
  end