reap 9.3.5 → 9.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +10 -0
- data/MANIFEST +37 -21
- data/NOTES +13 -11
- data/bin/reap-announce +40 -2
- data/bin/reap-check-load +20 -2
- data/bin/reap-check-syntax +20 -2
- data/bin/reap-clean +24 -2
- data/bin/reap-clobber +17 -2
- data/bin/reap-doc +12 -2
- data/bin/reap-doc-rdoc +17 -2
- data/bin/reap-doc-ri +16 -2
- data/bin/reap-doc-spec +18 -0
- data/bin/reap-init +9 -0
- data/bin/reap-inspect +20 -2
- data/bin/reap-install +13 -2
- data/bin/reap-install-gem +14 -2
- data/bin/reap-log +15 -2
- data/bin/reap-log-changes +15 -2
- data/bin/reap-log-notes +20 -2
- data/bin/reap-make +16 -2
- data/bin/reap-make-clean +10 -2
- data/bin/reap-make-distclean +18 -2
- data/bin/reap-make-extconf +14 -2
- data/bin/reap-make-static +14 -2
- data/bin/reap-package +25 -2
- data/bin/reap-package-gem +14 -2
- data/bin/reap-package-tgz +14 -2
- data/bin/reap-package-zip +14 -2
- data/bin/reap-prepare +21 -2
- data/bin/reap-publish +25 -2
- data/bin/reap-release +22 -2
- data/bin/reap-rollout +32 -2
- data/bin/reap-scaffold +16 -2
- data/bin/reap-scm-branch +13 -2
- data/bin/reap-scm-tag +13 -2
- data/bin/reap-spec +14 -2
- data/bin/reap-stats +21 -2
- data/bin/reap-test +14 -2
- data/bin/reap-test-cross +23 -2
- data/bin/reap-test-load +17 -2
- data/bin/reap-test-solo +19 -2
- data/bin/reap-uninstall +14 -2
- data/bin/reap-uninstall-gem +17 -2
- data/bin/reap-version +10 -2
- data/lib/reap/announcement.rb +136 -0
- data/lib/reap/application.rb +3 -1
- data/lib/reap/default.yaml +12 -12
- data/lib/reap/defaults.rb +49 -0
- data/lib/reap/emailer.rb +189 -0
- data/lib/reap/extensions.rb +1 -2
- data/lib/reap/hosts.rb +4 -0
- data/lib/reap/hosts/host.rb +69 -0
- data/lib/reap/hosts/mailinglist.rb +83 -0
- data/lib/reap/{systems → hosts}/rubyforge.rb +72 -60
- data/lib/reap/hosts/rubytalk.rb +39 -0
- data/lib/reap/iobject.rb +5 -3
- data/lib/reap/metadata.rb +31 -4
- data/lib/reap/project.rb +101 -41
- data/lib/reap/project/announce.rb +50 -180
- data/lib/reap/project/check.rb +1 -1
- data/lib/reap/project/gem.rb +32 -68
- data/lib/reap/project/log.rb +12 -7
- data/lib/reap/project/make.rb +0 -1
- data/lib/reap/project/package.rb +228 -75
- data/lib/reap/project/rdoc.rb +9 -8
- data/lib/reap/project/release.rb +52 -6
- data/lib/reap/project/scm.rb +40 -25
- data/lib/reap/project/spec.rb +3 -3
- data/lib/reap/project/test.rb +1 -2
- data/lib/reap/project/version.rb +18 -4
- data/lib/reap/runmodes.rb +24 -0
- data/lib/reap/settings.rb +3 -14
- data/lib/reap/systems.rb +4 -0
- data/lib/reap/systems/git.rb +0 -0
- data/lib/reap/systems/hg.rb +0 -0
- data/lib/reap/systems/{subversion.rb → svn.rb} +47 -16
- data/lib/reap/systems/system.rb +53 -0
- data/lib/reap/tool.rb +38 -0
- data/lib/reap/utilities.rb +43 -86
- data/log/{Changelog.txt → changelog.rdoc} +56 -0
- data/log/fixme.rdoc +25 -0
- data/log/todo.rdoc +85 -0
- data/meta/project.yaml +13 -2
- data/meta/version +1 -0
- data/setup.rb +74 -64
- data/task/allshare.rb +109 -0
- data/task/clean +13 -0
- data/task/compile +28 -0
- data/task/configure +372 -0
- data/task/install +1481 -0
- data/test/case/test_init.rb +32 -0
- data/test/case/test_scaffold.rb +32 -0
- data/test/data/scaffold/meta/project.yaml +28 -0
- data/test/lib/case_testable.rb +23 -0
- metadata +64 -31
- data/bin/reap-spec-doc +0 -8
- data/demo/README +0 -15
- data/demo/lib/foo/foo.rb +0 -7
- data/demo/meta/VERSION +0 -1
- data/demo/meta/project.yaml +0 -21
- data/lib/reap/project/rubyforge.rb +0 -71
- data/lib/reap/project/svn.rb +0 -76
- data/log/Fixme.txt +0 -22
- data/log/Todo.txt +0 -84
- data/meta/VERSION +0 -1
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'reap/tool'
|
2
|
+
|
3
|
+
module Reap
|
4
|
+
module Systems
|
5
|
+
|
6
|
+
def self.registry
|
7
|
+
@registry ||= {}
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.current
|
11
|
+
System.factory
|
12
|
+
end
|
13
|
+
|
14
|
+
# = System
|
15
|
+
#
|
16
|
+
# Source Control system base class.
|
17
|
+
|
18
|
+
class System < Tool
|
19
|
+
|
20
|
+
include Utilities
|
21
|
+
|
22
|
+
def self.registry
|
23
|
+
Systems.registry
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.register(*names)
|
27
|
+
registry[name] = self
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.inherited(base)
|
31
|
+
registry[base.basename.downcase] = base
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.factory(name=nil)
|
35
|
+
name ||= detect
|
36
|
+
registry[name]
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.detect
|
40
|
+
scm = %w(.svn .git .hg _darcs CVS).find{ |f| File.exist?(f) }
|
41
|
+
case scm
|
42
|
+
when '.svn' then 'svn'
|
43
|
+
when '.git' then 'git'
|
44
|
+
when 'CVS' then 'cvs'
|
45
|
+
when '_darcs' then 'darcs'
|
46
|
+
when '.hg' then 'hg'
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
data/lib/reap/tool.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'reap/utilities'
|
2
|
+
|
3
|
+
module Reap
|
4
|
+
|
5
|
+
# = Tool
|
6
|
+
#
|
7
|
+
# The Tool class provides a common base classs for
|
8
|
+
# project tools.
|
9
|
+
|
10
|
+
class Tool
|
11
|
+
|
12
|
+
include Utilities
|
13
|
+
|
14
|
+
attr :project, :options
|
15
|
+
|
16
|
+
def self.from_project(project, options=nil)
|
17
|
+
new(project, options)
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize(project, options=nil)
|
21
|
+
@project = project
|
22
|
+
@options = (options || {}).rekey
|
23
|
+
end
|
24
|
+
|
25
|
+
def metadata
|
26
|
+
project.metadata
|
27
|
+
end
|
28
|
+
|
29
|
+
def force? ; project.force? ; end
|
30
|
+
def trace? ; project.trace? ; end
|
31
|
+
def debug? ; project.debug? ; end
|
32
|
+
def dryrun? ; project.dryrun? ; end
|
33
|
+
def verbose? ; project.verbose? ; end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
data/lib/reap/utilities.rb
CHANGED
@@ -1,20 +1,35 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'reap/extensions'
|
3
3
|
require 'facets/ziputils'
|
4
|
+
require 'facets/net/smtp_tls'
|
4
5
|
|
5
6
|
module Reap
|
6
7
|
|
8
|
+
# = Utilities
|
9
|
+
#
|
10
|
+
# Gerenal methods useful to project and tools.
|
11
|
+
|
7
12
|
module Utilities
|
8
13
|
|
9
|
-
attr_accessor :dryrun
|
10
|
-
attr_accessor :trace
|
11
|
-
attr_accessor :force
|
12
|
-
attr_accessor :verbose
|
14
|
+
#attr_accessor :dryrun
|
15
|
+
#attr_accessor :trace
|
16
|
+
#attr_accessor :force
|
17
|
+
#attr_accessor :verbose
|
18
|
+
|
19
|
+
#def dryrun? ; @dryrun ; end
|
20
|
+
#def trace? ; @trace ; end
|
21
|
+
#def force? ; @force ; end
|
22
|
+
#def verbose? ; @verbose ; end
|
23
|
+
|
24
|
+
# Helper method for cleaning list options.
|
25
|
+
# This will split the option on ':' or ';'
|
26
|
+
# if it is a string, rather than an array.
|
27
|
+
# And it will make sure there are no nil elements.
|
13
28
|
|
14
|
-
def
|
15
|
-
|
16
|
-
|
17
|
-
|
29
|
+
def list_option(option)
|
30
|
+
option = option.to_s.split(/[:;,]/) unless Array===option
|
31
|
+
[option].compact.flatten
|
32
|
+
end
|
18
33
|
|
19
34
|
# Internal status report.
|
20
35
|
# Only output if dryrun or trace mode.
|
@@ -289,6 +304,22 @@ module Reap
|
|
289
304
|
dryrun? ? ::ZipUtils::DryRun : ::ZipUtils
|
290
305
|
end
|
291
306
|
|
307
|
+
#
|
308
|
+
|
309
|
+
def compress(format, folder, file=nil, options={})
|
310
|
+
case format.to_s.downcase
|
311
|
+
when 'zip'
|
312
|
+
ziputils.zip(folder, file, options)
|
313
|
+
when 'tgz'
|
314
|
+
ziputils.tgz(folder, file, options)
|
315
|
+
when 'tbz', 'bzip'
|
316
|
+
ziputils.tar_bzip(folder, file, options)
|
317
|
+
else
|
318
|
+
raise ArguementError, "unsupported compression format -- #{format}"
|
319
|
+
end
|
320
|
+
end
|
321
|
+
|
322
|
+
=begin
|
292
323
|
# Zip folder into file.
|
293
324
|
|
294
325
|
def zip(folder, file=nil, options={})
|
@@ -306,87 +337,13 @@ module Reap
|
|
306
337
|
def tgz(folder, file=nil, options={})
|
307
338
|
ziputils.tgz(folder, file, options)
|
308
339
|
end
|
340
|
+
=end
|
309
341
|
|
310
|
-
|
311
|
-
|
312
|
-
#
|
313
|
-
# Settings:
|
314
|
-
#
|
315
|
-
# subject Subject of email message.
|
316
|
-
# from Message FROM address [email].
|
317
|
-
# to Email address to send announcemnt.
|
318
|
-
# server Email server to route message.
|
319
|
-
# port Email server's port.
|
320
|
-
# port_secure Email server's port.
|
321
|
-
# domain Email server's domain name.
|
322
|
-
# account Email account name if needed.
|
323
|
-
# password Password for login..
|
324
|
-
# login Login type: plain, cram_md5 or login [plain].
|
325
|
-
# secure Uses TLS security, true or false? [false]
|
326
|
-
# message Mesage to send -or-
|
327
|
-
# file File that contains message.
|
328
|
-
|
329
|
-
def email(message, settings)
|
330
|
-
settings ||= {}
|
331
|
-
settings.rekey
|
332
|
-
|
333
|
-
server = settings[:server]
|
334
|
-
account = settings[:account] || ENV['EMAIL_ACCOUNT']
|
335
|
-
passwd = settings[:password] || ENV['EMAIL_PASSWORD']
|
336
|
-
login = settings[:login]
|
337
|
-
subject = settings[:subject]
|
338
|
-
mail_to = settings[:to] || settings[:mail_to]
|
339
|
-
mail_from = settings[:from] || settings[:mail_from]
|
340
|
-
secure = settings[:secure]
|
341
|
-
domain = settings[:domain] || server
|
342
|
-
|
343
|
-
port = (settings[:port_secure] || 465) if secure
|
344
|
-
port = (settings[:port] || 25) unless secure
|
345
|
-
|
346
|
-
account ||= mail_from
|
347
|
-
login ||= :plain
|
348
|
-
|
349
|
-
login = login.to_sym
|
350
|
-
|
351
|
-
#mail_to = nil if mail_to.empty?
|
352
|
-
|
353
|
-
raise ArgumentError, "missing email field -- server" unless server
|
354
|
-
raise ArgumentError, "missing email field -- account" unless account
|
355
|
-
raise ArgumentError, "missing email field -- subject" unless subject
|
356
|
-
raise ArgumentError, "missing email field -- to" unless mail_to
|
357
|
-
raise ArgumentError, "missing email field -- from" unless mail_from
|
358
|
-
|
359
|
-
passwd ||= password("#{account} password:")
|
360
|
-
|
361
|
-
mail_to = [mail_to].flatten.compact
|
362
|
-
|
363
|
-
msg = ""
|
364
|
-
msg << "From: #{mail_from}\n"
|
365
|
-
msg << "To: #{mail_to.join(';')}\n"
|
366
|
-
msg << "Subject: #{subject}\n"
|
367
|
-
msg << ""
|
368
|
-
msg << message
|
369
|
-
|
370
|
-
if secure
|
371
|
-
Net::SMTP.send(:include, Net::SMTP::TLS)
|
372
|
-
Net::SMTP.enable_tls #if secure #if Net::SMTP.respond_to?(:enable_tls) and secure
|
373
|
-
end
|
374
|
-
|
375
|
-
begin
|
376
|
-
Net::SMTP.start(server, port, domain, account, passwd, login) do |smtp|
|
377
|
-
smtp.send_message(msg, mail_from, mail_to)
|
378
|
-
end
|
379
|
-
puts "Email sent successfully to #{mail_to.join(';')}."
|
380
|
-
return true
|
381
|
-
rescue => e
|
382
|
-
if trace?
|
383
|
-
raise e
|
384
|
-
else
|
385
|
-
abort "Email delivery failed."
|
386
|
-
end
|
387
|
-
end
|
342
|
+
def email(message, options)
|
343
|
+
Emailer.new(options).email(message)
|
388
344
|
end
|
389
345
|
|
390
346
|
end
|
391
347
|
|
392
348
|
end
|
349
|
+
|
@@ -1,7 +1,63 @@
|
|
1
1
|
= Subversion Changelog
|
2
2
|
|
3
|
+
== 2008-04-03 transami
|
4
|
+
|
5
|
+
* Moved demo to sandbox and update metadata. (260)
|
6
|
+
* Added demo metadata. (259)
|
7
|
+
* General bug-fixes. (258)
|
8
|
+
|
9
|
+
== 2008-04-02 transami
|
10
|
+
|
11
|
+
* Basic update to docs. (257)
|
12
|
+
* reap-make-extconf routes to make_config. (TODO: reconcille the two names). (256)
|
13
|
+
* reap-doc now generates both rdoc and ri docs. (255)
|
14
|
+
* Update reap-publish help. (254)
|
15
|
+
* Cross the board updates to support multiple hosts. (253)
|
16
|
+
* Updated svn system. (252)
|
17
|
+
* Added new hosts. (251)
|
18
|
+
* Removed old svn.rb --class handles it now. (250)
|
19
|
+
* Source control manager routes to scm classes. (249)
|
20
|
+
* Packaging now supports binary platform packages.
|
21
|
+
* Should work fine for Gems.
|
22
|
+
* Packages, but install needs refinement for source packages (ie. setup.rb). (248)
|
23
|
+
* Adjusted platform specification. (247)
|
24
|
+
* Remorked announce system to be more fleixble.
|
25
|
+
* Announce task now cycles through hosts looking for an announce method.
|
26
|
+
* Specify hosts used by project in the project metadata.
|
27
|
+
* Narrow host selection by using 'hosts:' in task's .reap config. (246)
|
28
|
+
|
29
|
+
== 2008-03-29 transami
|
30
|
+
|
31
|
+
* Renamed systems/subversion.rb to svn.rb. (245)
|
32
|
+
* Revert scms to systems change. (244)
|
33
|
+
* Moved systems to scms. (243)
|
34
|
+
* Moved systems/rubyforge.rb to hots/rubyforge.rb. (242)
|
35
|
+
|
36
|
+
== 2008-03-20 transami
|
37
|
+
|
38
|
+
* Added help options (--help) to all commands. (241)
|
39
|
+
|
40
|
+
== 2008-03-07 transami
|
41
|
+
|
42
|
+
* Fixed bug in gem creation wehre extensions were not be found. (240)
|
43
|
+
|
44
|
+
== 2008-02-22 transami
|
45
|
+
|
46
|
+
* Finish up touch-ups to website. (239)
|
47
|
+
* Fixed broken link in site. (238)
|
48
|
+
* A little better polish to the website. (237)
|
49
|
+
* Touched up ad organization. (236)
|
50
|
+
* New amazon ad. (235)
|
51
|
+
* Added .rsync-filter file to site scaffold. (234)
|
52
|
+
* Lower-cased meta/VERSION to meta/version. (233)
|
53
|
+
* Changed setup.rb doc installto ruby-{project}/. (232)
|
54
|
+
* Added screencast. (231)
|
55
|
+
* Replaced Google ad with Amaznon ad on website. (230)
|
56
|
+
|
3
57
|
== 2008-02-21 transami
|
4
58
|
|
59
|
+
* Added site to scaffolding. (229)
|
60
|
+
* Update changelogs. (228)
|
5
61
|
* Added test to Rakfile. (227)
|
6
62
|
* Fixed bug in version task. (226)
|
7
63
|
* Added screencast to website. (225)
|
data/log/fixme.rdoc
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
= FIXME
|
3
|
+
|
4
|
+
== file://lib/reap/defaults.rb
|
5
|
+
* FIXME: when using the settings, I think nil should be considered a none entry and
|
6
|
+
so false would be required to actually mean "off". This means assigning each key value par one a time? (16)
|
7
|
+
|
8
|
+
== file://lib/reap/emailer.rb
|
9
|
+
* FIXME: Does not hide password. (166)
|
10
|
+
|
11
|
+
== file://lib/reap/project/check.rb
|
12
|
+
* FIXME: This isn't routing output to dev/null as expected ? (61)
|
13
|
+
|
14
|
+
== file://lib/reap/project/gem.rb
|
15
|
+
* FIXME (118)
|
16
|
+
|
17
|
+
== file://lib/reap/project/package.rb
|
18
|
+
* FIXME: package_docs is not yet ready for use. (184)
|
19
|
+
* FIXME: will type, name and version always be right? (267)
|
20
|
+
* FIXME: will type, name and version always be right? (283)
|
21
|
+
|
22
|
+
== file://lib/reap/project/scaffold.rb
|
23
|
+
* FIXME: This doesn't yet work b/c reap doesn't work unless
|
24
|
+
a project file is already in place. (34)
|
25
|
+
* FIXME: RubyGems has a new way to do this. Use that instead and fix Rolls to use it too. (136)
|
data/log/todo.rdoc
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
|
2
|
+
= TODO
|
3
|
+
|
4
|
+
== file://lib/reap/hosts/rubyforge.rb
|
5
|
+
* TODO IS THIS WORKING? (556)
|
6
|
+
* TODO Remove package argument, it is no longer needed. (598)
|
7
|
+
* TODO: Handle publish tasks to upload website files (currently this is handled separately) (26)
|
8
|
+
* TODO Deal with https, and possible other protocols too. (40)
|
9
|
+
|
10
|
+
== file://lib/reap/iobject.rb
|
11
|
+
* TODO Change name of this method to something better? (143)
|
12
|
+
* TODO Use in method missing instead? (127)
|
13
|
+
* TODO Could add yield(self) via:
|
14
|
+
yld.to_h.each do |k,v|
|
15
|
+
send( "#{k}=", v ) rescue nil
|
16
|
+
end (115)
|
17
|
+
|
18
|
+
== file://lib/reap/metadata.rb
|
19
|
+
* TODO: Improve buildno support. (500)
|
20
|
+
* TODO: Fit release name into name or package_name (?)
|
21
|
+
def name
|
22
|
+
@name ||= release.name
|
23
|
+
end (138)
|
24
|
+
* TODO: if current? (446)
|
25
|
+
* TODO Move to Variants? (172)
|
26
|
+
* TODO: Think of a more descirptive name than 'default'. (306)
|
27
|
+
|
28
|
+
== file://lib/reap/project/gem.rb
|
29
|
+
* TODO: Endure that we even need a gem package using #out_of_date? (29)
|
30
|
+
* TODO make test_files configurable (?) (112)
|
31
|
+
* TODO: Should this use staging too, like zip/tgz? (21)
|
32
|
+
* TODO: Sepcify version? (38)
|
33
|
+
|
34
|
+
== file://lib/reap/project/log.rb
|
35
|
+
* TODO: Remove format field, and ultimately use XML as primary format? (34)
|
36
|
+
* TODO: Naming policy needs to be apply to changelog too. (163)
|
37
|
+
* TODO: Add ability to read header notes. (22)
|
38
|
+
|
39
|
+
== file://lib/reap/project/make.rb
|
40
|
+
* TODO: win32 cross-compile ? (10)
|
41
|
+
|
42
|
+
== file://lib/reap/project/package.rb
|
43
|
+
* TODO: When we add support for binary packages distclean
|
44
|
+
should not be done for them. (40)
|
45
|
+
* TODO: Should this use staging too, like zip/tgz? (118)
|
46
|
+
|
47
|
+
== file://lib/reap/project/publish.rb
|
48
|
+
* TODO: Add FTP/SFTP support. (12)
|
49
|
+
|
50
|
+
== file://lib/reap/project/scaffold.rb
|
51
|
+
* TODO: Improve scaffolding. Make more intelligent. (72)
|
52
|
+
|
53
|
+
== file://lib/reap/project/scm.rb
|
54
|
+
* TODO: How should metadata.repository come into play here? (71)
|
55
|
+
* TODO: scm? may need to be made more robsut. (9)
|
56
|
+
* TODO: How should metadata.repository come into play here? (57)
|
57
|
+
|
58
|
+
== file://lib/reap/project/site.rb
|
59
|
+
* TODO: Remove special reap options from command line. (7)
|
60
|
+
* TODO: Create uninstall task. (18)
|
61
|
+
|
62
|
+
== file://lib/reap/project/stats.rb
|
63
|
+
* TODO: Add C support for ext/. (20)
|
64
|
+
|
65
|
+
== file://lib/reap/project/test.rb
|
66
|
+
* TODO: Generate a test log entry? (37)
|
67
|
+
|
68
|
+
== file://lib/reap/project/version.rb
|
69
|
+
* TODO: Considerding createing a standard status marker (a=alpha, b=beta, r=release candidate)
|
70
|
+
So a version would read, eg. 1.2.4a, or with status number, eg. 1.2.4r1). (34)
|
71
|
+
* TODO: Stamp .roll if roll file exists.
|
72
|
+
should we read current .roll file and use as defaults? (103)
|
73
|
+
* TODO: Should we also update a lib/version.rb file? (33)
|
74
|
+
|
75
|
+
== file://lib/reap/systems/svn.rb
|
76
|
+
* TODO: Allow for a way to dump the text-based Changelog to standard out. "$stdout" as the filename? (178)
|
77
|
+
* TODO: How to apply naming policy from here? (179)
|
78
|
+
* TODO: tie in Metadata#scm, but probably via project/scm.rb. (71)
|
79
|
+
* TODO: Perhaps format prefix, like:
|
80
|
+
prefix = prefix + '_' if prefix && prefix !~ /[_-]$/ (68)
|
81
|
+
|
82
|
+
== file://lib/reap/utilities.rb
|
83
|
+
* TODO: Make more robust. Probably needs to be fixed for Windows. (204)
|
84
|
+
* TODO: Make more robust. (217)
|
85
|
+
* TODO Dryrun test here or before folder creation? (274)
|
data/meta/project.yaml
CHANGED
@@ -2,7 +2,11 @@
|
|
2
2
|
title : Reap
|
3
3
|
summary : Ruby Project Assistant
|
4
4
|
description: >
|
5
|
-
Reap is a Ruby project
|
5
|
+
Reap is a Ruby-oriented project assitant applicaiton.
|
6
|
+
It provides tools developers commonly require
|
7
|
+
to manage projects, from scaffolding thru packaging
|
8
|
+
and releasing.
|
9
|
+
|
6
10
|
|
7
11
|
project : reap
|
8
12
|
author : Thomas Sawyer <transfire@gmail.com>
|
@@ -14,7 +18,14 @@ slogan : Reap Your Rewards
|
|
14
18
|
exclude : [ pkg, work, doc, site, ri ]
|
15
19
|
|
16
20
|
dependency :
|
17
|
-
- [facets, ">= 2.
|
21
|
+
- [facets, ">= 2.4.1"]
|
18
22
|
|
19
23
|
libpath: lib/reap
|
20
24
|
|
25
|
+
hosts:
|
26
|
+
rubyforge: {}
|
27
|
+
rubytalk: {}
|
28
|
+
personal:
|
29
|
+
type: mailinglist
|
30
|
+
mailto: transfire@gmail.com
|
31
|
+
|