reap 5.0.0 → 5.10.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (236) hide show
  1. data/ANN +3 -0
  2. data/COPYING +11 -0
  3. data/ChangeLog +25 -0
  4. data/ProjectInfo +41 -66
  5. data/README +125 -0
  6. data/Rakefile +0 -10
  7. data/bin/reap +3 -4
  8. data/data/reap/scaffold/COPYING +11 -0
  9. data/data/reap/scaffold/{standard/ChangeLog → ChangeLog} +0 -0
  10. data/data/reap/scaffold/{standard/TODO → INSTALL} +0 -0
  11. data/data/reap/scaffold/{standard/ProjectInfo → ProjectInfo} +20 -20
  12. data/data/reap/scaffold/{subversion/trunk/ChangeLog → README} +0 -0
  13. data/data/reap/scaffold/Rakefile +146 -0
  14. data/data/reap/scaffold/{subversion/trunk/TODO → Todo} +0 -0
  15. data/{doc/note → data/reap/scaffold}/setup.rb +11 -18
  16. data/{doc/note/aRakefile → dev/Rakefile} +0 -0
  17. data/{doc/note → dev}/composite_task.rb +0 -0
  18. data/{doc/note → dev}/compositepublisher.rb +0 -0
  19. data/{doc/note → dev}/ftptools.rb +0 -0
  20. data/{doc/note → dev}/license-each.rb +0 -0
  21. data/{doc/note → dev}/publisher.rb +0 -0
  22. data/{doc/note → dev}/rubyforgepublisher.rb +0 -0
  23. data/{doc/note → dev}/sshpublisher.rb +0 -0
  24. data/{doc/note → dev}/suby-cvs.rb +0 -0
  25. data/{doc/note → dev}/template.rb +0 -0
  26. data/lib/reap/bin/reap.rb +67 -84
  27. data/{doc/note/interface/interface.rb → lib/reap/lint.rb} +0 -0
  28. data/lib/reap/projectinfo.rb +28 -206
  29. data/lib/reap/readymade.rb +21 -0
  30. data/lib/reap/task.rb +118 -184
  31. data/lib/reap/task/announce.rb +93 -181
  32. data/lib/reap/task/fileperm.rb +16 -46
  33. data/lib/reap/task/info.rb +7 -33
  34. data/lib/reap/task/install.rb +17 -52
  35. data/{task → lib/reap/task}/noop.rb +9 -4
  36. data/lib/reap/task/package.rb +102 -348
  37. data/lib/reap/task/publish.rb +29 -155
  38. data/lib/reap/task/rdoc.rb +40 -92
  39. data/lib/reap/task/scaffold.rb +98 -41
  40. data/lib/reap/task/test.rb +52 -147
  41. data/lib/reap/task/testext.rb +110 -0
  42. data/lib/reap/task/webpublish.rb +43 -0
  43. data/lib/reap/tasks.rb +13 -0
  44. data/lib/reap/test.rb +138 -0
  45. data/setup.rb +272 -287
  46. data/test/tc_reap.rb +1 -1
  47. data/web/ProjectInfo +57 -0
  48. data/web/images/appleboy.jpg +0 -0
  49. data/web/images/grape.jpg +0 -0
  50. data/web/index.html +124 -0
  51. data/web/rdoc/classes/Object.html +121 -0
  52. data/web/rdoc/classes/ProjectInfo.html +207 -0
  53. data/web/rdoc/classes/ProjectInfo.src/M000094.html +18 -0
  54. data/web/rdoc/classes/ProjectInfo.src/M000095.html +24 -0
  55. data/web/rdoc/classes/ProjectInfo.src/M000096.html +22 -0
  56. data/web/rdoc/classes/ProjectInfo.src/M000097.html +21 -0
  57. data/web/rdoc/classes/ProjectInfo.src/M000098.html +18 -0
  58. data/web/rdoc/classes/Reap.html +248 -0
  59. data/web/rdoc/classes/Reap.src/M000023.html +16 -0
  60. data/web/rdoc/classes/Reap.src/M000024.html +21 -0
  61. data/web/rdoc/classes/Reap.src/M000025.html +16 -0
  62. data/web/rdoc/classes/Reap.src/M000026.html +21 -0
  63. data/web/rdoc/classes/Reap/Announce.html +262 -0
  64. data/web/rdoc/classes/Reap/Announce.src/M000030.html +18 -0
  65. data/web/rdoc/classes/Reap/Announce.src/M000031.html +114 -0
  66. data/web/rdoc/classes/Reap/Announce.src/M000032.html +46 -0
  67. data/web/rdoc/classes/Reap/Info.html +176 -0
  68. data/web/rdoc/classes/Reap/Info.src/M000033.html +18 -0
  69. data/web/rdoc/classes/Reap/Info.src/M000034.html +17 -0
  70. data/web/rdoc/classes/Reap/Info.src/M000035.html +18 -0
  71. data/web/rdoc/classes/Reap/Install.html +193 -0
  72. data/web/rdoc/classes/Reap/Install.src/M000036.html +18 -0
  73. data/web/rdoc/classes/Reap/Install.src/M000037.html +20 -0
  74. data/web/rdoc/classes/Reap/Install.src/M000038.html +26 -0
  75. data/web/rdoc/classes/Reap/Noop.html +192 -0
  76. data/web/rdoc/classes/Reap/Noop.src/M000027.html +18 -0
  77. data/web/rdoc/classes/Reap/Noop.src/M000028.html +17 -0
  78. data/web/rdoc/classes/Reap/Noop.src/M000029.html +18 -0
  79. data/web/rdoc/classes/Reap/Package.html +310 -0
  80. data/web/rdoc/classes/Reap/Package.src/M000055.html +18 -0
  81. data/web/rdoc/classes/Reap/Package.src/M000056.html +68 -0
  82. data/web/rdoc/classes/Reap/Package.src/M000057.html +84 -0
  83. data/web/rdoc/classes/Reap/Package.src/M000058.html +61 -0
  84. data/web/rdoc/classes/Reap/Perm.html +236 -0
  85. data/web/rdoc/classes/Reap/Perm.src/M000078.html +18 -0
  86. data/web/rdoc/classes/Reap/Perm.src/M000079.html +21 -0
  87. data/web/rdoc/classes/Reap/Perm.src/M000080.html +42 -0
  88. data/web/rdoc/classes/Reap/Perm.src/M000081.html +26 -0
  89. data/web/rdoc/classes/Reap/Perm.src/M000082.html +18 -0
  90. data/web/rdoc/classes/Reap/Publish.html +213 -0
  91. data/web/rdoc/classes/Reap/Publish.src/M000070.html +18 -0
  92. data/web/rdoc/classes/Reap/Publish.src/M000071.html +22 -0
  93. data/web/rdoc/classes/Reap/Publish.src/M000072.html +37 -0
  94. data/web/rdoc/classes/Reap/RDoc.html +218 -0
  95. data/web/rdoc/classes/Reap/RDoc.src/M000059.html +18 -0
  96. data/web/rdoc/classes/Reap/RDoc.src/M000060.html +24 -0
  97. data/web/rdoc/classes/Reap/RDoc.src/M000061.html +70 -0
  98. data/web/rdoc/classes/Reap/Task.html +396 -0
  99. data/web/rdoc/classes/Reap/Task.src/M000039.html +18 -0
  100. data/web/rdoc/classes/Reap/Task.src/M000040.html +16 -0
  101. data/web/rdoc/classes/Reap/Task.src/M000041.html +16 -0
  102. data/web/rdoc/classes/Reap/Task.src/M000042.html +16 -0
  103. data/web/rdoc/classes/Reap/Task.src/M000043.html +16 -0
  104. data/web/rdoc/classes/Reap/Task.src/M000044.html +22 -0
  105. data/web/rdoc/classes/Reap/Task.src/M000045.html +16 -0
  106. data/web/rdoc/classes/Reap/Task.src/M000046.html +16 -0
  107. data/web/rdoc/classes/Reap/Task.src/M000047.html +16 -0
  108. data/web/rdoc/classes/Reap/Task.src/M000048.html +16 -0
  109. data/web/rdoc/classes/Reap/Task.src/M000049.html +16 -0
  110. data/web/rdoc/classes/Reap/Task.src/M000050.html +27 -0
  111. data/web/rdoc/classes/Reap/Task.src/M000051.html +19 -0
  112. data/web/rdoc/classes/Reap/Task.src/M000052.html +18 -0
  113. data/web/rdoc/classes/Reap/Task.src/M000053.html +18 -0
  114. data/web/rdoc/classes/Reap/Task.src/M000054.html +19 -0
  115. data/web/rdoc/classes/Reap/Test.html +253 -0
  116. data/web/rdoc/classes/Reap/Test.src/M000062.html +18 -0
  117. data/web/rdoc/classes/Reap/Test.src/M000063.html +26 -0
  118. data/web/rdoc/classes/Reap/Test.src/M000064.html +77 -0
  119. data/web/rdoc/classes/Reap/Test.src/M000065.html +27 -0
  120. data/web/rdoc/classes/Reap/Test.src/M000066.html +50 -0
  121. data/web/rdoc/classes/Reap/Test/TestResults.html +205 -0
  122. data/web/rdoc/classes/Reap/Test/TestResults.src/M000067.html +21 -0
  123. data/web/rdoc/classes/Reap/Test/TestResults.src/M000068.html +21 -0
  124. data/web/rdoc/classes/Reap/Test/TestResults.src/M000069.html +23 -0
  125. data/web/rdoc/classes/Reap/TestExt.html +234 -0
  126. data/web/rdoc/classes/Reap/TestExt.src/M000073.html +18 -0
  127. data/web/rdoc/classes/Reap/TestExt.src/M000074.html +20 -0
  128. data/web/rdoc/classes/Reap/TestExt.src/M000075.html +49 -0
  129. data/web/rdoc/classes/Reap/TestExt.src/M000076.html +34 -0
  130. data/web/rdoc/classes/Reap/TestExt.src/M000077.html +27 -0
  131. data/web/rdoc/classes/Reap/WebPublish.html +213 -0
  132. data/web/rdoc/classes/Reap/WebPublish.src/M000083.html +18 -0
  133. data/web/rdoc/classes/Reap/WebPublish.src/M000084.html +21 -0
  134. data/web/rdoc/classes/Reap/WebPublish.src/M000085.html +32 -0
  135. data/web/rdoc/classes/ReapCommand.html +425 -0
  136. data/web/rdoc/classes/ReapCommand.src/M000001.html +16 -0
  137. data/web/rdoc/classes/ReapCommand.src/M000003.html +16 -0
  138. data/web/rdoc/classes/ReapCommand.src/M000005.html +16 -0
  139. data/web/rdoc/classes/ReapCommand.src/M000007.html +16 -0
  140. data/web/rdoc/classes/ReapCommand.src/M000009.html +16 -0
  141. data/web/rdoc/classes/ReapCommand.src/M000011.html +16 -0
  142. data/web/rdoc/classes/ReapCommand.src/M000013.html +18 -0
  143. data/web/rdoc/classes/ReapCommand.src/M000014.html +19 -0
  144. data/web/rdoc/classes/ReapCommand.src/M000015.html +19 -0
  145. data/web/rdoc/classes/ReapCommand.src/M000016.html +24 -0
  146. data/web/rdoc/classes/ReapCommand.src/M000018.html +29 -0
  147. data/web/rdoc/classes/Scaffold.html +211 -0
  148. data/web/rdoc/classes/Scaffold.src/M000086.html +16 -0
  149. data/web/rdoc/classes/Scaffold.src/M000087.html +28 -0
  150. data/web/rdoc/classes/Scaffold.src/M000088.html +32 -0
  151. data/web/rdoc/classes/Scaffold.src/M000089.html +18 -0
  152. data/web/rdoc/classes/UnitTestKernel.html +176 -0
  153. data/web/rdoc/classes/UnitTestKernel.src/M000019.html +18 -0
  154. data/web/rdoc/classes/UnitTestKernel.src/M000020.html +18 -0
  155. data/web/rdoc/classes/UnitTestKernel.src/M000021.html +22 -0
  156. data/web/rdoc/classes/UnitTestKernel.src/M000022.html +22 -0
  157. data/web/rdoc/classes/UnitTesting.html +165 -0
  158. data/web/rdoc/classes/UnitTesting.src/M000090.html +34 -0
  159. data/web/rdoc/classes/UnitTesting.src/M000091.html +18 -0
  160. data/web/rdoc/classes/UnitTesting/Failure.html +156 -0
  161. data/web/rdoc/classes/UnitTesting/Failure.src/M000092.html +18 -0
  162. data/web/rdoc/classes/UnitTesting/Failure.src/M000093.html +21 -0
  163. data/web/rdoc/created.rid +1 -0
  164. data/web/rdoc/files/ANN.html +107 -0
  165. data/web/rdoc/files/COPYING.html +119 -0
  166. data/web/rdoc/files/ChangeLog.html +144 -0
  167. data/web/rdoc/files/ProjectInfo.html +190 -0
  168. data/web/rdoc/files/README.html +274 -0
  169. data/web/rdoc/files/Rakefile.html +101 -0
  170. data/web/rdoc/files/lib/reap/bin/reap_rb.html +129 -0
  171. data/web/rdoc/files/lib/reap/lint_rb.html +101 -0
  172. data/web/rdoc/files/lib/reap/projectinfo_rb.html +110 -0
  173. data/web/rdoc/files/lib/reap/readymade_rb.html +123 -0
  174. data/web/rdoc/files/lib/reap/task/announce_rb.html +114 -0
  175. data/web/rdoc/files/lib/reap/task/fileperm_rb.html +108 -0
  176. data/web/rdoc/files/lib/reap/task/info_rb.html +108 -0
  177. data/web/rdoc/files/lib/reap/task/install_rb.html +108 -0
  178. data/web/rdoc/files/lib/reap/task/noop_rb.html +108 -0
  179. data/web/rdoc/files/lib/reap/task/package_rb.html +109 -0
  180. data/web/rdoc/files/lib/reap/task/publish_rb.html +108 -0
  181. data/web/rdoc/files/lib/reap/task/rdoc_rb.html +108 -0
  182. data/web/rdoc/files/lib/reap/task/scaffold_rb.html +107 -0
  183. data/web/rdoc/files/lib/reap/task/test_rb.html +110 -0
  184. data/web/rdoc/files/lib/reap/task/testext_rb.html +109 -0
  185. data/web/rdoc/files/lib/reap/task/webpublish_rb.html +108 -0
  186. data/web/rdoc/files/lib/reap/task_rb.html +120 -0
  187. data/web/rdoc/files/lib/reap/tasks_rb.html +116 -0
  188. data/web/rdoc/files/lib/reap/test_rb.html +109 -0
  189. data/web/rdoc/fr_class_index.html +47 -0
  190. data/web/rdoc/fr_file_index.html +51 -0
  191. data/web/rdoc/fr_method_index.html +124 -0
  192. data/web/rdoc/index.html +24 -0
  193. data/web/rdoc/rdoc-style.css +208 -0
  194. metadata +257 -138
  195. data/bin/rubytest +0 -5
  196. data/data/reap/scaffold/standard/COPYING +0 -403
  197. data/data/reap/scaffold/standard/INSTALL +0 -14
  198. data/data/reap/scaffold/standard/README +0 -3
  199. data/data/reap/scaffold/standard/Rakefile +0 -10
  200. data/data/reap/scaffold/standard/setup.rb +0 -1568
  201. data/data/reap/scaffold/subversion/trunk/COPYING +0 -403
  202. data/data/reap/scaffold/subversion/trunk/INSTALL +0 -14
  203. data/data/reap/scaffold/subversion/trunk/ProjectInfo +0 -78
  204. data/data/reap/scaffold/subversion/trunk/README +0 -3
  205. data/data/reap/scaffold/subversion/trunk/Rakefile +0 -10
  206. data/data/reap/scaffold/subversion/trunk/setup.rb +0 -1568
  207. data/data/reap/setup.rb +0 -1568
  208. data/doc/COPYING +0 -403
  209. data/doc/ChangeLog +0 -18
  210. data/doc/LATEST +0 -29
  211. data/doc/README +0 -182
  212. data/doc/doap.xml +0 -27
  213. data/doc/note/ProjectInfo.rb +0 -88
  214. data/doc/note/Rakefile.0 +0 -118
  215. data/doc/note/Rakefile.htm +0 -69
  216. data/doc/note/application.rb +0 -124
  217. data/doc/note/interface/rubyforge.rb +0 -247
  218. data/doc/note/intro.txt +0 -42
  219. data/doc/note/package.rb +0 -629
  220. data/doc/note/package.rb.0 +0 -394
  221. data/doc/note/scaffold.rb +0 -123
  222. data/lib/reap/app.rb +0 -74
  223. data/lib/reap/bin/rubylint.rb +0 -1
  224. data/lib/reap/bin/rubytest.rb +0 -45
  225. data/lib/reap/rake.rb +0 -12
  226. data/lib/reap/rakeadapter.rb +0 -50
  227. data/lib/reap/reap.rb +0 -32
  228. data/lib/reap/task/custom.rb +0 -12
  229. data/lib/reap/task/doap.rb +0 -85
  230. data/lib/reap/task/extest.rb +0 -161
  231. data/lib/reap/task/manifest.rb +0 -70
  232. data/lib/reap/task/release.rb +0 -512
  233. data/lib/reap/task/template.rb +0 -46
  234. data/lib/reap/vendor/http-access2.rb +0 -1590
  235. data/lib/reap/vendor/http-access2/cookie.rb +0 -538
  236. data/lib/reap/vendor/http-access2/http.rb +0 -542
data/ANN ADDED
@@ -0,0 +1,3 @@
1
+
2
+ This is a test.
3
+
data/COPYING ADDED
@@ -0,0 +1,11 @@
1
+ = BUTTERED PANCAKES LICENSE
2
+
3
+ The following stipulations:
4
+
5
+ 1) Butter my panakes
6
+ 2) Don't feed the lawyers
7
+
8
+ Which means:
9
+
10
+ 1) Acknowledge arthor and sources
11
+ 2) Don't sue any one over it
@@ -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
@@ -1,90 +1,65 @@
1
1
  --- %YAML:1.0
2
2
 
3
- title : Reap
4
- name : reap
5
- version : '5.0.0'
6
- status : 'beta/stable'
7
- created : '2004-04-01'
3
+ TITLE : Reap
4
+ NAME : reap
5
+ DATE : '2005-10-10'
6
+ SERIES : '4.0'
7
+ STATUS : 'beta/stable'
8
8
 
9
- author : Thomas Sawyer
10
- email : &email transfire@gmail.com
11
- homepage : "http://reap.rubyforge.org"
12
- summary : The Flexible Ruby Project Management Assistant
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
- description: >
15
- Reap comprises a set of tasks commonly need ber Ruby package
16
- developers/deployers, such as testing, packaging, releasing, etc.
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 these chores.
18
+ information, significantly simplifying usage.
20
19
 
21
- rubyforge:
22
- project : reap
23
- username : transami
24
-
25
- install: !!install
20
+ DISTRIBUTE : [ gem, tar.bz2, zip ] # tar.gz, tbz, tgz
21
+ DEPENDENCIES : [ facets ]
22
+ EXECUTABLES : [ reap ]
26
23
 
27
- package: !!package
28
- distribute : [ gem, tar.bz2 ] # zip, tar.gz, tbz, tgz, gem, deb
29
- dependencies : [ facets ]
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
- release: !!release
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
- rdoc: !!rdoc
54
- dir: 'web/doc/api'
55
- main: 'doc/README'
56
- # include:
57
- # - 'A-Z*'
58
- # - 'lib/**/*'
34
+ RDOC:
35
+ dir: 'web/rdoc'
36
+ include:
37
+ - 'A-Z*'
38
+ - 'lib/**/*'
39
+ exclude:
40
+ - 'lib/reap/data'
59
41
 
60
- announce: !!announce
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
- type : login # cram_md5, plain
68
- security : tls # ~, tls, ssl (not working yet)
69
- file : doc/LATEST # which file contains announcement
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
- # perm: !!perm
74
- # filemod: 644
75
- # dirmod: 755
76
- # user: trans
77
- # group: users
57
+ PERM:
58
+ filemod: 644
59
+ dirmod: 755
60
+ user: trans
61
+ group: users
78
62
 
79
- # noop1: !!noop
80
- # message: Hello Dude!
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
@@ -1,10 +0,0 @@
1
- require 'rake'
2
- require 'reap/rake'
3
-
4
- task :default => [:tasks]
5
-
6
- task :tasks do
7
- Rake.application.options.show_task_pattern = //
8
- Rake.application.display_tasks_and_comments
9
- end
10
-
data/bin/reap CHANGED
@@ -1,6 +1,5 @@
1
- #! /usr/bin/ruby1.8
1
+ #!/usr/bin/env ruby
2
2
 
3
- require 'reap/bin/reap.rb'
4
-
5
- ReapCommand.new.execute
3
+ require 'reap/bin/reap'
6
4
 
5
+ ReapCommand.new.go
@@ -0,0 +1,11 @@
1
+ = BUTTERED PANCAKES LICENSE
2
+
3
+ The following stipulations:
4
+
5
+ 1) Butter my panakes
6
+ 2) Don't feed the lawyers
7
+
8
+ Which means:
9
+
10
+ 1) Acknowledge arthor and sources
11
+ 2) Don't sue any one over it
@@ -2,7 +2,8 @@
2
2
 
3
3
  TITLE : &title Your App's Title
4
4
  NAME : &pkg your_unix_name
5
- VERSION : '0.0.1'
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 need not specify
26
- # extra parameters.
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: []
@@ -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