reap 6.0.2 → 9.2.0

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.
Files changed (174) hide show
  1. data/CHANGES +6 -0
  2. data/COPYING +666 -395
  3. data/MANIFEST +139 -0
  4. data/NOTES +12 -0
  5. data/README +19 -163
  6. data/bin/reap-announce +7 -0
  7. data/bin/reap-check-load +8 -0
  8. data/bin/reap-check-syntax +7 -0
  9. data/bin/reap-clean +7 -0
  10. data/bin/reap-clobber +7 -0
  11. data/bin/reap-doc +7 -0
  12. data/bin/reap-doc-rdoc +7 -0
  13. data/bin/reap-doc-ri +7 -0
  14. data/bin/reap-init +69 -0
  15. data/bin/reap-inspect +7 -0
  16. data/bin/reap-install +8 -0
  17. data/bin/reap-install-gem +8 -0
  18. data/bin/reap-log +7 -0
  19. data/bin/reap-log-changes +8 -0
  20. data/bin/reap-log-notes +8 -0
  21. data/bin/reap-make +7 -0
  22. data/bin/reap-make-clean +7 -0
  23. data/bin/reap-make-distclean +7 -0
  24. data/bin/reap-make-extconf +7 -0
  25. data/bin/reap-make-static +8 -0
  26. data/bin/reap-package +8 -0
  27. data/bin/reap-package-gem +7 -0
  28. data/bin/reap-package-tgz +7 -0
  29. data/bin/reap-package-zip +7 -0
  30. data/bin/reap-prepare +7 -0
  31. data/bin/reap-publish +7 -0
  32. data/bin/reap-release +7 -0
  33. data/bin/reap-scaffold +8 -0
  34. data/bin/reap-scm-branch +7 -0
  35. data/bin/reap-scm-tag +7 -0
  36. data/bin/reap-spec +7 -0
  37. data/bin/reap-spec-doc +8 -0
  38. data/bin/reap-stamp +7 -0
  39. data/bin/reap-stats +7 -0
  40. data/bin/reap-test +7 -0
  41. data/bin/reap-test-cross +7 -0
  42. data/bin/reap-test-load +9 -0
  43. data/bin/reap-test-solo +7 -0
  44. data/bin/reap-uninstall +7 -0
  45. data/bin/reap-uninstall-gem +7 -0
  46. data/data/reap/base/CHANGES +19 -0
  47. data/data/reap/base/COPYING +674 -0
  48. data/data/reap/base/NOTES +12 -0
  49. data/data/reap/base/README +8 -0
  50. data/data/reap/build/rake/Rakefile +130 -0
  51. data/{forge/reference/installers → data/reap/build/rake}/setup.rb +155 -97
  52. data/data/reap/build/rake-lite/install.rb +79 -0
  53. data/data/reap/build/tasks/task/rdoc +211 -0
  54. data/data/reap/{setup.rb → build/tasks/task/setup} +248 -200
  55. data/data/reap/build/tasks/task/test +38 -0
  56. data/data/reap/init/meta/project.yaml +21 -0
  57. data/demo/README +15 -0
  58. data/demo/lib/foo/foo.rb +7 -0
  59. data/demo/meta/VERSION +1 -0
  60. data/demo/meta/project.yaml +21 -0
  61. data/lib/reap/application.rb +80 -0
  62. data/lib/reap/default.yaml +77 -0
  63. data/lib/reap/extensions/array.rb +50 -0
  64. data/lib/reap/extensions/hash.rb +63 -0
  65. data/lib/reap/extensions/string.rb +31 -0
  66. data/lib/reap/extensions.rb +6 -0
  67. data/lib/reap/iobject.rb +264 -0
  68. data/lib/reap/manager/announce.rb +193 -0
  69. data/lib/reap/manager/check.rb +109 -0
  70. data/lib/reap/manager/clean.rb +58 -0
  71. data/lib/reap/manager/gem.rb +200 -0
  72. data/lib/reap/manager/html.rb +69 -0
  73. data/lib/reap/manager/log.rb +214 -0
  74. data/lib/reap/manager/make.rb +109 -0
  75. data/lib/reap/manager/pack.rb +232 -0
  76. data/lib/reap/manager/publish.rb +72 -0
  77. data/lib/reap/manager/rdoc.rb +194 -0
  78. data/lib/reap/manager/release.rb +78 -0
  79. data/lib/reap/manager/rubyforge.rb +44 -0
  80. data/lib/reap/manager/scaffold.rb +138 -0
  81. data/lib/reap/manager/scm.rb +66 -0
  82. data/lib/reap/manager/site.rb +27 -0
  83. data/lib/reap/manager/spec.rb +94 -0
  84. data/lib/reap/manager/stats.rb +145 -0
  85. data/lib/reap/manager/svn.rb +76 -0
  86. data/lib/reap/manager/test.rb +389 -0
  87. data/lib/reap/manager.rb +74 -0
  88. data/lib/reap/metadata.rb +603 -0
  89. data/lib/reap/project.rb +165 -0
  90. data/lib/reap/settings.rb +67 -0
  91. data/lib/reap/systems/rubyforge.rb +737 -0
  92. data/lib/reap/systems/subversion.rb +333 -0
  93. data/lib/reap/utilities/fileutils.rb +304 -0
  94. data/lib/reap/utilities/netutils.rb +221 -0
  95. data/lib/reap/utilities/setuputils.rb +124 -0
  96. data/lib/reap/utilities/shellutils.rb +175 -0
  97. data/log/Changelog.txt +107 -0
  98. data/log/FIXME.txt +25 -0
  99. data/log/TODO.txt +72 -0
  100. data/meta/VERSION +1 -0
  101. data/meta/description +4 -0
  102. data/meta/project.yaml +20 -0
  103. data/task/man +14 -0
  104. data/task/rdoc +20 -0
  105. data/{data/reap/scaffold/standard/setup.rb → task/setup} +248 -200
  106. metadata +225 -153
  107. data/ProjectInfo +0 -105
  108. data/bin/reap +0 -5
  109. data/bin/rubytest +0 -5
  110. data/data/reap/install.rb +0 -62
  111. data/data/reap/scaffold/standard/COPYING +0 -403
  112. data/data/reap/scaffold/standard/ChangeLog +0 -0
  113. data/data/reap/scaffold/standard/INSTALL +0 -14
  114. data/data/reap/scaffold/standard/ProjectInfo +0 -77
  115. data/data/reap/scaffold/standard/README +0 -3
  116. data/data/reap/scaffold/standard/Rakefile +0 -10
  117. data/data/reap/scaffold/standard/TODO +0 -0
  118. data/data/reap/scaffold/subversion/trunk/COPYING +0 -403
  119. data/data/reap/scaffold/subversion/trunk/ChangeLog +0 -0
  120. data/data/reap/scaffold/subversion/trunk/INSTALL +0 -14
  121. data/data/reap/scaffold/subversion/trunk/ProjectInfo +0 -76
  122. data/data/reap/scaffold/subversion/trunk/README +0 -3
  123. data/data/reap/scaffold/subversion/trunk/Rakefile +0 -10
  124. data/data/reap/scaffold/subversion/trunk/TODO +0 -0
  125. data/data/reap/scaffold/subversion/trunk/setup.rb +0 -1568
  126. data/forge/ProjectInfo +0 -38
  127. data/forge/ProjectInfo.rb +0 -76
  128. data/forge/TODO +0 -10
  129. data/forge/installer.rb +0 -250
  130. data/forge/reference/Rakefile +0 -124
  131. data/forge/reference/Rakefile.htm +0 -69
  132. data/forge/reference/aRakefile +0 -60
  133. data/forge/reference/compositepublisher.rb +0 -24
  134. data/forge/reference/ftptools.rb +0 -139
  135. data/forge/reference/installers/package.rb +0 -629
  136. data/forge/reference/license-each.rb +0 -85
  137. data/forge/reference/publisher.rb +0 -75
  138. data/forge/reference/rubyforge.rb +0 -247
  139. data/forge/reference/rubyforgepublisher.rb +0 -18
  140. data/forge/reference/sshpublisher.rb +0 -47
  141. data/forge/reference/suby-cvs.rb +0 -46
  142. data/forge/scaffold.rb +0 -126
  143. data/forge/unit_runner/README +0 -6
  144. data/forge/unit_runner/commentrunner.rb +0 -62
  145. data/forge/unit_runner/cunit.rb +0 -17
  146. data/forge/unit_runner/forkedrunner.rb +0 -91
  147. data/forge/unit_runner/sample.rb +0 -16
  148. data/lib/reap/bin/reap.rb +0 -230
  149. data/lib/reap/bin/rubytest.rb +0 -53
  150. data/lib/reap/class/announce.rb +0 -220
  151. data/lib/reap/class/doap.rb +0 -80
  152. data/lib/reap/class/extest.rb +0 -146
  153. data/lib/reap/class/filer.rb +0 -62
  154. data/lib/reap/class/manifest.rb +0 -68
  155. data/lib/reap/class/package.rb +0 -576
  156. data/lib/reap/class/publish.rb +0 -152
  157. data/lib/reap/class/rdoc.rb +0 -123
  158. data/lib/reap/class/test.rb +0 -264
  159. data/lib/reap/projectinfo.rb +0 -208
  160. data/lib/reap/rake.rb +0 -42
  161. data/lib/reap/reap.rb +0 -89
  162. data/lib/reap/tasks.rb +0 -756
  163. data/lib/reap/taskutils.rb +0 -122
  164. data/note/LATEST +0 -44
  165. data/note/doap.xml +0 -28
  166. data/note/history/Rakefile-0.1 +0 -308
  167. data/sample/ProjectInfo +0 -96
  168. data/sample/Rakefile +0 -9
  169. data/sample/Reapfile +0 -11
  170. data/sample/task/demo.rb +0 -15
  171. data/setup.rb +0 -1568
  172. data/web/ProjectInfo.html +0 -75
  173. data/web/images/grape.jpg +0 -0
  174. data/web/index.html +0 -312
data/web/ProjectInfo.html DELETED
@@ -1,75 +0,0 @@
1
- <pre id="example" style="font-size: .9em; line-height: 1.1em;">
2
-
3
- --- %YAML:1.0
4
-
5
- title : Reap
6
- name : reap
7
- version : 6.0.0
8
- status : 'beta'
9
-
10
- author : Thomas Sawyer
11
- created : '2004-04-01'
12
- email : transfirz@zmail.com
13
- homepage : "http://reap.rubyforge.org"
14
-
15
- summary : A Ruby Project Management Assistant
16
-
17
- description: >
18
- Reap comprises a set of tasks commonly needed by
19
- Ruby package developers/deployers, such as testing,
20
- packaging, releasing, etc. You can also use Reap
21
- to create your own custom tasks. Reap utilizes a
22
- YAML configuration file to harvest common project
23
- information, significantly simplifying these chores.
24
-
25
- rubyforge:
26
- project : reap
27
- username : transami
28
-
29
- package: !!package
30
- distribute : [ tar.bz2, gem, deb ]
31
- dependencies : [ facets ]
32
- executables : [ reap, rubytest ]
33
- dir: '../DISTRIBUTION'
34
- exclude:
35
- - dist
36
- - dev
37
- - scrap
38
- - web
39
-
40
- release: !!release
41
- host : rubyforge.org
42
- username : transami
43
- project : reap
44
- groupid : 811
45
- package : Reap
46
- dir : '../DISTRIBUTION'
47
-
48
- publish: !!publish
49
- target : rubyforge
50
- type : web
51
- host : rubyforge.org
52
- username : transami
53
- dir : web
54
-
55
- rdoc: !!rdoc
56
- dir: 'web/doc/api'
57
- main: README
58
-
59
- announce: !!announce
60
- to : ruby-talk@ruby-lang.org
61
- from : &amp;email transfirz@zmail.com
62
- domain : unit.rubyforge.org
63
- server : smtp.gmail.com
64
- port : 587
65
- account : *email
66
- type : login # cram_md5, plain
67
- security : tls # ~, tls, ssl (not working yet)
68
- file : doc/LATEST # file contains announcement
69
- slogan : REAP THE REWARDS!
70
- links : []
71
-
72
- doap: !!doap
73
- dir: doc
74
-
75
- </pre>
data/web/images/grape.jpg DELETED
Binary file
data/web/index.html DELETED
@@ -1,312 +0,0 @@
1
- <html>
2
-
3
- <head>
4
- <title>Reap</title>
5
- <style>
6
-
7
- body { margin: 0; padding: 0; font-size: 10pt; font-size: 1em; }
8
-
9
- p { font-family: sans-serif; text-align: justify;
10
- font-size: 1em; line-height: 1.3em;
11
- }
12
-
13
- img { }
14
-
15
- h2 { color: red; margin-top: 30px; }
16
-
17
- td { margin: 0; padding: 0; vertical-align: top; }
18
-
19
- b.p { color: white; }
20
- b.b { color: black; }
21
- b.r { color: red; }
22
-
23
- pre { font-size: .9em; line-height: 1.2em;
24
- margin: 0;
25
- padding: 0; padding-bottom: 5px; padding-top: 15px;
26
- background: #FFFBBF;
27
- }
28
-
29
- pre.white { background: white; }
30
-
31
- span.m { font-family: monospace; }
32
-
33
- div#title {
34
- float: top;
35
- background: black repeat-x;
36
- border-bottom: 1px solid gray;
37
- }
38
-
39
- div#title table {}
40
-
41
- td#meta { color: white; vertical-align: bottom;
42
- font-size: 64pt; font-family: sans-serif; font-weight: bold; }
43
-
44
- td#slogon {
45
- width: 120px;
46
- vertical-align: middle; text-align: left; font-family: monospace;
47
- color: gray; font-size: 1.3em; padding-left: 10px; text-align: center;
48
- white-space: nowrap;
49
- }
50
-
51
- div#menu { width: 100%; vertical-align: middle; padding-left: 30px;
52
- font-family: sans-serif; font-size: .8em; line-height: 3em;
53
- border-bottom: 1px solid black;
54
- color: red; background: white; }
55
-
56
- div#menu a { color: red; text-decoration: none; font-weight: bold; }
57
-
58
- div#menu a:hover { color: pink; }
59
-
60
- div#container { margin: 10px; padding: 10px; padding-top: 5px;
61
- border: 0;
62
- }
63
-
64
- div#copy { font-size: 7pt; font-family: sans-serif; margin: 5px;
65
- border-top: 1px solid #cccccc; color: gray;
66
- }
67
-
68
- div#eg { float: right; margin: 20px; margin-top: -110px;
69
- padding: 0px; padding-top: 7px;
70
- border: solid 1px lightgray;
71
- text-align: center;
72
- font-family: monospace; font-size: .8em;
73
- color: green; background: #cccccc; }
74
-
75
- iframe { width: 430px; height: 1000px; border: 0; border-left: solid 1px #DDDDDD;
76
- margin: 0px; margin-top: 5px; padding-left: 5px;
77
- background: #EEFFEE; }
78
-
79
- </style>
80
- </head>
81
-
82
- <body>
83
-
84
- <div id="title">
85
- <table width="100%" border="0" style="padding: 0;">
86
- <tr>
87
- <td id="slogon">
88
- <b class="p">w h e n</b> <br/>
89
- <b class="p">y o u r</b> <br/>
90
- <b class="r">r u b y</b> <br/>
91
- <b class="p">r u n s</b> <br/>
92
- <b class="p">o v e r</b>&nbsp;
93
- </td>
94
- <td id="meta">
95
- RE<b class="r">A</b>P
96
- </td>
97
- </tr>
98
- <tr>
99
- </tr>
100
- </table>
101
- </div>
102
-
103
- <div id="menu" colspan="2">
104
- <a href="http://rubyforge.org/frs/?group_id=811">Download</a> &middot;
105
- <a href="doc/api/index.html">Documentation</a> &middot;
106
- <a href="http://rubyforge.org/projects/reap/">Development</a>
107
- </div>
108
-
109
- <div id="eg">
110
- <b>Example ProjectInfo File</b><br/>
111
- <iframe src="ProjectInfo.html">Sorry, there are no iframes in your web world.</iframe>
112
- </div>
113
-
114
- <div id="container">
115
-
116
- <p>Reap is a set of integrated tasks designed to simplify the life of
117
- Ruby application developers and project managers. The tasks
118
- cover the range of common nneds, from setting up a standard
119
- project structure to distributing and announcments.
120
- Because of the commonality between the tasks, Reap utilizes a
121
- central YAML-format configuration file to harvest project
122
- information, significantly simplifying usage.</p>
123
-
124
- <p>Custom task can also be easily created to suit specific
125
- project requirements. In this respect Reap is much like
126
- Rake. In fact Reap can be used as a replacement for Rake.
127
- On the other hand Reap tasks can also be used via Rake
128
- just as if they were another set of avaiable Rake tasks.</p>
129
-
130
-
131
- <h2> Usage </h2>
132
-
133
- <p>To use Reap, you simply need to install it and add a ProjectInfo
134
- to your projects main directory. By default, Reap supports the standard
135
- project layout as promoted by setup.rb.</p>
136
-
137
- <p>Once you ProjectInfo file is filled out you can see what tasks are ready to run
138
- simply by typing 'reap' into the command line. For example you might see
139
- something like:</p>
140
-
141
- <pre>
142
- ~/myproj$ reap
143
-
144
- info Display ProjectInfo file.
145
- testext Extract unit-tests from lib scripts.
146
- test Run unit-tests (each in a separate process).
147
- rdoc Generate API Documentation.
148
- doap Generate DOAP project file.
149
- publish Publish documents to the web.
150
- perm Normalize ownership and permissions of files.
151
- package Build distribution packages.
152
- install Locally install package using built-in setup.rb.
153
- release Release distribution files.
154
- announce Email project announcement.
155
- </pre>
156
-
157
- <p>To get started, it easiest to use a pre-existing ProjectInfo file and modifying
158
- it to fit your project. Besides copying another project's ProjectInfo file
159
- you can ask Reap for an empty one.</p>
160
-
161
- <pre>
162
- ~/myproj$ reap template
163
- </pre>
164
-
165
- <p>Each task section of the project information file can be used as a task name and
166
- a YAML private type identifies the type of task it represents.
167
- To find out what parameters each task accepts see Reap's RDoc API.</p>
168
-
169
- <p>If you prefer using Rake for all your project tasks. Reap provides an
170
- simple interface for doing so. Here's an example of a Rakefile.</p>
171
-
172
- <pre>
173
- require 'rake'
174
- require 'reap/reap'
175
-
176
- task_package 'pack' do |pkg|
177
- pkg.distribute = [ 'gem' ]
178
- pkg.dependencies = [ facets ]
179
- end
180
- </pre>
181
-
182
- <p>In the above, all information is provided directly via the Ruby task code.
183
- You can also use Rake while utilizing the ProjectInfo file, if you prefer.
184
- In that case it is very simple. In your Rake file simple put:</p>
185
-
186
- <pre>
187
- require 'rake'
188
- require 'reap/rake'
189
- </pre>
190
-
191
- <p>Then all the tasks defined in the ProjectInfo file will be available via Rake.
192
- You can add additional Rake tasks, of course.</p>
193
-
194
- <h2> Creating Tasks </h2>
195
-
196
- <p>Building a Reap task is pretty easy too. In fact if you ever used Rake
197
- you already have a good idea about how to do it.</p>
198
-
199
- <p>The first thing you need to know is where to put the tasks code.
200
- With Reap each task typically has it's own file.
201
- To create a custom task particular to a project add a task/ directory
202
- to your project and place your custom task file in it.</p>
203
-
204
- <!--
205
- <p>If you have custom tasks you'd like to use for all your projects
206
- you can place them either in you home directory under ~/.config/reap/task/,
207
- or you could make them universally available to all users in the
208
- shared data directory, on Debian, /usr/share/reap/task/.</p>
209
- -->
210
-
211
- <p>Here's an "oh-so-simple" example:</p>
212
-
213
- <pre>
214
- module Tasks
215
-
216
- def simple( name, data )
217
-
218
- desc 'This is a custom reap task class.'
219
-
220
- task name do
221
- data.message ||= master.message
222
- puts data.message + "\n\n" + data.signed
223
- end
224
-
225
- end
226
-
227
- end
228
- </pre>
229
-
230
- <p>The corresponding settings in the ProjectInfo file will then be:</p>
231
-
232
- <pre>
233
- message: Hi, how are you?
234
-
235
- simple: !!simple
236
- signed: Your friend, Tom.
237
- </pre>
238
-
239
- <p>And to use it type:</p>
240
-
241
- <pre>
242
- % reap simple
243
- </pre>
244
-
245
- <p>Notice the reference to 'master'. This is an OpenCascade interface
246
- (similar to OpenObject and OpenStruct) to the whole ProjectInfo dataset.</p>
247
-
248
- <p>You might recognize the core methods of creating a task, 'desc' and 'task'.
249
- These are used exactly as they are in Rake. We encapsulate them in a
250
- task-definition method (eg. simple) so the task can be generated dyanmically
251
- if such a section (!!simple) appears in the ProjectInfo file. Such
252
- task-definition methods are recognized by reap b/c they are stored in the
253
- special purpose Tasks module.</p>
254
-
255
- <p>It's a good idea to take some time and learn all the standard
256
- properties of a project's information file which you can draw on for
257
- your own tasks. Looking at the RDoc API documentation will elucidate most these.
258
- </p>
259
-
260
- <p>The rest of building a task is a matter or writing the code to have it do
261
- what you want it to, of course. If you develop any nice tasks, be sure to pass
262
- them along!
263
- </p>
264
-
265
-
266
- <h2> Status </h2>
267
-
268
- <p>Reap works fairly well at this point, although not all intended functionality is complete.
269
- The primary tasks, like packaging, testing and rdocing are the most well developed.
270
- Other tasks have some limitations. For instance, the publish task
271
- is limited to uploading to RubyForge at the moment. And the announcment task can't
272
- route email via TLS servers. But Reap is very usable and is used in a number of
273
- projects including Facets and Nitro. Moreover, if you use it, contributions
274
- to it's improvement are very welcome and will be sung many wonderous praises &nbsp;<span class="m">;)</span>
275
- </p>
276
-
277
- <p>IMPORTANT!!! Microsoft Windows support is weak at the moment. No doubt a few of
278
- the built-in tasks will fail under Windoes. But fixing this issues is a high priority
279
- for upcoming releases. So staty tuned --or heck, help out!</p>
280
-
281
-
282
- <h2> Future </h2>
283
-
284
- <p>The future of Reap looks very bright. Some of the plans for the future
285
- include:</p>
286
-
287
- <p>
288
- 1. Code audit to catch any overlooked bugs and potential gotchas.<br/>
289
- 2. Full Windows compatability, replacing most of the shell calls.<br/>
290
- 3. Switching from setup.rb to an improved package.rb install system.<br/>
291
- 4. SCM related tasks, starting with Darcs and later Subversion.<br/>
292
- </p>
293
-
294
-
295
- <h2> License </h2>
296
-
297
- <p>Reap Copyright (c) 2004-2006 Thomas Sawyer, Ruby License</p>
298
-
299
- <p>THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
300
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
301
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
302
- PURPOSE.
303
- </p>
304
-
305
- <br/><br/>
306
-
307
- </div>
308
-
309
- <div id="copy">Copyright (c) 2006 Thomas Sawyer, All Rights Reserved.</div>
310
-
311
- </body>
312
- </html>