rubygems-update 1.3.4 → 1.3.5

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.

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