rubygems-update 0.8.3
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 +2335 -0
- data/README +54 -0
- data/Rakefile +293 -0
- data/Releases +98 -0
- data/TODO +7 -0
- data/bin/gem +11 -0
- data/bin/gem_server +111 -0
- data/bin/generate_yaml_index.rb +58 -0
- data/bin/update_rubygems +18 -0
- data/doc/doc.css +73 -0
- data/doc/makedoc.rb +4 -0
- data/examples/application/an-app.gemspec +26 -0
- data/examples/application/bin/myapp +3 -0
- data/examples/application/lib/somefunctionality.rb +3 -0
- data/gemspecs/README +4 -0
- data/gemspecs/cgikit-1.1.0.gemspec +18 -0
- data/gemspecs/jabber4r.gemspec +26 -0
- data/gemspecs/linguistics.gemspec +22 -0
- data/gemspecs/ook.gemspec +21 -0
- data/gemspecs/progressbar.gemspec +22 -0
- data/gemspecs/redcloth.gemspec +22 -0
- data/gemspecs/rublog.gemspec +23 -0
- data/gemspecs/ruby-doom.gemspec +21 -0
- data/gemspecs/rubyjdwp.gemspec +21 -0
- data/gemspecs/statistics.gemspec +21 -0
- data/lib/rubygems.rb +353 -0
- data/lib/rubygems/builder.rb +54 -0
- data/lib/rubygems/cmd_manager.rb +127 -0
- data/lib/rubygems/command.rb +191 -0
- data/lib/rubygems/config_file.rb +57 -0
- data/lib/rubygems/doc_manager.rb +94 -0
- data/lib/rubygems/format.rb +65 -0
- data/lib/rubygems/gem_commands.rb +925 -0
- data/lib/rubygems/gem_runner.rb +23 -0
- data/lib/rubygems/installer.rb +621 -0
- data/lib/rubygems/loadpath_manager.rb +108 -0
- data/lib/rubygems/old_format.rb +150 -0
- data/lib/rubygems/open-uri.rb +604 -0
- data/lib/rubygems/package.rb +740 -0
- data/lib/rubygems/remote_installer.rb +499 -0
- data/lib/rubygems/rubygems_version.rb +6 -0
- data/lib/rubygems/source_index.rb +130 -0
- data/lib/rubygems/specification.rb +613 -0
- data/lib/rubygems/user_interaction.rb +176 -0
- data/lib/rubygems/validator.rb +148 -0
- data/lib/rubygems/version.rb +279 -0
- data/lib/ubygems.rb +4 -0
- data/pkgs/sources/lib/sources.rb +6 -0
- data/pkgs/sources/sources.gemspec +14 -0
- data/post-install.rb +75 -0
- data/redist/session.gem +433 -0
- data/scripts/buildtests.rb +25 -0
- data/scripts/gemdoc.rb +62 -0
- data/scripts/runtest.rb +17 -0
- data/scripts/specdoc.rb +164 -0
- data/setup.rb +1360 -0
- data/test/bogussources.rb +5 -0
- data/test/data/legacy/keyedlist-0.4.0.ruby +11 -0
- data/test/data/legacy/keyedlist-0.4.0.yaml +16 -0
- data/test/data/lib/code.rb +1 -0
- data/test/data/one/README.one +1 -0
- data/test/data/one/lib/one.rb +3 -0
- data/test/data/one/one.gemspec +17 -0
- data/test/data/one/one.yaml +40 -0
- data/test/functional.rb +145 -0
- data/test/gemenvironment.rb +45 -0
- data/test/gemutilities.rb +18 -0
- data/test/insure_session.rb +46 -0
- data/test/mock/gems/gems/sources-0.0.1/lib/sources.rb +5 -0
- data/test/mock/gems/specifications/sources-0.0.1.gemspec +8 -0
- data/test/mockgemui.rb +45 -0
- data/test/onegem.rb +23 -0
- data/test/simple_gem.rb +66 -0
- data/test/test_builder.rb +13 -0
- data/test/test_cached_fetcher.rb +60 -0
- data/test/test_check_command.rb +28 -0
- data/test/test_command.rb +130 -0
- data/test/test_configfile.rb +36 -0
- data/test/test_format.rb +70 -0
- data/test/test_gemloadpaths.rb +45 -0
- data/test/test_gempaths.rb +115 -0
- data/test/test_loadmanager.rb +40 -0
- data/test/test_local_cache.rb +157 -0
- data/test/test_package.rb +600 -0
- data/test/test_parse_commands.rb +179 -0
- data/test/test_process_commands.rb +21 -0
- data/test/test_remote_fetcher.rb +162 -0
- data/test/test_remote_installer.rb +154 -0
- data/test/test_source_index.rb +58 -0
- data/test/test_specification.rb +286 -0
- data/test/test_validator.rb +53 -0
- data/test/test_version_comparison.rb +204 -0
- data/test/testgem.rc +6 -0
- data/test/user_capture.rb +1 -0
- data/test/yaml_data.rb +59 -0
- metadata +151 -0
data/README
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
= RubyGems
|
2
|
+
|
3
|
+
(See Releases for release-specific information)
|
4
|
+
|
5
|
+
== For user documentation (and installation instructions) see
|
6
|
+
|
7
|
+
* {Quick Introduction}[http://rubygems.rubyforge.org/wiki/wiki.pl?Quick_Introduction]
|
8
|
+
* {User Guide}[http://rubygems.rubyforge.org/wiki/wiki.pl?UserGuide]
|
9
|
+
|
10
|
+
== For developer docs see
|
11
|
+
|
12
|
+
* {Create a Gem in Ten Minutes}[http://rubygems.rubyforge.org/wiki/wiki.pl?CreateAGemInTenMinutes]
|
13
|
+
* {Developers Guide}[http://rubygems.rubyforge.org/wiki/wiki.pl?DeveloperGuide]
|
14
|
+
* {GEM Specification}[http://rubygems.rubyforge.org/wiki/wiki.pl?GemSpecification]
|
15
|
+
|
16
|
+
== The home page of the RubyGems wiki
|
17
|
+
|
18
|
+
* {RubyGems Home}[http://rubygems.rubyforge.org]
|
19
|
+
|
20
|
+
== Additional directories
|
21
|
+
|
22
|
+
[./bin/...] binary commands (gem, gem_server, etc)
|
23
|
+
[./lib/...] the RubyGems library
|
24
|
+
[./packages/...] default RubyGems packages (currently only 'sources')
|
25
|
+
[./test/...] unit and functional tests
|
26
|
+
[./examples/...] example library w/gemspec for generating and installing gems
|
27
|
+
[./gemspecs/...] example gemspecs
|
28
|
+
|
29
|
+
== Credits
|
30
|
+
|
31
|
+
RubyGems was originally developed at RubyConf 2003 by:
|
32
|
+
|
33
|
+
* Rich Kilmer -- rich(at)infoether.com
|
34
|
+
* Chad Fowler -- chad(at)chadfowler.com
|
35
|
+
* David Black -- dblack(at)wobblini.net
|
36
|
+
* Paul Brannan -- paul(at)atdesk.com
|
37
|
+
* Jim Weirch -- {jim(at)weirichhouse.org}[mailto:jim@weirichhouse.org]
|
38
|
+
|
39
|
+
== Contributors since then
|
40
|
+
|
41
|
+
* Gavin Sinclair -- gsinclair(at)soyabean.com.au
|
42
|
+
* George Marrows-- george.marrows(at)ntlworld.com
|
43
|
+
* Dick Davies -- rasputnik(at)hellooperator.net
|
44
|
+
* Mauricio Fernandez -- batsman.geo(at)yahoo.com
|
45
|
+
* Simon Strandgaard -- neoneye(at)adslhome.dk
|
46
|
+
* Ville Aine -- vaine(at)cs.helsinki.fi
|
47
|
+
|
48
|
+
== Feedback
|
49
|
+
|
50
|
+
Please provide us feedback at http://rubyforge.org/projects/rubygems
|
51
|
+
|
52
|
+
Thanks!
|
53
|
+
|
54
|
+
-The RubyGems Team
|
data/Rakefile
ADDED
@@ -0,0 +1,293 @@
|
|
1
|
+
# Rakefile for RubyGems -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rake/clean'
|
5
|
+
require 'rake/testtask'
|
6
|
+
require 'rake/packagetask'
|
7
|
+
require 'rake/gempackagetask'
|
8
|
+
require 'rake/rdoctask'
|
9
|
+
|
10
|
+
PKG_NAME = 'rubygems'
|
11
|
+
PKG_VERSION = `ruby -Ilib bin/gem environment packageversion`.chomp
|
12
|
+
|
13
|
+
CLEAN.include("COMMENTS")
|
14
|
+
CLOBBER.include(
|
15
|
+
"test/data/one/one-*0.0.1.gem",
|
16
|
+
"test/temp",
|
17
|
+
'test/data/gemhome',
|
18
|
+
'test/data/*.gem',
|
19
|
+
'scripts/*.wiki',
|
20
|
+
'data__',
|
21
|
+
'html',
|
22
|
+
'pkgs/sources/sources*.gem',
|
23
|
+
'.config',
|
24
|
+
'**/debug.log'
|
25
|
+
)
|
26
|
+
|
27
|
+
task :default => [:test]
|
28
|
+
|
29
|
+
desc "Run unit tests"
|
30
|
+
task :test do
|
31
|
+
test_name = ENV['TEST'] || 'test/test*.rb'
|
32
|
+
ruby %{-Ilib -rscripts/runtest -e 'run_tests("#{test_name}", true)'}
|
33
|
+
end
|
34
|
+
|
35
|
+
desc "Run Functional Tests"
|
36
|
+
task :functional do
|
37
|
+
test_name = ENV['TEST'] || 'test/functional.rb'
|
38
|
+
ruby %{-Ilib -rscripts/runtest -e 'run_tests("#{test_name}", true)'}
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "Run All Tests"
|
42
|
+
task :alltests do
|
43
|
+
test_name = ENV['TEST'] || 'test/{test,functional}*.rb'
|
44
|
+
ruby %{-Ilib -rscripts/runtest -e 'run_tests("#{test_name}", true)'}
|
45
|
+
end
|
46
|
+
|
47
|
+
desc "Run the tests for a build"
|
48
|
+
task :build_tests do
|
49
|
+
html_dir = ENV['TESTRESULTS'] || 'html/tests'
|
50
|
+
ruby %{-Ilib scripts/buildtests.rb #{html_dir}}
|
51
|
+
open("#{html_dir}/summary.html") do |inf|
|
52
|
+
open("#{html_dir}/summary.new", "w") do |outf|
|
53
|
+
inf.each do |line|
|
54
|
+
if line =~ /td align/
|
55
|
+
line = " <td align=\"left\">#{Time.now}</td><td align=\"right\">"
|
56
|
+
end
|
57
|
+
outf.puts line
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
mv "#{html_dir}/summary.html", "#{html_dir}/summary.old"
|
62
|
+
mv "#{html_dir}/summary.new", "#{html_dir}/summary.html"
|
63
|
+
end
|
64
|
+
|
65
|
+
# Shortcuts for test targets
|
66
|
+
task :ft => [:functional]
|
67
|
+
task :ut => [:test]
|
68
|
+
task :at => [:alltests]
|
69
|
+
|
70
|
+
task :gemtest do
|
71
|
+
ruby %{-Ilib -rscripts/runtest -e 'run_tests("test/test_gempaths.rb", true)'}
|
72
|
+
end
|
73
|
+
|
74
|
+
# --------------------------------------------------------------------
|
75
|
+
# Creating a release
|
76
|
+
|
77
|
+
def announce(msg='')
|
78
|
+
STDERR.puts msg
|
79
|
+
end
|
80
|
+
|
81
|
+
desc "Make a new release"
|
82
|
+
task :release => [
|
83
|
+
:prerelease,
|
84
|
+
:clobber,
|
85
|
+
:alltests,
|
86
|
+
:update_version,
|
87
|
+
:package,
|
88
|
+
:tag] do
|
89
|
+
|
90
|
+
announce
|
91
|
+
announce "**************************************************************"
|
92
|
+
announce "* Release #{ENV['REL']} Complete."
|
93
|
+
announce "* Packages ready to upload."
|
94
|
+
announce "**************************************************************"
|
95
|
+
announce
|
96
|
+
end
|
97
|
+
|
98
|
+
# Validate that everything is ready to go for a release.
|
99
|
+
task :prerelease do
|
100
|
+
announce
|
101
|
+
announce "**************************************************************"
|
102
|
+
announce "* Making RubyGem Release #{ENV['REL']}"
|
103
|
+
announce "* (current version #{PKG_VERSION})"
|
104
|
+
announce "**************************************************************"
|
105
|
+
announce
|
106
|
+
|
107
|
+
# Is a release number supplied?
|
108
|
+
unless ENV['REL']
|
109
|
+
fail "Usage: rake release REL=x.y.z [REUSE=tag_suffix]"
|
110
|
+
end
|
111
|
+
|
112
|
+
# Is the release different than the current release.
|
113
|
+
# (or is REUSE set?)
|
114
|
+
if PKG_VERSION == ENV['REL'] && ! ENV['REUSE']
|
115
|
+
fail "Current version is #{PKG_VERSION}, must specify REUSE=tag_suffix to reuse version"
|
116
|
+
end
|
117
|
+
|
118
|
+
# Are all source files checked in?
|
119
|
+
if ENV['RELTEST']
|
120
|
+
announce "Release Task Testing, skipping checked-in file test"
|
121
|
+
else
|
122
|
+
announce "Checking for unchecked-in files..."
|
123
|
+
data = `cvs -q update`
|
124
|
+
unless data =~ /^$/
|
125
|
+
fail "CVS update is not clean ... do you have unchecked-in files?"
|
126
|
+
end
|
127
|
+
announce "No outstanding checkins found ... OK"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
task :update_version => [:prerelease] do
|
132
|
+
if PKG_VERSION == ENV['REL']
|
133
|
+
announce "No version change ... skipping version update"
|
134
|
+
else
|
135
|
+
announce "Updating RubyGem version to #{ENV['REL']}"
|
136
|
+
open("lib/rubygems/rubygems_version.rb", "w") do |f|
|
137
|
+
f.puts "# DO NOT EDIT"
|
138
|
+
f.puts "# This file is auto-generated by build scripts."
|
139
|
+
f.puts "# See: rake update_version"
|
140
|
+
f.puts "module Gem"
|
141
|
+
f.puts " RubyGemsVersion = '#{ENV['REL']}'"
|
142
|
+
f.puts "end"
|
143
|
+
end
|
144
|
+
sh %{cvs commit -m "Updated to version #{ENV['REL']}" lib/rubygems/rubygems_version.rb}
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
task :tag => [:prerelease] do
|
149
|
+
reltag = "REL_#{ENV['REL'].gsub(/\./, '_')}"
|
150
|
+
reltag << ENV['REUSE'] if ENV['REUSE']
|
151
|
+
announce "Tagging CVS with [#{reltag}]"
|
152
|
+
sh %{cvs tag #{reltag}}
|
153
|
+
end
|
154
|
+
|
155
|
+
# --------------------------------------------------------------------
|
156
|
+
# Create a task to build the RDOC documentation tree.
|
157
|
+
|
158
|
+
desc "Create the RDOC html files"
|
159
|
+
rd = Rake::RDocTask.new("rdoc") { |rdoc|
|
160
|
+
rdoc.rdoc_dir = 'html'
|
161
|
+
# rdoc.template = 'kilmer'
|
162
|
+
# rdoc.template = 'css2'
|
163
|
+
rdoc.template = 'jamis'
|
164
|
+
rdoc.title = "RubyGems"
|
165
|
+
rdoc.options << '--line-numbers' << '--inline-source' << '--main' << 'README'
|
166
|
+
rdoc.rdoc_files.include('README', 'TODO', 'Releases')
|
167
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
168
|
+
rdoc.rdoc_files.include('test/**/*.rb')
|
169
|
+
}
|
170
|
+
|
171
|
+
file "html/index.html" => [:rdoc]
|
172
|
+
|
173
|
+
desc "Publish the RDOCs on RubyForge"
|
174
|
+
task :publish_rdoc => ["html/index.html"] do
|
175
|
+
# NOTE: This task assumes that you have an SSH alias setup for rubyforge.
|
176
|
+
mkdir_p "emptydir"
|
177
|
+
sh "scp -rq emptydir rubyforge:/var/www/gforge-projects/rubygems/rdoc"
|
178
|
+
sh "scp -rq html/* rubyforge:/var/www/gforge-projects/rubygems/rdoc"
|
179
|
+
rm_r "emptydir"
|
180
|
+
end
|
181
|
+
|
182
|
+
# Wiki Doc Targets
|
183
|
+
|
184
|
+
desc "Build the Wiki documentation"
|
185
|
+
task :wiki => ['scripts/gemdoc.wiki', 'scripts/specdoc.wiki']
|
186
|
+
|
187
|
+
file 'scripts/gemdoc.wiki' => ['scripts/gemdoc.rb', 'scripts/gemdoc.data'] do
|
188
|
+
chdir('scripts') do
|
189
|
+
ruby %{-I../lib gemdoc.rb <gemdoc.data >gemdoc.wiki}
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
file 'scripts/specdoc.wiki' =>
|
194
|
+
['scripts/specdoc.rb', 'scripts/specdoc.data', 'scripts/specdoc.yaml'] do
|
195
|
+
chdir('scripts') do
|
196
|
+
ruby %{-I../lib specdoc.rb >specdoc.wiki}
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
# Package tasks
|
201
|
+
|
202
|
+
PKG_FILES = FileList[
|
203
|
+
"Rakefile", "ChangeLog", "Releases", "TODO", "README",
|
204
|
+
"setup.rb",
|
205
|
+
"post-install.rb",
|
206
|
+
"bin/*",
|
207
|
+
"doc/*.css", "doc/*.rb",
|
208
|
+
"examples/**/*",
|
209
|
+
"gemspecs/**/*",
|
210
|
+
"lib/**/*.rb",
|
211
|
+
"pkgs/**/*",
|
212
|
+
"redist/*.gem",
|
213
|
+
"scripts/*.rb",
|
214
|
+
"test/**/*"
|
215
|
+
]
|
216
|
+
PKG_FILES.exclude(%r(^test/temp(/|$)))
|
217
|
+
|
218
|
+
Rake::PackageTask.new("package") do |p|
|
219
|
+
p.name = PKG_NAME
|
220
|
+
p.version = PKG_VERSION
|
221
|
+
p.need_tar = true
|
222
|
+
p.need_zip = true
|
223
|
+
p.package_files = PKG_FILES
|
224
|
+
end
|
225
|
+
|
226
|
+
spec = Gem::Specification.new do |s|
|
227
|
+
s.name = PKG_NAME + "-update"
|
228
|
+
s.version = PKG_VERSION
|
229
|
+
s.summary = "RubyGems Update GEM"
|
230
|
+
s.description = %{RubyGems is a package management framework for Ruby. This Gem
|
231
|
+
is a update for the base RubyGems software. You must have a base
|
232
|
+
installation of RubyGems before this update can be applied.
|
233
|
+
}
|
234
|
+
s.files = PKG_FILES.to_a
|
235
|
+
s.require_path = 'lib'
|
236
|
+
s.author = "RubyGems Team"
|
237
|
+
s.email = "rubygems-developers@rubyforge.org"
|
238
|
+
s.homepage = "http://rubygems.rubyforge.org"
|
239
|
+
s.rubyforge_project = "rubygems"
|
240
|
+
s.bindir = "bin" # Use these for applications.
|
241
|
+
s.executables = ["update_rubygems"]
|
242
|
+
end
|
243
|
+
|
244
|
+
Rake::GemPackageTask.new(spec) do |p| end
|
245
|
+
|
246
|
+
# Install RubyGems
|
247
|
+
|
248
|
+
desc "Install RubyGems"
|
249
|
+
task :install do
|
250
|
+
ruby 'install.rb'
|
251
|
+
end
|
252
|
+
|
253
|
+
# Run 'gem' (using local bin and lib directories).
|
254
|
+
# e.g.
|
255
|
+
# rake rungem -- install -r blahblah --test
|
256
|
+
|
257
|
+
desc "Run local 'gem'"
|
258
|
+
task :rungem do
|
259
|
+
ARGV.shift
|
260
|
+
exec "ruby -Ilib bin/gem #{ARGV.join(' ')}"
|
261
|
+
end
|
262
|
+
|
263
|
+
# Misc Tasks ---------------------------------------------------------
|
264
|
+
|
265
|
+
def egrep(pattern)
|
266
|
+
Dir['**/*.rb'].each do |fn|
|
267
|
+
count = 0
|
268
|
+
open(fn) do |f|
|
269
|
+
while line = f.gets
|
270
|
+
count += 1
|
271
|
+
if line =~ pattern
|
272
|
+
puts "#{fn}:#{count}:#{line}"
|
273
|
+
end
|
274
|
+
end
|
275
|
+
end
|
276
|
+
end
|
277
|
+
end
|
278
|
+
|
279
|
+
desc "Look for TODO and FIXME tags in the code"
|
280
|
+
task :todo do
|
281
|
+
egrep /#.*(FIXME|TODO|TBD)/
|
282
|
+
end
|
283
|
+
|
284
|
+
desc "Look for Debugging print lines"
|
285
|
+
task :dbg do
|
286
|
+
egrep /\bDBG|\bbreakpoint\b/
|
287
|
+
end
|
288
|
+
|
289
|
+
desc "List all ruby files"
|
290
|
+
task :rubyfiles do
|
291
|
+
puts Dir['**/*.rb'].reject { |fn| fn =~ /^pkg/ }
|
292
|
+
puts Dir['bin/*'].reject { |fn| fn =~ /CVS|(~$)|(\.rb$)/ }
|
293
|
+
end
|
data/Releases
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
= RubyGems Release History
|
2
|
+
|
3
|
+
== Release 0.8.0: Sep 12, 2004
|
4
|
+
|
5
|
+
* Remove need for library stubs. Set the RUBYOPT environment variable
|
6
|
+
to include "rrubygems", and a normal require will find gem files.
|
7
|
+
Continue to use 'require_gem gem_name, version' to specify gem
|
8
|
+
versions.
|
9
|
+
* Deprecated "test_suite_file" gemspec attribute in favor of "test_files" array.
|
10
|
+
* Generates rdoc by default on installs.
|
11
|
+
* Adopted tar/gzip file format, thanks to Mauricio Fernandez.
|
12
|
+
* "gem rdoc" allows generation of rdoc after gem installation (will add a "gem test"
|
13
|
+
* Application stubs can now accept an optional parameter of _VERSION_ that will run
|
14
|
+
an arbitrary version of the application requested.
|
15
|
+
* Various bug fixes
|
16
|
+
* Various platform-independency improvements
|
17
|
+
* "gem spec --all" displays spec info for all installed version of a given gem.
|
18
|
+
* Dynamic caching of sources
|
19
|
+
* Support for user-definable sources on the command line (thanks Assaph Mehr)
|
20
|
+
* More intelligent support for platform-dependent gems. Use Platform::CURRENT when
|
21
|
+
building a gem to set its platform to the one you're building on. Installation
|
22
|
+
displays a choice of platform-dependent gems, allowing the user to pick.
|
23
|
+
* Added "gem unpack" for "unpacking" a gem to the current directory
|
24
|
+
|
25
|
+
== Release 0.7.0: Jul 9, 2004
|
26
|
+
|
27
|
+
* See ChangeLog.
|
28
|
+
|
29
|
+
== Release 0.6.0: Jun 8, 2004
|
30
|
+
* Collapse output of --search and --list (and gem_server) operations so
|
31
|
+
that each gem is listed only once, with each of its versions listed
|
32
|
+
on the same line.
|
33
|
+
|
34
|
+
* bin/gem: new --upgrade-all option allows one to upgrade every
|
35
|
+
installed gem
|
36
|
+
|
37
|
+
* new #required_ruby_version attribute added to gem specification for
|
38
|
+
specifying a dependency on which version of ruby the gem needs.
|
39
|
+
Format it accepts is the same as the Gem::Version::Requirement
|
40
|
+
format:
|
41
|
+
spec.required_ruby_version = "> 1.8.0"
|
42
|
+
|
43
|
+
* --install-stub defaults to true, so library stubs are created
|
44
|
+
|
45
|
+
== Release 0.5.0: Jun 6, 2004
|
46
|
+
|
47
|
+
* Jim added the ability to specify version constraints to avoid API
|
48
|
+
incompatibilities. This has been the subject of much debate for
|
49
|
+
the past couple of months, with many ideas and code contributed by
|
50
|
+
Eivind Eklund and Mauricio Fernandez. The following set of
|
51
|
+
assertions shows how it works:
|
52
|
+
|
53
|
+
assert_inadequate("1.3", "~> 1.4")
|
54
|
+
assert_adequate( "1.4", "~> 1.4")
|
55
|
+
assert_adequate( "1.5", "~> 1.4")
|
56
|
+
assert_inadequate("2.0", "~> 1.4") # This one is key--the new operator disallows major version number differences.
|
57
|
+
|
58
|
+
* Group gem search output when multiple versions exist for a given gem:
|
59
|
+
|
60
|
+
activerecord (0.7.8, 0.7.7, 0.7.6, 0.7.5)
|
61
|
+
Implements the ActiveRecord pattern for ORM.
|
62
|
+
|
63
|
+
* Add arbitrary RDoc-able files via gemspec (not just Ruby source
|
64
|
+
files) for people who have, for example, README.rdoc in their
|
65
|
+
distributions. Add to gemspec via: spec.extra_rdoc_files = ["list",
|
66
|
+
"of", "files"]. Ruby files are automatically included.
|
67
|
+
|
68
|
+
* Some small bug fixes
|
69
|
+
|
70
|
+
|
71
|
+
== Release 0.4.0: May 31, 2004
|
72
|
+
|
73
|
+
* Minor bug fixes including Windows compatability issues
|
74
|
+
|
75
|
+
== Release 0.3.0: April 30, 2004
|
76
|
+
|
77
|
+
* Cleanup of command-line arguments and handling. Most commands
|
78
|
+
accept a --local or --remote modifier.
|
79
|
+
* Creation of Application Gems (packages that include executable
|
80
|
+
programs). See
|
81
|
+
http://rubygems.rubyforge.org/wiki/wiki.pl?DeveloperGuide for
|
82
|
+
information on how to use it.
|
83
|
+
* Basic functionality for installing binary gems from source
|
84
|
+
(:extensions property of gem specification holds an array of paths
|
85
|
+
to extconf.rb files to be used for compilation)
|
86
|
+
* Install library "stub" allowing a normal 'require' to work (which then does the rubygems require and 'require_gem'
|
87
|
+
* --run-tests runs the test suite specified by the "test_suite_file"
|
88
|
+
property of a gem specification
|
89
|
+
* HTTP Proxy support works. Rewrite of HTTP code.
|
90
|
+
* Unit and functional tests added (see Rakefile).
|
91
|
+
* Prompt before remote-installing dependencies during gem installation.
|
92
|
+
* Config file for storing preferences for 'gem' command usage.
|
93
|
+
* Generally improved error messages (still more work to do)
|
94
|
+
* Rearranged gem directory structure for cleanliness.
|
95
|
+
|
96
|
+
== Release 0.2.0: March 14, 2004
|
97
|
+
|
98
|
+
* Initial public release
|
data/TODO
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
* support for installing binary (pre-compiled), platform-dependent gems. This already works as long as you pick the right gem manually, but I'd like the remote installer to intelligently select the right one and for the installer to throw an error (or a warning) if you attempt o install (e.g.) a Windows gem on a linux system. Requires a lot of data to be collected on platform dependency fulfillment.
|
2
|
+
* syncing gem repositories
|
3
|
+
* optional dependencies: "semitar can use REXML, but it works better if you have the ruby raptor library installed", or not so optional as in: "you need Ruby/RSS > = 1.0 OR rss > 0.91 for this library to work"
|
4
|
+
* ri data generation
|
5
|
+
* Integration with platform-native packaging systems
|
6
|
+
* MD5 summing stuff doesn't work right on the new format (0.8.0+)
|
7
|
+
* Rethink testing strategy. May need to write a document describing how to avoid doing things in unit tests that won't work outside of `pwd`
|