reap 5.0.0 → 5.10.10
Sign up to get free protection for your applications and to get access to all the features.
- data/ANN +3 -0
- data/COPYING +11 -0
- data/ChangeLog +25 -0
- data/ProjectInfo +41 -66
- data/README +125 -0
- data/Rakefile +0 -10
- data/bin/reap +3 -4
- data/data/reap/scaffold/COPYING +11 -0
- data/data/reap/scaffold/{standard/ChangeLog → ChangeLog} +0 -0
- data/data/reap/scaffold/{standard/TODO → INSTALL} +0 -0
- data/data/reap/scaffold/{standard/ProjectInfo → ProjectInfo} +20 -20
- data/data/reap/scaffold/{subversion/trunk/ChangeLog → README} +0 -0
- data/data/reap/scaffold/Rakefile +146 -0
- data/data/reap/scaffold/{subversion/trunk/TODO → Todo} +0 -0
- data/{doc/note → data/reap/scaffold}/setup.rb +11 -18
- data/{doc/note/aRakefile → dev/Rakefile} +0 -0
- data/{doc/note → dev}/composite_task.rb +0 -0
- data/{doc/note → dev}/compositepublisher.rb +0 -0
- data/{doc/note → dev}/ftptools.rb +0 -0
- data/{doc/note → dev}/license-each.rb +0 -0
- data/{doc/note → dev}/publisher.rb +0 -0
- data/{doc/note → dev}/rubyforgepublisher.rb +0 -0
- data/{doc/note → dev}/sshpublisher.rb +0 -0
- data/{doc/note → dev}/suby-cvs.rb +0 -0
- data/{doc/note → dev}/template.rb +0 -0
- data/lib/reap/bin/reap.rb +67 -84
- data/{doc/note/interface/interface.rb → lib/reap/lint.rb} +0 -0
- data/lib/reap/projectinfo.rb +28 -206
- data/lib/reap/readymade.rb +21 -0
- data/lib/reap/task.rb +118 -184
- data/lib/reap/task/announce.rb +93 -181
- data/lib/reap/task/fileperm.rb +16 -46
- data/lib/reap/task/info.rb +7 -33
- data/lib/reap/task/install.rb +17 -52
- data/{task → lib/reap/task}/noop.rb +9 -4
- data/lib/reap/task/package.rb +102 -348
- data/lib/reap/task/publish.rb +29 -155
- data/lib/reap/task/rdoc.rb +40 -92
- data/lib/reap/task/scaffold.rb +98 -41
- data/lib/reap/task/test.rb +52 -147
- data/lib/reap/task/testext.rb +110 -0
- data/lib/reap/task/webpublish.rb +43 -0
- data/lib/reap/tasks.rb +13 -0
- data/lib/reap/test.rb +138 -0
- data/setup.rb +272 -287
- data/test/tc_reap.rb +1 -1
- data/web/ProjectInfo +57 -0
- data/web/images/appleboy.jpg +0 -0
- data/web/images/grape.jpg +0 -0
- data/web/index.html +124 -0
- data/web/rdoc/classes/Object.html +121 -0
- data/web/rdoc/classes/ProjectInfo.html +207 -0
- data/web/rdoc/classes/ProjectInfo.src/M000094.html +18 -0
- data/web/rdoc/classes/ProjectInfo.src/M000095.html +24 -0
- data/web/rdoc/classes/ProjectInfo.src/M000096.html +22 -0
- data/web/rdoc/classes/ProjectInfo.src/M000097.html +21 -0
- data/web/rdoc/classes/ProjectInfo.src/M000098.html +18 -0
- data/web/rdoc/classes/Reap.html +248 -0
- data/web/rdoc/classes/Reap.src/M000023.html +16 -0
- data/web/rdoc/classes/Reap.src/M000024.html +21 -0
- data/web/rdoc/classes/Reap.src/M000025.html +16 -0
- data/web/rdoc/classes/Reap.src/M000026.html +21 -0
- data/web/rdoc/classes/Reap/Announce.html +262 -0
- data/web/rdoc/classes/Reap/Announce.src/M000030.html +18 -0
- data/web/rdoc/classes/Reap/Announce.src/M000031.html +114 -0
- data/web/rdoc/classes/Reap/Announce.src/M000032.html +46 -0
- data/web/rdoc/classes/Reap/Info.html +176 -0
- data/web/rdoc/classes/Reap/Info.src/M000033.html +18 -0
- data/web/rdoc/classes/Reap/Info.src/M000034.html +17 -0
- data/web/rdoc/classes/Reap/Info.src/M000035.html +18 -0
- data/web/rdoc/classes/Reap/Install.html +193 -0
- data/web/rdoc/classes/Reap/Install.src/M000036.html +18 -0
- data/web/rdoc/classes/Reap/Install.src/M000037.html +20 -0
- data/web/rdoc/classes/Reap/Install.src/M000038.html +26 -0
- data/web/rdoc/classes/Reap/Noop.html +192 -0
- data/web/rdoc/classes/Reap/Noop.src/M000027.html +18 -0
- data/web/rdoc/classes/Reap/Noop.src/M000028.html +17 -0
- data/web/rdoc/classes/Reap/Noop.src/M000029.html +18 -0
- data/web/rdoc/classes/Reap/Package.html +310 -0
- data/web/rdoc/classes/Reap/Package.src/M000055.html +18 -0
- data/web/rdoc/classes/Reap/Package.src/M000056.html +68 -0
- data/web/rdoc/classes/Reap/Package.src/M000057.html +84 -0
- data/web/rdoc/classes/Reap/Package.src/M000058.html +61 -0
- data/web/rdoc/classes/Reap/Perm.html +236 -0
- data/web/rdoc/classes/Reap/Perm.src/M000078.html +18 -0
- data/web/rdoc/classes/Reap/Perm.src/M000079.html +21 -0
- data/web/rdoc/classes/Reap/Perm.src/M000080.html +42 -0
- data/web/rdoc/classes/Reap/Perm.src/M000081.html +26 -0
- data/web/rdoc/classes/Reap/Perm.src/M000082.html +18 -0
- data/web/rdoc/classes/Reap/Publish.html +213 -0
- data/web/rdoc/classes/Reap/Publish.src/M000070.html +18 -0
- data/web/rdoc/classes/Reap/Publish.src/M000071.html +22 -0
- data/web/rdoc/classes/Reap/Publish.src/M000072.html +37 -0
- data/web/rdoc/classes/Reap/RDoc.html +218 -0
- data/web/rdoc/classes/Reap/RDoc.src/M000059.html +18 -0
- data/web/rdoc/classes/Reap/RDoc.src/M000060.html +24 -0
- data/web/rdoc/classes/Reap/RDoc.src/M000061.html +70 -0
- data/web/rdoc/classes/Reap/Task.html +396 -0
- data/web/rdoc/classes/Reap/Task.src/M000039.html +18 -0
- data/web/rdoc/classes/Reap/Task.src/M000040.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000041.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000042.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000043.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000044.html +22 -0
- data/web/rdoc/classes/Reap/Task.src/M000045.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000046.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000047.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000048.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000049.html +16 -0
- data/web/rdoc/classes/Reap/Task.src/M000050.html +27 -0
- data/web/rdoc/classes/Reap/Task.src/M000051.html +19 -0
- data/web/rdoc/classes/Reap/Task.src/M000052.html +18 -0
- data/web/rdoc/classes/Reap/Task.src/M000053.html +18 -0
- data/web/rdoc/classes/Reap/Task.src/M000054.html +19 -0
- data/web/rdoc/classes/Reap/Test.html +253 -0
- data/web/rdoc/classes/Reap/Test.src/M000062.html +18 -0
- data/web/rdoc/classes/Reap/Test.src/M000063.html +26 -0
- data/web/rdoc/classes/Reap/Test.src/M000064.html +77 -0
- data/web/rdoc/classes/Reap/Test.src/M000065.html +27 -0
- data/web/rdoc/classes/Reap/Test.src/M000066.html +50 -0
- data/web/rdoc/classes/Reap/Test/TestResults.html +205 -0
- data/web/rdoc/classes/Reap/Test/TestResults.src/M000067.html +21 -0
- data/web/rdoc/classes/Reap/Test/TestResults.src/M000068.html +21 -0
- data/web/rdoc/classes/Reap/Test/TestResults.src/M000069.html +23 -0
- data/web/rdoc/classes/Reap/TestExt.html +234 -0
- data/web/rdoc/classes/Reap/TestExt.src/M000073.html +18 -0
- data/web/rdoc/classes/Reap/TestExt.src/M000074.html +20 -0
- data/web/rdoc/classes/Reap/TestExt.src/M000075.html +49 -0
- data/web/rdoc/classes/Reap/TestExt.src/M000076.html +34 -0
- data/web/rdoc/classes/Reap/TestExt.src/M000077.html +27 -0
- data/web/rdoc/classes/Reap/WebPublish.html +213 -0
- data/web/rdoc/classes/Reap/WebPublish.src/M000083.html +18 -0
- data/web/rdoc/classes/Reap/WebPublish.src/M000084.html +21 -0
- data/web/rdoc/classes/Reap/WebPublish.src/M000085.html +32 -0
- data/web/rdoc/classes/ReapCommand.html +425 -0
- data/web/rdoc/classes/ReapCommand.src/M000001.html +16 -0
- data/web/rdoc/classes/ReapCommand.src/M000003.html +16 -0
- data/web/rdoc/classes/ReapCommand.src/M000005.html +16 -0
- data/web/rdoc/classes/ReapCommand.src/M000007.html +16 -0
- data/web/rdoc/classes/ReapCommand.src/M000009.html +16 -0
- data/web/rdoc/classes/ReapCommand.src/M000011.html +16 -0
- data/web/rdoc/classes/ReapCommand.src/M000013.html +18 -0
- data/web/rdoc/classes/ReapCommand.src/M000014.html +19 -0
- data/web/rdoc/classes/ReapCommand.src/M000015.html +19 -0
- data/web/rdoc/classes/ReapCommand.src/M000016.html +24 -0
- data/web/rdoc/classes/ReapCommand.src/M000018.html +29 -0
- data/web/rdoc/classes/Scaffold.html +211 -0
- data/web/rdoc/classes/Scaffold.src/M000086.html +16 -0
- data/web/rdoc/classes/Scaffold.src/M000087.html +28 -0
- data/web/rdoc/classes/Scaffold.src/M000088.html +32 -0
- data/web/rdoc/classes/Scaffold.src/M000089.html +18 -0
- data/web/rdoc/classes/UnitTestKernel.html +176 -0
- data/web/rdoc/classes/UnitTestKernel.src/M000019.html +18 -0
- data/web/rdoc/classes/UnitTestKernel.src/M000020.html +18 -0
- data/web/rdoc/classes/UnitTestKernel.src/M000021.html +22 -0
- data/web/rdoc/classes/UnitTestKernel.src/M000022.html +22 -0
- data/web/rdoc/classes/UnitTesting.html +165 -0
- data/web/rdoc/classes/UnitTesting.src/M000090.html +34 -0
- data/web/rdoc/classes/UnitTesting.src/M000091.html +18 -0
- data/web/rdoc/classes/UnitTesting/Failure.html +156 -0
- data/web/rdoc/classes/UnitTesting/Failure.src/M000092.html +18 -0
- data/web/rdoc/classes/UnitTesting/Failure.src/M000093.html +21 -0
- data/web/rdoc/created.rid +1 -0
- data/web/rdoc/files/ANN.html +107 -0
- data/web/rdoc/files/COPYING.html +119 -0
- data/web/rdoc/files/ChangeLog.html +144 -0
- data/web/rdoc/files/ProjectInfo.html +190 -0
- data/web/rdoc/files/README.html +274 -0
- data/web/rdoc/files/Rakefile.html +101 -0
- data/web/rdoc/files/lib/reap/bin/reap_rb.html +129 -0
- data/web/rdoc/files/lib/reap/lint_rb.html +101 -0
- data/web/rdoc/files/lib/reap/projectinfo_rb.html +110 -0
- data/web/rdoc/files/lib/reap/readymade_rb.html +123 -0
- data/web/rdoc/files/lib/reap/task/announce_rb.html +114 -0
- data/web/rdoc/files/lib/reap/task/fileperm_rb.html +108 -0
- data/web/rdoc/files/lib/reap/task/info_rb.html +108 -0
- data/web/rdoc/files/lib/reap/task/install_rb.html +108 -0
- data/web/rdoc/files/lib/reap/task/noop_rb.html +108 -0
- data/web/rdoc/files/lib/reap/task/package_rb.html +109 -0
- data/web/rdoc/files/lib/reap/task/publish_rb.html +108 -0
- data/web/rdoc/files/lib/reap/task/rdoc_rb.html +108 -0
- data/web/rdoc/files/lib/reap/task/scaffold_rb.html +107 -0
- data/web/rdoc/files/lib/reap/task/test_rb.html +110 -0
- data/web/rdoc/files/lib/reap/task/testext_rb.html +109 -0
- data/web/rdoc/files/lib/reap/task/webpublish_rb.html +108 -0
- data/web/rdoc/files/lib/reap/task_rb.html +120 -0
- data/web/rdoc/files/lib/reap/tasks_rb.html +116 -0
- data/web/rdoc/files/lib/reap/test_rb.html +109 -0
- data/web/rdoc/fr_class_index.html +47 -0
- data/web/rdoc/fr_file_index.html +51 -0
- data/web/rdoc/fr_method_index.html +124 -0
- data/web/rdoc/index.html +24 -0
- data/web/rdoc/rdoc-style.css +208 -0
- metadata +257 -138
- data/bin/rubytest +0 -5
- data/data/reap/scaffold/standard/COPYING +0 -403
- data/data/reap/scaffold/standard/INSTALL +0 -14
- data/data/reap/scaffold/standard/README +0 -3
- data/data/reap/scaffold/standard/Rakefile +0 -10
- data/data/reap/scaffold/standard/setup.rb +0 -1568
- data/data/reap/scaffold/subversion/trunk/COPYING +0 -403
- data/data/reap/scaffold/subversion/trunk/INSTALL +0 -14
- data/data/reap/scaffold/subversion/trunk/ProjectInfo +0 -78
- data/data/reap/scaffold/subversion/trunk/README +0 -3
- data/data/reap/scaffold/subversion/trunk/Rakefile +0 -10
- data/data/reap/scaffold/subversion/trunk/setup.rb +0 -1568
- data/data/reap/setup.rb +0 -1568
- data/doc/COPYING +0 -403
- data/doc/ChangeLog +0 -18
- data/doc/LATEST +0 -29
- data/doc/README +0 -182
- data/doc/doap.xml +0 -27
- data/doc/note/ProjectInfo.rb +0 -88
- data/doc/note/Rakefile.0 +0 -118
- data/doc/note/Rakefile.htm +0 -69
- data/doc/note/application.rb +0 -124
- data/doc/note/interface/rubyforge.rb +0 -247
- data/doc/note/intro.txt +0 -42
- data/doc/note/package.rb +0 -629
- data/doc/note/package.rb.0 +0 -394
- data/doc/note/scaffold.rb +0 -123
- data/lib/reap/app.rb +0 -74
- data/lib/reap/bin/rubylint.rb +0 -1
- data/lib/reap/bin/rubytest.rb +0 -45
- data/lib/reap/rake.rb +0 -12
- data/lib/reap/rakeadapter.rb +0 -50
- data/lib/reap/reap.rb +0 -32
- data/lib/reap/task/custom.rb +0 -12
- data/lib/reap/task/doap.rb +0 -85
- data/lib/reap/task/extest.rb +0 -161
- data/lib/reap/task/manifest.rb +0 -70
- data/lib/reap/task/release.rb +0 -512
- data/lib/reap/task/template.rb +0 -46
- data/lib/reap/vendor/http-access2.rb +0 -1590
- data/lib/reap/vendor/http-access2/cookie.rb +0 -538
- data/lib/reap/vendor/http-access2/http.rb +0 -542
data/COPYING
ADDED
data/ChangeLog
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
= Reap ChangeLog
|
3
|
+
|
4
|
+
== 04
|
5
|
+
|
6
|
+
* Killed the Rake idea. Now a fully independent project,
|
7
|
+
and better than before.
|
8
|
+
|
9
|
+
== 03
|
10
|
+
|
11
|
+
* Major overhaul. Reap is no longer an independent project.
|
12
|
+
Rather, it is now an extension of Rake. All Reap tasks are
|
13
|
+
now a subclass of Rake::TaskLib.
|
14
|
+
|
15
|
+
== 02
|
16
|
+
|
17
|
+
* Improved test task. Each test now runs in its own process.
|
18
|
+
Output is summarized and in YAML.
|
19
|
+
* Improved configuration loading a bit.
|
20
|
+
* Wrote some basic docs on how to write a Reap task.
|
21
|
+
* Adjusted for Nano upgrade (was Facets).
|
22
|
+
|
23
|
+
== 01
|
24
|
+
|
25
|
+
* Alpha Development
|
data/ProjectInfo
CHANGED
@@ -1,90 +1,65 @@
|
|
1
1
|
--- %YAML:1.0
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
TITLE : Reap
|
4
|
+
NAME : reap
|
5
|
+
DATE : '2005-10-10'
|
6
|
+
SERIES : '4.0'
|
7
|
+
STATUS : 'beta/stable'
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
AUTHOR : Thomas Sawyer
|
10
|
+
EMAIL : transfire@gmail.com
|
11
|
+
HOMEPAGE : "http://reap.rubyforge.org"
|
12
|
+
SUMMARY : Tools for Ruby project testing, management and assistance.
|
13
13
|
|
14
|
-
|
15
|
-
Reap comprises a set of
|
16
|
-
developers/deployers
|
17
|
-
You can also use Reap to create your own custom tasks.
|
14
|
+
DESCRIPTION: >
|
15
|
+
Reap comprises a set of commonly needed tools for Ruby package
|
16
|
+
developers/deployers. Because of the commonality,
|
18
17
|
Reap utilizes a YAML configuration file to harvest project
|
19
|
-
information, significantly simplifying
|
18
|
+
information, significantly simplifying usage.
|
20
19
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
install: !!install
|
20
|
+
DISTRIBUTE : [ gem, tar.bz2, zip ] # tar.gz, tbz, tgz
|
21
|
+
DEPENDENCIES : [ facets ]
|
22
|
+
EXECUTABLES : [ reap ]
|
26
23
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
executables : [ reap, rubytest ]
|
31
|
-
dir: '../DISTRIBUTION'
|
32
|
-
exclude:
|
33
|
-
- dist
|
34
|
-
- dev
|
35
|
-
- scrap
|
36
|
-
- web
|
24
|
+
RUBYFORGE:
|
25
|
+
PROJECT: reap
|
26
|
+
USERNAME: transami
|
37
27
|
|
38
|
-
|
39
|
-
host : rubyforge.org
|
40
|
-
username : transami
|
41
|
-
project : reap
|
42
|
-
groupid : 811
|
43
|
-
package : Reap
|
44
|
-
dir : '../DISTRIBUTION'
|
45
|
-
|
46
|
-
publish: !!publish
|
47
|
-
target : rubyforge
|
28
|
+
PUBLISH:
|
48
29
|
type : web
|
49
30
|
host : rubyforge.org
|
50
31
|
username : transami
|
51
32
|
dir : web
|
52
33
|
|
53
|
-
|
54
|
-
dir: 'web/
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
34
|
+
RDOC:
|
35
|
+
dir: 'web/rdoc'
|
36
|
+
include:
|
37
|
+
- 'A-Z*'
|
38
|
+
- 'lib/**/*'
|
39
|
+
exclude:
|
40
|
+
- 'lib/reap/data'
|
59
41
|
|
60
|
-
|
42
|
+
ANNOUNCE:
|
61
43
|
to : transfire@gmail.com # ruby-talk@ruby-lang.org
|
62
44
|
from : *email
|
63
45
|
domain : unit.rubyforge.org
|
64
46
|
server : smtp.gmail.com
|
65
47
|
port : 587
|
66
48
|
account : *email # transfire@gmail.com
|
67
|
-
|
68
|
-
|
69
|
-
file :
|
49
|
+
authtype : login # cram_md5, plain
|
50
|
+
sectype : tls # ~, tls, ssl (not working yet)
|
51
|
+
file : ANN # which file contains announcement
|
70
52
|
slogan : REAP THE REWARDS!
|
71
|
-
links :
|
53
|
+
links :
|
54
|
+
- http://reap.rubyforge.org
|
55
|
+
- http://roll.rubyforge.org
|
72
56
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
57
|
+
PERM:
|
58
|
+
filemod: 644
|
59
|
+
dirmod: 755
|
60
|
+
user: trans
|
61
|
+
group: users
|
78
62
|
|
79
|
-
|
80
|
-
|
81
|
-
#
|
82
|
-
# noop2: !!noop
|
83
|
-
# desc: Alternate description for a task
|
84
|
-
# message: Hello Baby!
|
85
|
-
#
|
86
|
-
# mytask: !!custom
|
87
|
-
# desc: This is a test of a cutom task.
|
88
|
-
# task:
|
89
|
-
# puts "Hello Moto!"
|
63
|
+
NOOP:
|
64
|
+
MESSAGE: Hello Dude!
|
90
65
|
|
data/README
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
= Reap
|
2
|
+
|
3
|
+
User Friendly Project Assitant for Ruby
|
4
|
+
|
5
|
+
== What's This?
|
6
|
+
|
7
|
+
Reap is a user friendly project assistant for Ruby developers.
|
8
|
+
By organizing your project in a conventional manner,
|
9
|
+
as promoted by setup.rb, Reap makes it easy to do the
|
10
|
+
following tasks:
|
11
|
+
|
12
|
+
* Generate RDocs.
|
13
|
+
* Run unit tests.
|
14
|
+
* Extract tests for scripts.
|
15
|
+
* Create Ruby Gem packages.
|
16
|
+
* Create standard .tgz, tbz (bzip2) and/or .zip packages.
|
17
|
+
* Publish documents to Rubyforge or other web sites.
|
18
|
+
* Announce a release to Ruby-talk or other mailing list.
|
19
|
+
* Prepare files for distribution (i.e. chmod, tag, etc.).
|
20
|
+
* Upload packages (coming soon!).
|
21
|
+
|
22
|
+
If you have special needs that Reap doesn't accomodate,
|
23
|
+
new task are farily easy to create. And I am always
|
24
|
+
happy to hear suggestions.
|
25
|
+
|
26
|
+
== Installation
|
27
|
+
|
28
|
+
=== Gem Install
|
29
|
+
|
30
|
+
Install the ruby gem as you would any other:
|
31
|
+
|
32
|
+
<tt>gem install reap</tt>
|
33
|
+
|
34
|
+
Reap requires Ruby Facets.
|
35
|
+
|
36
|
+
=== Manual Install
|
37
|
+
|
38
|
+
To install manually follow the usual setup.eb steps:
|
39
|
+
|
40
|
+
1. Download the compressed package.
|
41
|
+
2. Unpack it.
|
42
|
+
3. Change into the unpacked directory.
|
43
|
+
4. run <tt>sudo ruby setup.rb</tt>
|
44
|
+
|
45
|
+
You should be good to go.
|
46
|
+
|
47
|
+
== Usage
|
48
|
+
|
49
|
+
=== Using a Reap Task
|
50
|
+
|
51
|
+
Reap makes it pretty easy to use it's built-in tasks.
|
52
|
+
Largely this is because it grabs common data from a ProjectInfo
|
53
|
+
(or Reapfile) as available. Some Reap tasks are
|
54
|
+
automatic b/c there are reasonable defaults, others
|
55
|
+
_require_ entries in the ProjectInfo file.
|
56
|
+
|
57
|
+
For instance, to create a "package" target you generally do not need
|
58
|
+
an entry in the ProjectInfo file. Reap will package up everything
|
59
|
+
in the typical directories and makes compressed versions in the
|
60
|
+
common formats. It will then place those in either ../leaf/
|
61
|
+
(for those or you using trunk/ branches/ layouts) or pkg/ otherwise.
|
62
|
+
The same holds for other tasks. Reap will do it's best to extrapolate
|
63
|
+
the needed information from the ProjectInfo file.
|
64
|
+
|
65
|
+
Of course no matter the level of content, you will of course need to
|
66
|
+
create this file in you projects main directory. A template is provided
|
67
|
+
and a command line tool to copy it to your current directory. Simply type:
|
68
|
+
|
69
|
+
> reap template
|
70
|
+
|
71
|
+
Then edit the ProjectInfo file. The fields are fairly self
|
72
|
+
explanitiory. Apart from Reap such a file is nice to have just on
|
73
|
+
it's own merits too.
|
74
|
+
|
75
|
+
=== Building a Reap Task
|
76
|
+
|
77
|
+
Building a Reap task differs from building a Rake task
|
78
|
+
by two important factors. First there is only one target
|
79
|
+
per task (this may change) Second, task blocks are yeilded
|
80
|
+
_prior_ to the #init routine being exectuted. So your #init
|
81
|
+
routine should expect data to already be present in
|
82
|
+
the tasks attribute and take that into account (usually that
|
83
|
+
means using ++||=++)
|
84
|
+
|
85
|
+
Here's an, oh so simple, example:
|
86
|
+
|
87
|
+
class OhSoSimple < Reap::Task
|
88
|
+
|
89
|
+
task_desc 'This is a custom reap task'
|
90
|
+
|
91
|
+
attr_accessor :message
|
92
|
+
|
93
|
+
def init
|
94
|
+
@message ||= master['default'] || 'None Found!'
|
95
|
+
@another ||= section['another'] || 'Again!'
|
96
|
+
end
|
97
|
+
|
98
|
+
# run the target task
|
99
|
+
def run
|
100
|
+
puts @message + "\n" + @another
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
104
|
+
|
105
|
+
The corresponding settings in the ProjectInfo file (master) will then be:
|
106
|
+
|
107
|
+
default: Default text, if any.
|
108
|
+
ohsosimple:
|
109
|
+
another: Your other message here.
|
110
|
+
|
111
|
+
And to use it
|
112
|
+
|
113
|
+
> reap ohsosimple
|
114
|
+
|
115
|
+
== Status
|
116
|
+
|
117
|
+
Reap is currently Usable Beta. Most of the tasks
|
118
|
+
work very well. Refinements are still common though,
|
119
|
+
and a few important tasks are still being planned.
|
120
|
+
|
121
|
+
== Legal
|
122
|
+
|
123
|
+
Reap
|
124
|
+
Copyright(c)2004-2005 Thomas Sawyer
|
125
|
+
Ruby License
|
data/Rakefile
CHANGED
data/bin/reap
CHANGED
File without changes
|
File without changes
|
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
TITLE : &title Your App's Title
|
4
4
|
NAME : &pkg your_unix_name
|
5
|
-
|
5
|
+
SERIES : '0.0.1'
|
6
|
+
DATE : '2005-01-01'
|
6
7
|
STATUS : beta
|
7
8
|
|
8
9
|
AUTHOR : Your Name
|
@@ -19,36 +20,22 @@ RUBYFORGE:
|
|
19
20
|
PROJECT: your_projects_unix_name
|
20
21
|
USERNAME: your_rubyforge_username
|
21
22
|
|
23
|
+
DISTRIBUTE : [ gem, tar.bz2, zip ]
|
24
|
+
DEPENDENCIES : []
|
25
|
+
EXECUTABLES : []
|
22
26
|
|
23
27
|
#=================================================
|
24
28
|
# Unremark and use as needed. Often defaults
|
25
|
-
# are sufficiant and
|
26
|
-
# extra
|
29
|
+
# are sufficiant and you do not need to specify
|
30
|
+
# extra paramters.
|
27
31
|
#=================================================
|
28
32
|
|
29
|
-
PACKAGE:
|
30
|
-
DISTRIBUTE : [ gem, tar.bz2 ] # tgz zip deb
|
31
|
-
DEPENDENCIES : []
|
32
|
-
EXECUTABLES : []
|
33
|
-
DIR: pkg # where to put dist packages
|
34
|
-
INCLUDE:
|
35
|
-
- '**/*'
|
36
|
-
EXCLUDE: []
|
37
|
-
|
38
33
|
# PUBLISH:
|
39
34
|
# - HOST: rubyforge
|
40
35
|
# TYPE: web
|
41
36
|
# USERNAME: your_username
|
42
37
|
# DIR: www
|
43
38
|
|
44
|
-
# RELEASE:
|
45
|
-
# host : rubyforge.org
|
46
|
-
# username : user_username_for_host
|
47
|
-
# project : *pkg
|
48
|
-
# groupid : 999 # group id
|
49
|
-
# package : Release-pacakge-name
|
50
|
-
# dir : pkg # where the dist packages are stored
|
51
|
-
|
52
39
|
# RDOC:
|
53
40
|
# TITLE: *title
|
54
41
|
# DIR: 'rdoc' # 'web/rdoc'
|
@@ -61,6 +48,13 @@ PACKAGE:
|
|
61
48
|
# - 'bin/**/*.rb'
|
62
49
|
# EXCLUDE: []
|
63
50
|
|
51
|
+
# PACKAGE:
|
52
|
+
# DIR: pkg
|
53
|
+
# INCLUDE:
|
54
|
+
# - '**/*'
|
55
|
+
# EXCLUDE:
|
56
|
+
# - InstalledFiles
|
57
|
+
|
64
58
|
# ANNOUNCE:
|
65
59
|
# TO: ruby-talk@ruby-lang.org
|
66
60
|
# FROM: *email
|
@@ -76,3 +70,9 @@ PACKAGE:
|
|
76
70
|
# - http://your_homepage.org
|
77
71
|
# - http://other_links.com
|
78
72
|
|
73
|
+
# TEST:
|
74
|
+
# FILES:
|
75
|
+
# - 'test/**/tc*.rb'
|
76
|
+
# - 'test/**/test*.rb'
|
77
|
+
# - 'test/**/*test.rb'
|
78
|
+
# FIXTURE: []
|
File without changes
|
@@ -0,0 +1,146 @@
|
|
1
|
+
|
2
|
+
require 'reap/tasks'
|
3
|
+
|
4
|
+
=begin
|
5
|
+
# Traditionally, a pre-built rake task would be utilized like this:
|
6
|
+
#
|
7
|
+
# Reap::PublishTask.new :mypublisher do |s|
|
8
|
+
# s.type = 'web'
|
9
|
+
# s.host = 'rubyforge.org'
|
10
|
+
# s.username = 'transami'
|
11
|
+
# s.dir = 'pub/www'
|
12
|
+
# end
|
13
|
+
#
|
14
|
+
# Reap provides a way to use YAML and specilized methods to make
|
15
|
+
# this even cleaner.
|
16
|
+
#
|
17
|
+
# publish_task( :mypublisher ) {"
|
18
|
+
# type : web
|
19
|
+
# host : rubyforge.org
|
20
|
+
# username : transami
|
21
|
+
# dir : pub/www
|
22
|
+
# "}
|
23
|
+
#
|
24
|
+
# Of course, one can still use a traditional block with the
|
25
|
+
# special methods.
|
26
|
+
#
|
27
|
+
# publish_task :mypublisher do |s|
|
28
|
+
# s.type = 'web'
|
29
|
+
# s.host = 'rubyforge.org'
|
30
|
+
# s.username = 'transami'
|
31
|
+
# s.dir = 'pub/www'
|
32
|
+
# end
|
33
|
+
#
|
34
|
+
# But there is an additional advantage to the YAML approach. Reap prepends
|
35
|
+
# the task YAML with the YAML in the ProjectInfo file. This way it is easy
|
36
|
+
# to reuse master information in indivial tasks. For exmaple you might have
|
37
|
+
# an &author anchor defined in ProjectInfo.
|
38
|
+
#
|
39
|
+
# publish_task( :mypublisher ) {"
|
40
|
+
# type : web
|
41
|
+
# host : rubyforge.org
|
42
|
+
# username : *author
|
43
|
+
# dir : pub/www
|
44
|
+
# "}
|
45
|
+
#
|
46
|
+
# The special method notation actually works for some prebuilt rake tasks too.
|
47
|
+
# But do not expect the YAML string block to work /w them.
|
48
|
+
=end
|
49
|
+
|
50
|
+
include ReapTask
|
51
|
+
|
52
|
+
install_task( :install )
|
53
|
+
info_task( :info )
|
54
|
+
|
55
|
+
publish_task :publish do"
|
56
|
+
type : web
|
57
|
+
host : rubyforge.org
|
58
|
+
username : transami
|
59
|
+
dir : www
|
60
|
+
"end
|
61
|
+
|
62
|
+
announce_task :announce do"
|
63
|
+
to : transfire@gmail.com # ruby-talk@ruby-lang.org
|
64
|
+
from : *email
|
65
|
+
domain : unit.rubyforge.org
|
66
|
+
server : smtp.gmail.com
|
67
|
+
port : 587
|
68
|
+
account : *email # transfire@gmail.com
|
69
|
+
authtype : login # cram_md5, plain
|
70
|
+
sectype : tls # ~, tls, ssl (not working yet)
|
71
|
+
file : ANN # which file contains announcement
|
72
|
+
slogan : REAP THE REWARDS!
|
73
|
+
links :
|
74
|
+
- http://unit.rubyforge.org
|
75
|
+
- http://rake.rubyforge.org
|
76
|
+
"end
|
77
|
+
|
78
|
+
fileperm_task :fileperm do"
|
79
|
+
filemod: 644
|
80
|
+
dirmod: 755
|
81
|
+
user: trans
|
82
|
+
group: users
|
83
|
+
"end
|
84
|
+
|
85
|
+
extract_tests_task :exttests do"
|
86
|
+
files:
|
87
|
+
- 'lib/**/*.rb'
|
88
|
+
"end
|
89
|
+
|
90
|
+
test_task :test do"
|
91
|
+
files:
|
92
|
+
- 'test/**/tc*.rb'
|
93
|
+
- 'test/**/test*.rb'
|
94
|
+
- 'test/**/*test.rb'
|
95
|
+
options: ~ # not used yet
|
96
|
+
"end
|
97
|
+
|
98
|
+
rdoc_task :rdoc do"
|
99
|
+
title: *title
|
100
|
+
dir: 'pub/www/rdoc'
|
101
|
+
template: jamis #html
|
102
|
+
options: ['--merge', '--all']
|
103
|
+
main: README
|
104
|
+
include:
|
105
|
+
- 'README*'
|
106
|
+
- 'LICEN*'
|
107
|
+
- 'COPY*'
|
108
|
+
- 'lib/**/*.rb'
|
109
|
+
- 'bin/**/*.rb'
|
110
|
+
exclude: []
|
111
|
+
"end
|
112
|
+
|
113
|
+
package_task :package do"
|
114
|
+
#dir: ../tag
|
115
|
+
include:
|
116
|
+
- 'lib/**/*'
|
117
|
+
- 'data/**/*'
|
118
|
+
- 'ext/**/*'
|
119
|
+
- 'bin/**/*'
|
120
|
+
- 'bench/**/*'
|
121
|
+
- 'test/**/*'
|
122
|
+
- 'doc/**/*'
|
123
|
+
- 'rdoc/**/*'
|
124
|
+
- 'pub/**/*'
|
125
|
+
- 'www/**/*'
|
126
|
+
- 'demo/**/*'
|
127
|
+
- 'samples/**/*'
|
128
|
+
- 'examples/**/*'
|
129
|
+
- 'bench/**/*'
|
130
|
+
- 'setup.rb'
|
131
|
+
- '[A-Z]*'
|
132
|
+
exclude:
|
133
|
+
- InstalledFiles
|
134
|
+
autorequire: ~
|
135
|
+
requirements: []
|
136
|
+
dependencies: *dep #[]
|
137
|
+
executables: *exe #[]
|
138
|
+
gem: true
|
139
|
+
zip: false
|
140
|
+
gzip: false
|
141
|
+
bzip2: true
|
142
|
+
"end
|
143
|
+
|
144
|
+
noop_task :noop do"
|
145
|
+
message: 'Hello, World!'
|
146
|
+
"end
|