rake 0.4.11 → 13.4.2
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.
- checksums.yaml +7 -0
- data/History.rdoc +2454 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +155 -0
- data/doc/command_line_usage.rdoc +171 -0
- data/doc/glossary.rdoc +40 -49
- data/doc/jamis.rb +135 -107
- data/doc/proto_rake.rdoc +22 -22
- data/doc/rake.1 +156 -0
- data/doc/rakefile.rdoc +428 -27
- data/doc/rational.rdoc +6 -6
- data/exe/rake +27 -0
- data/lib/rake/application.rb +847 -0
- data/lib/rake/backtrace.rb +25 -0
- data/lib/rake/clean.rb +57 -10
- data/lib/rake/cloneable.rb +17 -0
- data/lib/rake/cpu_counter.rb +122 -0
- data/lib/rake/default_loader.rb +15 -0
- data/lib/rake/dsl_definition.rb +196 -0
- data/lib/rake/early_time.rb +22 -0
- data/lib/rake/ext/core.rb +26 -0
- data/lib/rake/ext/string.rb +176 -0
- data/lib/rake/file_creation_task.rb +25 -0
- data/lib/rake/file_list.rb +435 -0
- data/lib/rake/file_task.rb +58 -0
- data/lib/rake/file_utils.rb +137 -0
- data/lib/rake/file_utils_ext.rb +135 -0
- data/lib/rake/invocation_chain.rb +57 -0
- data/lib/rake/invocation_exception_mixin.rb +17 -0
- data/lib/rake/late_time.rb +18 -0
- data/lib/rake/linked_list.rb +112 -0
- data/lib/rake/loaders/makefile.rb +54 -0
- data/lib/rake/multi_task.rb +14 -0
- data/lib/rake/name_space.rb +38 -0
- data/lib/rake/options.rb +31 -0
- data/lib/rake/packagetask.rb +124 -54
- data/lib/rake/phony.rb +16 -0
- data/lib/rake/private_reader.rb +21 -0
- data/lib/rake/promise.rb +100 -0
- data/lib/rake/pseudo_status.rb +30 -0
- data/lib/rake/rake_module.rb +67 -0
- data/lib/rake/rake_test_loader.rb +27 -0
- data/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/lib/rake/scope.rb +43 -0
- data/lib/rake/task.rb +434 -0
- data/lib/rake/task_argument_error.rb +8 -0
- data/lib/rake/task_arguments.rb +113 -0
- data/lib/rake/task_manager.rb +333 -0
- data/lib/rake/tasklib.rb +4 -16
- data/lib/rake/testtask.rb +110 -36
- data/lib/rake/thread_history_display.rb +49 -0
- data/lib/rake/thread_pool.rb +157 -0
- data/lib/rake/trace_output.rb +23 -0
- data/lib/rake/version.rb +10 -0
- data/lib/rake/win32.rb +17 -0
- data/lib/rake.rb +64 -992
- data/rake.gemspec +102 -0
- metadata +117 -89
- data/CHANGES +0 -153
- data/README +0 -209
- data/Rakefile +0 -215
- data/TODO +0 -19
- data/bin/rake +0 -8
- data/install.rb +0 -88
- data/lib/rake/contrib/compositepublisher.rb +0 -24
- data/lib/rake/contrib/ftptools.rb +0 -139
- data/lib/rake/contrib/publisher.rb +0 -75
- data/lib/rake/contrib/rubyforgepublisher.rb +0 -18
- data/lib/rake/contrib/sshpublisher.rb +0 -47
- data/lib/rake/contrib/sys.rb +0 -207
- data/lib/rake/gempackagetask.rb +0 -98
- data/lib/rake/rdoctask.rb +0 -128
- data/lib/rake/runtest.rb +0 -23
- data/test/contrib/testsys.rb +0 -47
- data/test/data/rbext/rakefile.rb +0 -3
- data/test/filecreation.rb +0 -26
- data/test/functional.rb +0 -82
- data/test/shellcommand.rb +0 -3
- data/test/testclean.rb +0 -13
- data/test/testfilelist.rb +0 -255
- data/test/testfileutils.rb +0 -83
- data/test/testftp.rb +0 -55
- data/test/testpackagetask.rb +0 -81
- data/test/testtasks.rb +0 -371
- data/test/testtesttask.rb +0 -71
data/doc/jamis.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module RDoc
|
|
2
3
|
module Page
|
|
3
4
|
|
|
@@ -182,30 +183,39 @@ h3, h4, h5, h6 {
|
|
|
182
183
|
|
|
183
184
|
CSS
|
|
184
185
|
|
|
185
|
-
|
|
186
|
+
XHTML_PREAMBLE = %{<?xml version="1.0" encoding="%charset%"?>
|
|
187
|
+
<!DOCTYPE html
|
|
188
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
189
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
HEADER = XHTML_PREAMBLE + <<ENDHEADER
|
|
186
193
|
<html>
|
|
187
194
|
<head>
|
|
188
195
|
<title>%title%</title>
|
|
189
196
|
<meta http-equiv="Content-Type" content="text/html; charset=%charset%" />
|
|
190
197
|
<link rel="stylesheet" href="%style_url%" type="text/css" media="screen" />
|
|
191
198
|
|
|
192
|
-
<script type="text/javascript"
|
|
193
|
-
|
|
199
|
+
<script language="JavaScript" type="text/javascript">
|
|
200
|
+
// <![CDATA[
|
|
201
|
+
|
|
194
202
|
function toggleSource( id )
|
|
195
203
|
{
|
|
196
204
|
var elem
|
|
197
205
|
var link
|
|
198
206
|
|
|
199
|
-
if( document.
|
|
207
|
+
if( document.getElementById )
|
|
208
|
+
{
|
|
209
|
+
elem = document.getElementById( id )
|
|
210
|
+
link = document.getElementById( "l_" + id )
|
|
211
|
+
}
|
|
212
|
+
else if ( document.all )
|
|
200
213
|
{
|
|
201
214
|
elem = eval( "document.all." + id )
|
|
202
215
|
link = eval( "document.all.l_" + id )
|
|
203
216
|
}
|
|
204
217
|
else
|
|
205
|
-
|
|
206
|
-
elem = document.getElementById( id )
|
|
207
|
-
link = document.getElementById( "l_" + id )
|
|
208
|
-
}
|
|
218
|
+
return false;
|
|
209
219
|
|
|
210
220
|
if( elem.style.display == "block" )
|
|
211
221
|
{
|
|
@@ -223,89 +233,12 @@ BODY = <<HTML
|
|
|
223
233
|
{
|
|
224
234
|
window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
|
|
225
235
|
}
|
|
226
|
-
|
|
236
|
+
// ]]>
|
|
227
237
|
</script>
|
|
228
238
|
</head>
|
|
229
239
|
|
|
230
240
|
<body>
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
<div id="content">
|
|
234
|
-
IF:diagram
|
|
235
|
-
<table cellpadding='0' cellspacing='0' border='0' width="100%"><tr><td align="center">
|
|
236
|
-
%diagram%
|
|
237
|
-
</td></tr></table>
|
|
238
|
-
ENDIF:diagram
|
|
239
|
-
|
|
240
|
-
IF:description
|
|
241
|
-
<div class="description">%description%</div>
|
|
242
|
-
ENDIF:description
|
|
243
|
-
|
|
244
|
-
IF:requires
|
|
245
|
-
<div class="sectiontitle">Required Files</div>
|
|
246
|
-
<ul>
|
|
247
|
-
START:requires
|
|
248
|
-
<li>HREF:aref:name:</li>
|
|
249
|
-
END:requires
|
|
250
|
-
</ul>
|
|
251
|
-
ENDIF:requires
|
|
252
|
-
|
|
253
|
-
IF:methods
|
|
254
|
-
<div class="sectiontitle">Methods</div>
|
|
255
|
-
<ul>
|
|
256
|
-
START:methods
|
|
257
|
-
<li>HREF:aref:name:</li>
|
|
258
|
-
END:methods
|
|
259
|
-
</ul>
|
|
260
|
-
ENDIF:methods
|
|
261
|
-
|
|
262
|
-
IF:constants
|
|
263
|
-
<div class="sectiontitle">Constants</div>
|
|
264
|
-
<table border='0' cellpadding='5'>
|
|
265
|
-
START:constants
|
|
266
|
-
<tr valign='top'>
|
|
267
|
-
<td class="attr-name">%name%</td>
|
|
268
|
-
<td>=</td>
|
|
269
|
-
<td class="attr-value">%value%</td>
|
|
270
|
-
</tr>
|
|
271
|
-
IF:desc
|
|
272
|
-
<tr valign='top'>
|
|
273
|
-
<td> </td>
|
|
274
|
-
<td colspan="2" class="attr-desc">%desc%</td>
|
|
275
|
-
</tr>
|
|
276
|
-
ENDIF:desc
|
|
277
|
-
END:constants
|
|
278
|
-
</table>
|
|
279
|
-
ENDIF:constants
|
|
280
|
-
|
|
281
|
-
IF:attributes
|
|
282
|
-
<div class="sectiontitle">Attributes</div>
|
|
283
|
-
<table border='0' cellpadding='5'>
|
|
284
|
-
START:attributes
|
|
285
|
-
<tr valign='top'>
|
|
286
|
-
<td class='attr-rw'>
|
|
287
|
-
IF:rw
|
|
288
|
-
[%rw%]
|
|
289
|
-
ENDIF:rw
|
|
290
|
-
</td>
|
|
291
|
-
<td class='attr-name'>%name%</td>
|
|
292
|
-
<td class='attr-desc'>%a_desc%</td>
|
|
293
|
-
</tr>
|
|
294
|
-
END:attributes
|
|
295
|
-
</table>
|
|
296
|
-
ENDIF:attributes
|
|
297
|
-
|
|
298
|
-
IF:classlist
|
|
299
|
-
<div class="sectiontitle">Classes and Modules</div>
|
|
300
|
-
%classlist%
|
|
301
|
-
ENDIF:classlist
|
|
302
|
-
|
|
303
|
-
!INCLUDE! <!-- method descriptions -->
|
|
304
|
-
|
|
305
|
-
</div>
|
|
306
|
-
</body>
|
|
307
|
-
</html>
|
|
308
|
-
HTML
|
|
241
|
+
ENDHEADER
|
|
309
242
|
|
|
310
243
|
FILE_PAGE = <<HTML
|
|
311
244
|
<table border='0' cellpadding='0' cellspacing='0' width="100%" class='banner'>
|
|
@@ -318,7 +251,7 @@ FILE_PAGE = <<HTML
|
|
|
318
251
|
<td>Path:</td>
|
|
319
252
|
<td>%full_path%
|
|
320
253
|
IF:cvsurl
|
|
321
|
-
|
|
254
|
+
(<a href="%cvsurl%">CVS</a>)
|
|
322
255
|
ENDIF:cvsurl
|
|
323
256
|
</td>
|
|
324
257
|
</tr>
|
|
@@ -374,6 +307,44 @@ HTML
|
|
|
374
307
|
###################################################################
|
|
375
308
|
|
|
376
309
|
METHOD_LIST = <<HTML
|
|
310
|
+
<div id="content">
|
|
311
|
+
IF:diagram
|
|
312
|
+
<table cellpadding='0' cellspacing='0' border='0' width="100%"><tr><td align="center">
|
|
313
|
+
%diagram%
|
|
314
|
+
</td></tr></table>
|
|
315
|
+
ENDIF:diagram
|
|
316
|
+
|
|
317
|
+
IF:description
|
|
318
|
+
<div class="description">%description%</div>
|
|
319
|
+
ENDIF:description
|
|
320
|
+
|
|
321
|
+
IF:requires
|
|
322
|
+
<div class="sectiontitle">Required Files</div>
|
|
323
|
+
<ul>
|
|
324
|
+
START:requires
|
|
325
|
+
<li>HREF:aref:name:</li>
|
|
326
|
+
END:requires
|
|
327
|
+
</ul>
|
|
328
|
+
ENDIF:requires
|
|
329
|
+
|
|
330
|
+
IF:toc
|
|
331
|
+
<div class="sectiontitle">Contents</div>
|
|
332
|
+
<ul>
|
|
333
|
+
START:toc
|
|
334
|
+
<li><a href="#%href%">%secname%</a></li>
|
|
335
|
+
END:toc
|
|
336
|
+
</ul>
|
|
337
|
+
ENDIF:toc
|
|
338
|
+
|
|
339
|
+
IF:methods
|
|
340
|
+
<div class="sectiontitle">Methods</div>
|
|
341
|
+
<ul>
|
|
342
|
+
START:methods
|
|
343
|
+
<li>HREF:aref:name:</li>
|
|
344
|
+
END:methods
|
|
345
|
+
</ul>
|
|
346
|
+
ENDIF:methods
|
|
347
|
+
|
|
377
348
|
IF:includes
|
|
378
349
|
<div class="sectiontitle">Included Modules</div>
|
|
379
350
|
<ul>
|
|
@@ -383,6 +354,57 @@ END:includes
|
|
|
383
354
|
</ul>
|
|
384
355
|
ENDIF:includes
|
|
385
356
|
|
|
357
|
+
START:sections
|
|
358
|
+
IF:sectitle
|
|
359
|
+
<div class="sectiontitle"><a nem="%secsequence%">%sectitle%</a></div>
|
|
360
|
+
IF:seccomment
|
|
361
|
+
<div class="description">
|
|
362
|
+
%seccomment%
|
|
363
|
+
</div>
|
|
364
|
+
ENDIF:seccomment
|
|
365
|
+
ENDIF:sectitle
|
|
366
|
+
|
|
367
|
+
IF:classlist
|
|
368
|
+
<div class="sectiontitle">Classes and Modules</div>
|
|
369
|
+
%classlist%
|
|
370
|
+
ENDIF:classlist
|
|
371
|
+
|
|
372
|
+
IF:constants
|
|
373
|
+
<div class="sectiontitle">Constants</div>
|
|
374
|
+
<table border='0' cellpadding='5'>
|
|
375
|
+
START:constants
|
|
376
|
+
<tr valign='top'>
|
|
377
|
+
<td class="attr-name">%name%</td>
|
|
378
|
+
<td>=</td>
|
|
379
|
+
<td class="attr-value">%value%</td>
|
|
380
|
+
</tr>
|
|
381
|
+
IF:desc
|
|
382
|
+
<tr valign='top'>
|
|
383
|
+
<td> </td>
|
|
384
|
+
<td colspan="2" class="attr-desc">%desc%</td>
|
|
385
|
+
</tr>
|
|
386
|
+
ENDIF:desc
|
|
387
|
+
END:constants
|
|
388
|
+
</table>
|
|
389
|
+
ENDIF:constants
|
|
390
|
+
|
|
391
|
+
IF:attributes
|
|
392
|
+
<div class="sectiontitle">Attributes</div>
|
|
393
|
+
<table border='0' cellpadding='5'>
|
|
394
|
+
START:attributes
|
|
395
|
+
<tr valign='top'>
|
|
396
|
+
<td class='attr-rw'>
|
|
397
|
+
IF:rw
|
|
398
|
+
[%rw%]
|
|
399
|
+
ENDIF:rw
|
|
400
|
+
</td>
|
|
401
|
+
<td class='attr-name'>%name%</td>
|
|
402
|
+
<td class='attr-desc'>%a_desc%</td>
|
|
403
|
+
</tr>
|
|
404
|
+
END:attributes
|
|
405
|
+
</table>
|
|
406
|
+
ENDIF:attributes
|
|
407
|
+
|
|
386
408
|
IF:method_list
|
|
387
409
|
START:method_list
|
|
388
410
|
IF:methods
|
|
@@ -415,8 +437,8 @@ END:aka
|
|
|
415
437
|
ENDIF:aka
|
|
416
438
|
IF:sourcecode
|
|
417
439
|
<div class="sourcecode">
|
|
418
|
-
<p class="source-link">[ <a href="javascript:toggleSource('%aref
|
|
419
|
-
<div id="%aref
|
|
440
|
+
<p class="source-link">[ <a href="javascript:toggleSource('%aref%_source')" id="l_%aref%_source">show source</a> ]</p>
|
|
441
|
+
<div id="%aref%_source" class="dyn-source">
|
|
420
442
|
<pre>
|
|
421
443
|
%sourcecode%
|
|
422
444
|
</pre>
|
|
@@ -428,14 +450,28 @@ END:methods
|
|
|
428
450
|
ENDIF:methods
|
|
429
451
|
END:method_list
|
|
430
452
|
ENDIF:method_list
|
|
453
|
+
END:sections
|
|
454
|
+
</div>
|
|
431
455
|
HTML
|
|
432
456
|
|
|
433
|
-
=
|
|
434
|
-
|
|
457
|
+
FOOTER = <<ENDFOOTER
|
|
458
|
+
</body>
|
|
459
|
+
</html>
|
|
460
|
+
ENDFOOTER
|
|
461
|
+
|
|
462
|
+
BODY = HEADER + <<ENDBODY
|
|
463
|
+
!INCLUDE! <!-- banner header -->
|
|
464
|
+
|
|
465
|
+
<div id="bodyContent">
|
|
466
|
+
#{METHOD_LIST}
|
|
467
|
+
</div>
|
|
468
|
+
|
|
469
|
+
#{FOOTER}
|
|
470
|
+
ENDBODY
|
|
435
471
|
|
|
436
472
|
########################## Source code ##########################
|
|
437
473
|
|
|
438
|
-
SRC_PAGE = <<HTML
|
|
474
|
+
SRC_PAGE = XHTML_PREAMBLE + <<HTML
|
|
439
475
|
<html>
|
|
440
476
|
<head><title>%title%</title>
|
|
441
477
|
<meta http-equiv="Content-Type" content="text/html; charset=%charset%">
|
|
@@ -467,7 +503,7 @@ FR_INDEX_BODY = <<HTML
|
|
|
467
503
|
!INCLUDE!
|
|
468
504
|
HTML
|
|
469
505
|
|
|
470
|
-
FILE_INDEX = <<HTML
|
|
506
|
+
FILE_INDEX = XHTML_PREAMBLE + <<HTML
|
|
471
507
|
<html>
|
|
472
508
|
<head>
|
|
473
509
|
<meta http-equiv="Content-Type" content="text/html; charset=%charset%">
|
|
@@ -475,7 +511,7 @@ FILE_INDEX = <<HTML
|
|
|
475
511
|
<!--
|
|
476
512
|
body {
|
|
477
513
|
background-color: #EEE;
|
|
478
|
-
font-family: #{FONTS};
|
|
514
|
+
font-family: #{FONTS};
|
|
479
515
|
color: #000;
|
|
480
516
|
margin: 0px;
|
|
481
517
|
}
|
|
@@ -494,6 +530,7 @@ FILE_INDEX = <<HTML
|
|
|
494
530
|
a {
|
|
495
531
|
color: #00F;
|
|
496
532
|
text-decoration: none;
|
|
533
|
+
white-space: nowrap;
|
|
497
534
|
}
|
|
498
535
|
a:hover {
|
|
499
536
|
color: #77F;
|
|
@@ -516,8 +553,8 @@ HTML
|
|
|
516
553
|
CLASS_INDEX = FILE_INDEX
|
|
517
554
|
METHOD_INDEX = FILE_INDEX
|
|
518
555
|
|
|
519
|
-
INDEX = <<HTML
|
|
520
|
-
<html>
|
|
556
|
+
INDEX = XHTML_PREAMBLE + <<HTML
|
|
557
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
521
558
|
<head>
|
|
522
559
|
<title>%title%</title>
|
|
523
560
|
<meta http-equiv="Content-Type" content="text/html; charset=%charset%">
|
|
@@ -549,16 +586,7 @@ ENDIF:inline_source
|
|
|
549
586
|
</html>
|
|
550
587
|
HTML
|
|
551
588
|
|
|
552
|
-
# and a blank page to use as a target
|
|
553
|
-
BLANK = %{
|
|
554
|
-
<html><body bgcolor="white"></body></html>
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
def write_extra_pages
|
|
558
|
-
template = TemplatePage.new(BLANK)
|
|
559
|
-
File.open("blank.html", "w") { |f| template.write_html_on(f, {}) }
|
|
560
|
-
end
|
|
561
|
-
|
|
562
589
|
end
|
|
563
590
|
end
|
|
564
591
|
|
|
592
|
+
|
data/doc/proto_rake.rdoc
CHANGED
|
@@ -4,54 +4,54 @@ This is the original 100 line prototype rake program.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
#!/usr/bin/env ruby
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
require 'ftools'
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
class Task
|
|
11
11
|
TASKS = Hash.new
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
attr_reader :prerequisites
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
def initialize(task_name)
|
|
16
16
|
@name = task_name
|
|
17
17
|
@prerequisites = []
|
|
18
18
|
@actions = []
|
|
19
19
|
end
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
def enhance(deps=nil, &block)
|
|
22
22
|
@prerequisites |= deps if deps
|
|
23
23
|
@actions << block if block_given?
|
|
24
24
|
self
|
|
25
25
|
end
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
def name
|
|
28
28
|
@name.to_s
|
|
29
29
|
end
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
def invoke
|
|
32
32
|
@prerequisites.each { |n| Task[n].invoke }
|
|
33
33
|
execute if needed?
|
|
34
34
|
end
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
def execute
|
|
37
37
|
return if @triggered
|
|
38
38
|
@triggered = true
|
|
39
39
|
@actions.collect { |act| result = act.call(self) }.last
|
|
40
40
|
end
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
def needed?
|
|
43
43
|
true
|
|
44
44
|
end
|
|
45
|
-
|
|
45
|
+
|
|
46
46
|
def timestamp
|
|
47
47
|
Time.now
|
|
48
48
|
end
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
class << self
|
|
51
51
|
def [](task_name)
|
|
52
52
|
TASKS[intern(task_name)] or fail "Don't know how to rake #{task_name}"
|
|
53
53
|
end
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
def define_task(args, &block)
|
|
56
56
|
case args
|
|
57
57
|
when Hash
|
|
@@ -66,18 +66,18 @@ This is the original 100 line prototype rake program.
|
|
|
66
66
|
deps = deps.collect {|d| intern(d) }
|
|
67
67
|
get(task_name).enhance(deps, &block)
|
|
68
68
|
end
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
def get(task_name)
|
|
71
71
|
name = intern(task_name)
|
|
72
72
|
TASKS[name] ||= self.new(name)
|
|
73
73
|
end
|
|
74
|
-
|
|
74
|
+
|
|
75
75
|
def intern(task_name)
|
|
76
76
|
(Symbol === task_name) ? task_name : task_name.intern
|
|
77
77
|
end
|
|
78
78
|
end
|
|
79
79
|
end
|
|
80
|
-
|
|
80
|
+
|
|
81
81
|
class FileTask < Task
|
|
82
82
|
def needed?
|
|
83
83
|
return true unless File.exist?(name)
|
|
@@ -85,25 +85,25 @@ This is the original 100 line prototype rake program.
|
|
|
85
85
|
return false if latest_prereq.nil?
|
|
86
86
|
timestamp < latest_prereq
|
|
87
87
|
end
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
def timestamp
|
|
90
90
|
File.new(name.to_s).mtime
|
|
91
91
|
end
|
|
92
92
|
end
|
|
93
|
-
|
|
93
|
+
|
|
94
94
|
def task(args, &block)
|
|
95
95
|
Task.define_task(args, &block)
|
|
96
96
|
end
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
def file(args, &block)
|
|
99
99
|
FileTask.define_task(args, &block)
|
|
100
100
|
end
|
|
101
|
-
|
|
101
|
+
|
|
102
102
|
def sys(cmd)
|
|
103
103
|
puts cmd
|
|
104
104
|
system(cmd) or fail "Command Failed: [#{cmd}]"
|
|
105
105
|
end
|
|
106
|
-
|
|
106
|
+
|
|
107
107
|
def rake
|
|
108
108
|
begin
|
|
109
109
|
here = Dir.pwd
|
|
@@ -119,9 +119,9 @@ This is the original 100 line prototype rake program.
|
|
|
119
119
|
rescue Exception => ex
|
|
120
120
|
puts "rake aborted ... #{ex.message}"
|
|
121
121
|
puts ex.backtrace.find {|str| str =~ /Rakefile/ } || ""
|
|
122
|
-
end
|
|
122
|
+
end
|
|
123
123
|
end
|
|
124
|
-
|
|
124
|
+
|
|
125
125
|
if __FILE__ == $0 then
|
|
126
126
|
rake
|
|
127
127
|
end
|
data/doc/rake.1
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
.Dd June 12, 2016
|
|
2
|
+
.Dt RAKE 1
|
|
3
|
+
.Os rake 11.2.2
|
|
4
|
+
.Sh NAME
|
|
5
|
+
.Nm rake
|
|
6
|
+
.Nd make-like build utility for Ruby
|
|
7
|
+
.Sh SYNOPSIS
|
|
8
|
+
.Nm
|
|
9
|
+
.Op Fl f Ar rakefile
|
|
10
|
+
.Op Ar options
|
|
11
|
+
.Ar targets ...
|
|
12
|
+
.Sh DESCRIPTION
|
|
13
|
+
.Nm
|
|
14
|
+
is a
|
|
15
|
+
.Xr make 1 Ns -like
|
|
16
|
+
build utility for Ruby.
|
|
17
|
+
Tasks and dependencies are specified in standard Ruby syntax.
|
|
18
|
+
.Sh OPTIONS
|
|
19
|
+
.Bl -tag -width Ds
|
|
20
|
+
.It Fl m , Fl -multitask
|
|
21
|
+
Treat all tasks as multitasks.
|
|
22
|
+
.It Fl B , Fl -build-all
|
|
23
|
+
Build all prerequisites, including those which are up\-to\-date.
|
|
24
|
+
.It Fl j , Fl -jobs Ar num_jobs
|
|
25
|
+
Specifies the maximum number of tasks to execute in parallel (default is number of CPU cores + 4).
|
|
26
|
+
.El
|
|
27
|
+
.Ss Modules
|
|
28
|
+
.Bl -tag -width Ds
|
|
29
|
+
.It Fl I , Fl -libdir Ar libdir
|
|
30
|
+
Include
|
|
31
|
+
.Ar libdir
|
|
32
|
+
in the search path for required modules.
|
|
33
|
+
.It Fl r , Fl -require Ar module
|
|
34
|
+
Require
|
|
35
|
+
.Ar module
|
|
36
|
+
before executing
|
|
37
|
+
.Pa rakefile .
|
|
38
|
+
.El
|
|
39
|
+
.Ss Rakefile location
|
|
40
|
+
.Bl -tag -width Ds
|
|
41
|
+
.It Fl f , Fl -rakefile Ar filename
|
|
42
|
+
Use
|
|
43
|
+
.Ar filename
|
|
44
|
+
as the rakefile to search for.
|
|
45
|
+
.It Fl N , Fl -no-search , Fl -nosearch
|
|
46
|
+
Do not search parent directories for the Rakefile.
|
|
47
|
+
.It Fl G , Fl -no-system , Fl -nosystem
|
|
48
|
+
Use standard project Rakefile search paths, ignore system wide rakefiles.
|
|
49
|
+
.It Fl R , Fl -rakelib Ar rakelibdir , Fl -rakelibdir Ar rakelibdir
|
|
50
|
+
Auto-import any .rake files in
|
|
51
|
+
.Ar rakelibdir
|
|
52
|
+
(default is
|
|
53
|
+
.Sq rakelib )
|
|
54
|
+
.It Fl g , Fl -system
|
|
55
|
+
Use system-wide (global) rakefiles (usually
|
|
56
|
+
.Pa ~/.rake/*.rake ) .
|
|
57
|
+
.El
|
|
58
|
+
.Ss Debugging
|
|
59
|
+
.Bl -tag -width Ds
|
|
60
|
+
.It Fl -backtrace Ns = Ns Ar out
|
|
61
|
+
Enable full backtrace.
|
|
62
|
+
.Ar out
|
|
63
|
+
can be
|
|
64
|
+
.Dv stderr
|
|
65
|
+
(default) or
|
|
66
|
+
.Dv stdout .
|
|
67
|
+
.It Fl t , Fl -trace Ns = Ns Ar out
|
|
68
|
+
Turn on invoke/execute tracing, enable full backtrace.
|
|
69
|
+
.Ar out
|
|
70
|
+
can be
|
|
71
|
+
.Dv stderr
|
|
72
|
+
(default) or
|
|
73
|
+
.Dv stdout .
|
|
74
|
+
.It Fl -suppress-backtrace Ar pattern
|
|
75
|
+
Suppress backtrace lines matching regexp
|
|
76
|
+
.Ar pattern .
|
|
77
|
+
Ignored if
|
|
78
|
+
.Fl -trace
|
|
79
|
+
is on.
|
|
80
|
+
.It Fl -rules
|
|
81
|
+
Trace the rules resolution.
|
|
82
|
+
.It Fl n , Fl -dry-run
|
|
83
|
+
Do a dry run without executing actions.
|
|
84
|
+
.It Fl T , Fl -tasks Op Ar pattern
|
|
85
|
+
Display the tasks (matching optional
|
|
86
|
+
.Ar pattern )
|
|
87
|
+
with descriptions, then exit.
|
|
88
|
+
.It Fl D , Fl -describe Op Ar pattern
|
|
89
|
+
Describe the tasks (matching optional
|
|
90
|
+
.Ar pattern ) ,
|
|
91
|
+
then exit.
|
|
92
|
+
.It Fl W , Fl -where Op Ar pattern
|
|
93
|
+
Describe the tasks (matching optional
|
|
94
|
+
.Ar pattern ) ,
|
|
95
|
+
then exit.
|
|
96
|
+
.It Fl P , Fl -prereqs
|
|
97
|
+
Display the tasks and dependencies, then exit.
|
|
98
|
+
.It Fl e , Fl -execute Ar code
|
|
99
|
+
Execute some Ruby code and exit.
|
|
100
|
+
.It Fl p , Fl -execute-print Ar code
|
|
101
|
+
Execute some Ruby code, print the result, then exit.
|
|
102
|
+
.It Fl E , Fl -execute-continue Ar code
|
|
103
|
+
Execute some Ruby code, then continue with normal task processing.
|
|
104
|
+
.El
|
|
105
|
+
.Ss Information
|
|
106
|
+
.Bl -tag -width Ds
|
|
107
|
+
.It Fl v , Fl -verbose
|
|
108
|
+
Log message to standard output.
|
|
109
|
+
.It Fl q , Fl -quiet
|
|
110
|
+
Do not log messages to standard output.
|
|
111
|
+
.It Fl s , Fl -silent
|
|
112
|
+
Like
|
|
113
|
+
.Fl -quiet ,
|
|
114
|
+
but also suppresses the
|
|
115
|
+
.Sq in directory
|
|
116
|
+
announcement.
|
|
117
|
+
.It Fl X , Fl -no-deprecation-warnings
|
|
118
|
+
Disable the deprecation warnings.
|
|
119
|
+
.It Fl -comments
|
|
120
|
+
Show commented tasks only
|
|
121
|
+
.It Fl A , Fl -all
|
|
122
|
+
Show all tasks, even uncommented ones (in combination with
|
|
123
|
+
.Fl T
|
|
124
|
+
or
|
|
125
|
+
.Fl D )
|
|
126
|
+
.It Fl -job-stats Op Ar level
|
|
127
|
+
Display job statistics.
|
|
128
|
+
If
|
|
129
|
+
.Ar level
|
|
130
|
+
is
|
|
131
|
+
.Sq history ,
|
|
132
|
+
displays a complete job list.
|
|
133
|
+
.It Fl V , Fl -version
|
|
134
|
+
Display the program version.
|
|
135
|
+
.It Fl h , Fl H , Fl -help
|
|
136
|
+
Display a help message.
|
|
137
|
+
.El
|
|
138
|
+
.Sh SEE ALSO
|
|
139
|
+
The complete documentation for
|
|
140
|
+
.Nm rake
|
|
141
|
+
has been installed at
|
|
142
|
+
.Pa /usr/share/doc/rake-doc/html/index.html .
|
|
143
|
+
It is also available online at
|
|
144
|
+
.Lk https://ruby.github.io/rake .
|
|
145
|
+
.Sh AUTHORS
|
|
146
|
+
.An -nosplit
|
|
147
|
+
.Nm
|
|
148
|
+
was written by
|
|
149
|
+
.An Jim Weirich Aq Mt jim@weirichhouse.org .
|
|
150
|
+
.Pp
|
|
151
|
+
This manual was created by
|
|
152
|
+
.An Caitlin Matos Aq Mt caitlin.matos@zoho.com
|
|
153
|
+
for the Debian project (but may be used by others).
|
|
154
|
+
It was inspired by the manual by
|
|
155
|
+
.An Jani Monoses Aq Mt jani@iv.ro
|
|
156
|
+
for the Ubuntu project.
|