rake-dotnet 0.1.15 → 0.1.16

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 (45) hide show
  1. data/History.txt +22 -0
  2. data/Manifest.txt +39 -1
  3. data/Rakefile.rb +44 -14
  4. data/coverage/index.html +576 -0
  5. data/coverage/lib-assemblyinfo_rb.html +716 -0
  6. data/coverage/lib-bcpcmd_rb.html +704 -0
  7. data/coverage/lib-cli_rb.html +646 -0
  8. data/coverage/lib-fxcop_rb.html +723 -0
  9. data/coverage/lib-harvester_rb.html +741 -0
  10. data/coverage/lib-iisappcmd_rb.html +657 -0
  11. data/coverage/lib-msbuild_rb.html +713 -0
  12. data/coverage/lib-ncover_rb.html +773 -0
  13. data/coverage/lib-package_rb.html +691 -0
  14. data/coverage/lib-sevenzip_rb.html +665 -0
  15. data/coverage/lib-sqlcmd_rb.html +680 -0
  16. data/coverage/lib-svn_rb.html +671 -0
  17. data/coverage/lib-version_rb.html +651 -0
  18. data/coverage/lib-xunit_rb.html +727 -0
  19. data/doc/examples.html +482 -0
  20. data/lib/rake_dotnet.rb +826 -616
  21. data/lib/rake_dotnet/default_rakefile.rb +16 -0
  22. data/spec/assemblyinfotask_spec.rb +8 -0
  23. data/spec/bcpcmd_spec.rb +81 -0
  24. data/spec/cli_spec.rb +48 -0
  25. data/spec/constants_spec.rb +6 -0
  26. data/spec/fxcopcmd_spec.rb +8 -0
  27. data/spec/fxcoptask_spec.rb +7 -0
  28. data/spec/harvester_spec.rb +6 -0
  29. data/spec/harvestoutputtask_spec.rb +6 -0
  30. data/spec/harvestwebapplicationtask_spec.rb +6 -0
  31. data/spec/iisappcmd_spec.rb +15 -0
  32. data/spec/msbuildcmd_spec.rb +7 -0
  33. data/spec/msbuildtask_spec.rb +7 -0
  34. data/spec/ncoverconsolecmd_spec.rb +12 -0
  35. data/spec/ncoverreportingcmd_spec.rb +14 -0
  36. data/spec/ncovertask_spec.rb +24 -0
  37. data/spec/rdnpackagetask_spec.rb +6 -0
  38. data/spec/sevenzipcmd_spec.rb +7 -0
  39. data/spec/sqlcmd_spec.rb +52 -0
  40. data/spec/svncmd_spec.rb +45 -0
  41. data/spec/versioner_spec.rb +6 -0
  42. data/spec/xunitcmd_spec.rb +10 -0
  43. data/spec/xunittask_spec.rb +7 -0
  44. metadata +77 -9
  45. data/test/test_rake_dotnet.rb +0 -16
@@ -0,0 +1,741 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'><head><title>lib/harvester.rb - C0 code coverage information</title>
3
+ <style type='text/css'>body { background-color: rgb(240, 240, 245); }</style>
4
+ <style type='text/css'>span.cross-ref-title {
5
+ font-size: 140%;
6
+ }
7
+ span.cross-ref a {
8
+ text-decoration: none;
9
+ }
10
+ span.cross-ref {
11
+ background-color:#f3f7fa;
12
+ border: 1px dashed #333;
13
+ margin: 1em;
14
+ padding: 0.5em;
15
+ overflow: hidden;
16
+ }
17
+ a.crossref-toggle {
18
+ text-decoration: none;
19
+ }
20
+ span.marked0 {
21
+ background-color: rgb(185, 210, 200);
22
+ display: block;
23
+ }
24
+ span.marked1 {
25
+ background-color: rgb(190, 215, 205);
26
+ display: block;
27
+ }
28
+ span.inferred0 {
29
+ background-color: rgb(175, 200, 200);
30
+ display: block;
31
+ }
32
+ span.inferred1 {
33
+ background-color: rgb(180, 205, 205);
34
+ display: block;
35
+ }
36
+ span.uncovered0 {
37
+ background-color: rgb(225, 110, 110);
38
+ display: block;
39
+ }
40
+ span.uncovered1 {
41
+ background-color: rgb(235, 120, 120);
42
+ display: block;
43
+ }
44
+ span.overview {
45
+ border-bottom: 8px solid black;
46
+ }
47
+ div.overview {
48
+ border-bottom: 8px solid black;
49
+ }
50
+ body {
51
+ font-family: verdana, arial, helvetica;
52
+ }
53
+ div.footer {
54
+ font-size: 68%;
55
+ margin-top: 1.5em;
56
+ }
57
+ h1, h2, h3, h4, h5, h6 {
58
+ margin-bottom: 0.5em;
59
+ }
60
+ h5 {
61
+ margin-top: 0.5em;
62
+ }
63
+ .hidden {
64
+ display: none;
65
+ }
66
+ div.separator {
67
+ height: 10px;
68
+ }
69
+ /* Commented out for better readability, esp. on IE */
70
+ /*
71
+ table tr td, table tr th {
72
+ font-size: 68%;
73
+ }
74
+ td.value table tr td {
75
+ font-size: 11px;
76
+ }
77
+ */
78
+ table.percent_graph {
79
+ height: 12px;
80
+ border: #808080 1px solid;
81
+ empty-cells: show;
82
+ }
83
+ table.percent_graph td.covered {
84
+ height: 10px;
85
+ background: #00f000;
86
+ }
87
+ table.percent_graph td.uncovered {
88
+ height: 10px;
89
+ background: #e00000;
90
+ }
91
+ table.percent_graph td.NA {
92
+ height: 10px;
93
+ background: #eaeaea;
94
+ }
95
+ table.report {
96
+ border-collapse: collapse;
97
+ width: 100%;
98
+ }
99
+ table.report td.heading {
100
+ background: #dcecff;
101
+ border: #d0d0d0 1px solid;
102
+ font-weight: bold;
103
+ text-align: center;
104
+ }
105
+ table.report td.heading:hover {
106
+ background: #c0ffc0;
107
+ }
108
+ table.report td.text {
109
+ border: #d0d0d0 1px solid;
110
+ }
111
+ table.report td.value,
112
+ table.report td.lines_total,
113
+ table.report td.lines_code {
114
+ text-align: right;
115
+ border: #d0d0d0 1px solid;
116
+ }
117
+ table.report tr.light {
118
+ background-color: rgb(240, 240, 245);
119
+ }
120
+ table.report tr.dark {
121
+ background-color: rgb(230, 230, 235);
122
+ }
123
+ </style>
124
+ <script type='text/javascript'>
125
+ // <![CDATA[
126
+ function toggleCode( id ) {
127
+ if ( document.getElementById )
128
+ elem = document.getElementById( id );
129
+ else if ( document.all )
130
+ elem = eval( "document.all." + id );
131
+ else
132
+ return false;
133
+
134
+ elemStyle = elem.style;
135
+
136
+ if ( elemStyle.display != "block" ) {
137
+ elemStyle.display = "block"
138
+ } else {
139
+ elemStyle.display = "none"
140
+ }
141
+
142
+ return true;
143
+ }
144
+
145
+ // Make cross-references hidden by default
146
+ document.writeln( "<style type=\"text/css\">span.cross-ref { display: none }</style>" )
147
+ // ]]>
148
+ </script>
149
+ <style type='text/css'>span.run0 {
150
+ background-color: rgb(178, 204, 255);
151
+ display: block;
152
+ }
153
+ span.run1 {
154
+ background-color: rgb(178, 206, 255);
155
+ display: block;
156
+ }
157
+ span.run2 {
158
+ background-color: rgb(178, 209, 255);
159
+ display: block;
160
+ }
161
+ span.run3 {
162
+ background-color: rgb(178, 211, 255);
163
+ display: block;
164
+ }
165
+ span.run4 {
166
+ background-color: rgb(178, 214, 255);
167
+ display: block;
168
+ }
169
+ span.run5 {
170
+ background-color: rgb(178, 218, 255);
171
+ display: block;
172
+ }
173
+ span.run6 {
174
+ background-color: rgb(178, 220, 255);
175
+ display: block;
176
+ }
177
+ span.run7 {
178
+ background-color: rgb(178, 223, 255);
179
+ display: block;
180
+ }
181
+ span.run8 {
182
+ background-color: rgb(178, 225, 255);
183
+ display: block;
184
+ }
185
+ span.run9 {
186
+ background-color: rgb(178, 228, 255);
187
+ display: block;
188
+ }
189
+ span.run10 {
190
+ background-color: rgb(178, 232, 255);
191
+ display: block;
192
+ }
193
+ span.run11 {
194
+ background-color: rgb(178, 234, 255);
195
+ display: block;
196
+ }
197
+ span.run12 {
198
+ background-color: rgb(178, 237, 255);
199
+ display: block;
200
+ }
201
+ span.run13 {
202
+ background-color: rgb(178, 239, 255);
203
+ display: block;
204
+ }
205
+ span.run14 {
206
+ background-color: rgb(178, 242, 255);
207
+ display: block;
208
+ }
209
+ span.run15 {
210
+ background-color: rgb(178, 246, 255);
211
+ display: block;
212
+ }
213
+ span.run16 {
214
+ background-color: rgb(178, 248, 255);
215
+ display: block;
216
+ }
217
+ span.run17 {
218
+ background-color: rgb(178, 251, 255);
219
+ display: block;
220
+ }
221
+ span.run18 {
222
+ background-color: rgb(178, 253, 255);
223
+ display: block;
224
+ }
225
+ span.run19 {
226
+ background-color: rgb(178, 255, 253);
227
+ display: block;
228
+ }
229
+ span.run20 {
230
+ background-color: rgb(178, 255, 249);
231
+ display: block;
232
+ }
233
+ span.run21 {
234
+ background-color: rgb(178, 255, 247);
235
+ display: block;
236
+ }
237
+ span.run22 {
238
+ background-color: rgb(178, 255, 244);
239
+ display: block;
240
+ }
241
+ span.run23 {
242
+ background-color: rgb(178, 255, 242);
243
+ display: block;
244
+ }
245
+ span.run24 {
246
+ background-color: rgb(178, 255, 239);
247
+ display: block;
248
+ }
249
+ span.run25 {
250
+ background-color: rgb(178, 255, 235);
251
+ display: block;
252
+ }
253
+ span.run26 {
254
+ background-color: rgb(178, 255, 233);
255
+ display: block;
256
+ }
257
+ span.run27 {
258
+ background-color: rgb(178, 255, 230);
259
+ display: block;
260
+ }
261
+ span.run28 {
262
+ background-color: rgb(178, 255, 228);
263
+ display: block;
264
+ }
265
+ span.run29 {
266
+ background-color: rgb(178, 255, 225);
267
+ display: block;
268
+ }
269
+ span.run30 {
270
+ background-color: rgb(178, 255, 221);
271
+ display: block;
272
+ }
273
+ span.run31 {
274
+ background-color: rgb(178, 255, 219);
275
+ display: block;
276
+ }
277
+ span.run32 {
278
+ background-color: rgb(178, 255, 216);
279
+ display: block;
280
+ }
281
+ span.run33 {
282
+ background-color: rgb(178, 255, 214);
283
+ display: block;
284
+ }
285
+ span.run34 {
286
+ background-color: rgb(178, 255, 211);
287
+ display: block;
288
+ }
289
+ span.run35 {
290
+ background-color: rgb(178, 255, 207);
291
+ display: block;
292
+ }
293
+ span.run36 {
294
+ background-color: rgb(178, 255, 205);
295
+ display: block;
296
+ }
297
+ span.run37 {
298
+ background-color: rgb(178, 255, 202);
299
+ display: block;
300
+ }
301
+ span.run38 {
302
+ background-color: rgb(178, 255, 200);
303
+ display: block;
304
+ }
305
+ span.run39 {
306
+ background-color: rgb(178, 255, 197);
307
+ display: block;
308
+ }
309
+ span.run40 {
310
+ background-color: rgb(178, 255, 193);
311
+ display: block;
312
+ }
313
+ span.run41 {
314
+ background-color: rgb(178, 255, 191);
315
+ display: block;
316
+ }
317
+ span.run42 {
318
+ background-color: rgb(178, 255, 188);
319
+ display: block;
320
+ }
321
+ span.run43 {
322
+ background-color: rgb(178, 255, 186);
323
+ display: block;
324
+ }
325
+ span.run44 {
326
+ background-color: rgb(178, 255, 183);
327
+ display: block;
328
+ }
329
+ span.run45 {
330
+ background-color: rgb(178, 255, 179);
331
+ display: block;
332
+ }
333
+ span.run46 {
334
+ background-color: rgb(179, 255, 178);
335
+ display: block;
336
+ }
337
+ span.run47 {
338
+ background-color: rgb(182, 255, 178);
339
+ display: block;
340
+ }
341
+ span.run48 {
342
+ background-color: rgb(184, 255, 178);
343
+ display: block;
344
+ }
345
+ span.run49 {
346
+ background-color: rgb(187, 255, 178);
347
+ display: block;
348
+ }
349
+ span.run50 {
350
+ background-color: rgb(191, 255, 178);
351
+ display: block;
352
+ }
353
+ span.run51 {
354
+ background-color: rgb(193, 255, 178);
355
+ display: block;
356
+ }
357
+ span.run52 {
358
+ background-color: rgb(196, 255, 178);
359
+ display: block;
360
+ }
361
+ span.run53 {
362
+ background-color: rgb(198, 255, 178);
363
+ display: block;
364
+ }
365
+ span.run54 {
366
+ background-color: rgb(201, 255, 178);
367
+ display: block;
368
+ }
369
+ span.run55 {
370
+ background-color: rgb(205, 255, 178);
371
+ display: block;
372
+ }
373
+ span.run56 {
374
+ background-color: rgb(207, 255, 178);
375
+ display: block;
376
+ }
377
+ span.run57 {
378
+ background-color: rgb(210, 255, 178);
379
+ display: block;
380
+ }
381
+ span.run58 {
382
+ background-color: rgb(212, 255, 178);
383
+ display: block;
384
+ }
385
+ span.run59 {
386
+ background-color: rgb(215, 255, 178);
387
+ display: block;
388
+ }
389
+ span.run60 {
390
+ background-color: rgb(219, 255, 178);
391
+ display: block;
392
+ }
393
+ span.run61 {
394
+ background-color: rgb(221, 255, 178);
395
+ display: block;
396
+ }
397
+ span.run62 {
398
+ background-color: rgb(224, 255, 178);
399
+ display: block;
400
+ }
401
+ span.run63 {
402
+ background-color: rgb(226, 255, 178);
403
+ display: block;
404
+ }
405
+ span.run64 {
406
+ background-color: rgb(229, 255, 178);
407
+ display: block;
408
+ }
409
+ span.run65 {
410
+ background-color: rgb(233, 255, 178);
411
+ display: block;
412
+ }
413
+ span.run66 {
414
+ background-color: rgb(235, 255, 178);
415
+ display: block;
416
+ }
417
+ span.run67 {
418
+ background-color: rgb(238, 255, 178);
419
+ display: block;
420
+ }
421
+ span.run68 {
422
+ background-color: rgb(240, 255, 178);
423
+ display: block;
424
+ }
425
+ span.run69 {
426
+ background-color: rgb(243, 255, 178);
427
+ display: block;
428
+ }
429
+ span.run70 {
430
+ background-color: rgb(247, 255, 178);
431
+ display: block;
432
+ }
433
+ span.run71 {
434
+ background-color: rgb(249, 255, 178);
435
+ display: block;
436
+ }
437
+ span.run72 {
438
+ background-color: rgb(252, 255, 178);
439
+ display: block;
440
+ }
441
+ span.run73 {
442
+ background-color: rgb(255, 255, 178);
443
+ display: block;
444
+ }
445
+ span.run74 {
446
+ background-color: rgb(255, 252, 178);
447
+ display: block;
448
+ }
449
+ span.run75 {
450
+ background-color: rgb(255, 248, 178);
451
+ display: block;
452
+ }
453
+ span.run76 {
454
+ background-color: rgb(255, 246, 178);
455
+ display: block;
456
+ }
457
+ span.run77 {
458
+ background-color: rgb(255, 243, 178);
459
+ display: block;
460
+ }
461
+ span.run78 {
462
+ background-color: rgb(255, 240, 178);
463
+ display: block;
464
+ }
465
+ span.run79 {
466
+ background-color: rgb(255, 238, 178);
467
+ display: block;
468
+ }
469
+ span.run80 {
470
+ background-color: rgb(255, 234, 178);
471
+ display: block;
472
+ }
473
+ span.run81 {
474
+ background-color: rgb(255, 232, 178);
475
+ display: block;
476
+ }
477
+ span.run82 {
478
+ background-color: rgb(255, 229, 178);
479
+ display: block;
480
+ }
481
+ span.run83 {
482
+ background-color: rgb(255, 226, 178);
483
+ display: block;
484
+ }
485
+ span.run84 {
486
+ background-color: rgb(255, 224, 178);
487
+ display: block;
488
+ }
489
+ span.run85 {
490
+ background-color: rgb(255, 220, 178);
491
+ display: block;
492
+ }
493
+ span.run86 {
494
+ background-color: rgb(255, 218, 178);
495
+ display: block;
496
+ }
497
+ span.run87 {
498
+ background-color: rgb(255, 215, 178);
499
+ display: block;
500
+ }
501
+ span.run88 {
502
+ background-color: rgb(255, 212, 178);
503
+ display: block;
504
+ }
505
+ span.run89 {
506
+ background-color: rgb(255, 210, 178);
507
+ display: block;
508
+ }
509
+ span.run90 {
510
+ background-color: rgb(255, 206, 178);
511
+ display: block;
512
+ }
513
+ span.run91 {
514
+ background-color: rgb(255, 204, 178);
515
+ display: block;
516
+ }
517
+ span.run92 {
518
+ background-color: rgb(255, 201, 178);
519
+ display: block;
520
+ }
521
+ span.run93 {
522
+ background-color: rgb(255, 198, 178);
523
+ display: block;
524
+ }
525
+ span.run94 {
526
+ background-color: rgb(255, 196, 178);
527
+ display: block;
528
+ }
529
+ span.run95 {
530
+ background-color: rgb(255, 192, 178);
531
+ display: block;
532
+ }
533
+ span.run96 {
534
+ background-color: rgb(255, 189, 178);
535
+ display: block;
536
+ }
537
+ span.run97 {
538
+ background-color: rgb(255, 187, 178);
539
+ display: block;
540
+ }
541
+ span.run98 {
542
+ background-color: rgb(255, 184, 178);
543
+ display: block;
544
+ }
545
+ span.run99 {
546
+ background-color: rgb(255, 182, 178);
547
+ display: block;
548
+ }
549
+ span.run100 {
550
+ background-color: rgb(255, 178, 178);
551
+ display: block;
552
+ }
553
+ </style>
554
+ </head>
555
+ <body><h3>C0 code coverage information</h3>
556
+ <p>Generated on Mon Nov 09 13:47:38 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
+ </p>
558
+ <hr/>
559
+ <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
560
+ </span><span class='marked1'>and this: this line is also marked as covered.
561
+ </span><span class='inferred0'>Lines considered as run by rcov, but not reported by Ruby, look like this,
562
+ </span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).
563
+ </span><span class='uncovered0'>Finally, here&apos;s a line marked as not executed.
564
+ </span></pre>
565
+ <table class='report'><thead><tr><td class='heading'>Name</td>
566
+ <td class='heading'>Total lines</td>
567
+ <td class='heading'>Lines of code</td>
568
+ <td class='heading'>Total coverage</td>
569
+ <td class='heading'>Code coverage</td>
570
+ </tr>
571
+ </thead>
572
+ <tbody><tr class='light'><td><a href='lib-harvester_rb.html'>lib/harvester.rb</a>
573
+ </td>
574
+ <td class='lines_total'><tt>131</tt>
575
+ </td>
576
+ <td class='lines_code'><tt>112</tt>
577
+ </td>
578
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>16.8%</tt>
579
+ &nbsp;</td>
580
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='17'/>
581
+ <td class='uncovered' width='83'/>
582
+ </tr>
583
+ </table>
584
+ </td>
585
+ </tr>
586
+ </table>
587
+ </td>
588
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>11.6%</tt>
589
+ &nbsp;</td>
590
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='12'/>
591
+ <td class='uncovered' width='88'/>
592
+ </tr>
593
+ </table>
594
+ </td>
595
+ </tr>
596
+ </table>
597
+ </td>
598
+ </tr>
599
+ </tbody>
600
+ </table>
601
+ <pre><span class="marked0"><a name="line1"></a> 1 class HarvestOutputTask &lt; Rake::TaskLib
602
+ </span><span class="marked1"><a name="line2"></a> 2 def initialize(params={})
603
+ </span><span class="uncovered0"><a name="line3"></a> 3 @src_path = params[:src_path] || File.join(PRODUCT_ROOT, 'src')
604
+ </span><span class="uncovered1"><a name="line4"></a> 4 @target_path = params[:target_path] || Bin_out
605
+ </span><span class="uncovered0"><a name="line5"></a> 5 @deps = params[:deps] || []
606
+ </span><span class="uncovered1"><a name="line6"></a> 6 @configuration = params[:configuration] || CONFIGURATION
607
+ </span><span class="uncovered0"><a name="line7"></a> 7 @glob = params[:glob] || &quot;#{@src_path}/*&quot;
608
+ </span><span class="uncovered1"><a name="line8"></a> 8
609
+ </span><span class="uncovered0"><a name="line9"></a> 9 yield self if block_given?
610
+ </span><span class="uncovered1"><a name="line10"></a> 10 define
611
+ </span><span class="uncovered0"><a name="line11"></a> 11 end
612
+ </span><span class="inferred1"><a name="line12"></a> 12
613
+ </span><span class="marked0"><a name="line13"></a> 13 def define
614
+ </span><span class="uncovered1"><a name="line14"></a> 14 directory @target_path
615
+ </span><span class="uncovered0"><a name="line15"></a> 15
616
+ </span><span class="uncovered1"><a name="line16"></a> 16 desc &quot;Harvest specified libraries (or all matching #{@glob}) to #{@target_path}&quot;
617
+ </span><span class="uncovered0"><a name="line17"></a> 17 task :harvest_output, [:to_harvest_list] =&gt; @target_path do |t, args|
618
+ </span><span class="uncovered1"><a name="line18"></a> 18 list = FileList.new
619
+ </span><span class="uncovered0"><a name="line19"></a> 19 @glob.each do |g|
620
+ </span><span class="uncovered1"><a name="line20"></a> 20 list.include(g)
621
+ </span><span class="uncovered0"><a name="line21"></a> 21 end
622
+ </span><span class="uncovered1"><a name="line22"></a> 22 args.with_defaults(:to_harvest_list =&gt; list)
623
+ </span><span class="uncovered0"><a name="line23"></a> 23 args.to_harvest_list.each do |entry|
624
+ </span><span class="uncovered1"><a name="line24"></a> 24 pn = Pathname.new(entry)
625
+ </span><span class="uncovered0"><a name="line25"></a> 25 if pn.directory?
626
+ </span><span class="uncovered1"><a name="line26"></a> 26 output = FileList.new
627
+ </span><span class="uncovered0"><a name="line27"></a> 27 #TODO: distinguish between web and class and console output
628
+ </span><span class="uncovered1"><a name="line28"></a> 28 output.include(&quot;#{entry}/bin/#{@configuration}/*&quot;)
629
+ </span><span class="uncovered0"><a name="line29"></a> 29 output.include(&quot;#{entry}/bin/*&quot;)
630
+ </span><span class="uncovered1"><a name="line30"></a> 30 output.each do |o|
631
+ </span><span class="uncovered0"><a name="line31"></a> 31 o_pn = Pathname.new(o)
632
+ </span><span class="uncovered1"><a name="line32"></a> 32 to_pn = Pathname.new(&quot;#{@target_path}&quot;)
633
+ </span><span class="uncovered0"><a name="line33"></a> 33 if (o_pn.directory?)
634
+ </span><span class="uncovered1"><a name="line34"></a> 34 cp_r(o, to_pn) unless o_pn.to_s.match(/#{@configuration}$/)
635
+ </span><span class="uncovered0"><a name="line35"></a> 35 else
636
+ </span><span class="uncovered1"><a name="line36"></a> 36 cp(o, to_pn)
637
+ </span><span class="uncovered0"><a name="line37"></a> 37 end
638
+ </span><span class="uncovered1"><a name="line38"></a> 38 end
639
+ </span><span class="uncovered0"><a name="line39"></a> 39 end
640
+ </span><span class="uncovered1"><a name="line40"></a> 40 end
641
+ </span><span class="uncovered0"><a name="line41"></a> 41 end
642
+ </span><span class="uncovered1"><a name="line42"></a> 42
643
+ </span><span class="uncovered0"><a name="line43"></a> 43 @deps.each do |d|
644
+ </span><span class="uncovered1"><a name="line44"></a> 44 task :harvest =&gt; d
645
+ </span><span class="uncovered0"><a name="line45"></a> 45 end
646
+ </span><span class="uncovered1"><a name="line46"></a> 46
647
+ </span><span class="uncovered0"><a name="line47"></a> 47 self
648
+ </span><span class="uncovered1"><a name="line48"></a> 48 end
649
+ </span><span class="uncovered0"><a name="line49"></a> 49 end
650
+ </span><span class="inferred1"><a name="line50"></a> 50
651
+ </span><span class="marked0"><a name="line51"></a> 51 class HarvestWebApplicationTask &lt; Rake::TaskLib
652
+ </span><span class="marked1"><a name="line52"></a> 52 def initialize(params={})
653
+ </span><span class="uncovered0"><a name="line53"></a> 53 @src_path = params[:src_path] || File.join(PRODUCT_ROOT, 'src')
654
+ </span><span class="uncovered1"><a name="line54"></a> 54 @target_path = params[:target_path] || OUT_DIR
655
+ </span><span class="uncovered0"><a name="line55"></a> 55 @deps = params[:deps] || []
656
+ </span><span class="uncovered1"><a name="line56"></a> 56 @glob = params[:glob] || &quot;**/*.Site&quot;
657
+ </span><span class="uncovered0"><a name="line57"></a> 57
658
+ </span><span class="uncovered1"><a name="line58"></a> 58 yield self if block_given?
659
+ </span><span class="uncovered0"><a name="line59"></a> 59 define
660
+ </span><span class="uncovered1"><a name="line60"></a> 60 end
661
+ </span><span class="inferred0"><a name="line61"></a> 61
662
+ </span><span class="marked1"><a name="line62"></a> 62 def define
663
+ </span><span class="uncovered0"><a name="line63"></a> 63 out_dir_regex = RakeDotNet::regexify(@target_path)
664
+ </span><span class="uncovered1"><a name="line64"></a> 64
665
+ </span><span class="uncovered0"><a name="line65"></a> 65 odr = /#{out_dir_regex}\/([\w\.-_ ]*Site)\//
666
+ </span><span class="uncovered1"><a name="line66"></a> 66 rule(odr) do |r|
667
+ </span><span class="uncovered0"><a name="line67"></a> 67 harvest(r.name, odr)
668
+ </span><span class="uncovered1"><a name="line68"></a> 68 end
669
+ </span><span class="uncovered0"><a name="line69"></a> 69
670
+ </span><span class="uncovered1"><a name="line70"></a> 70 desc &quot;Harvest specified web-applications (or all matching #{@src_path}/#{@glob}) to #{@target_path}&quot;
671
+ </span><span class="uncovered0"><a name="line71"></a> 71 task :harvest_webapps, [:web_app_list] =&gt; @target_path do |t, args|
672
+ </span><span class="uncovered1"><a name="line72"></a> 72 list = FileList.new(&quot;#{@src_path}/#{@glob}&quot;)
673
+ </span><span class="uncovered0"><a name="line73"></a> 73 args.with_defaults(:web_app_list =&gt; list)
674
+ </span><span class="uncovered1"><a name="line74"></a> 74 args.web_app_list.each do |w|
675
+ </span><span class="uncovered0"><a name="line75"></a> 75 pn = Pathname.new(w)
676
+ </span><span class="uncovered1"><a name="line76"></a> 76 out = File.join(@target_path, pn.basename) + '/'
677
+ </span><span class="uncovered0"><a name="line77"></a> 77 Rake::FileTask[out].invoke
678
+ </span><span class="uncovered1"><a name="line78"></a> 78 end
679
+ </span><span class="uncovered0"><a name="line79"></a> 79 end
680
+ </span><span class="uncovered1"><a name="line80"></a> 80
681
+ </span><span class="uncovered0"><a name="line81"></a> 81 @deps.each do |d|
682
+ </span><span class="uncovered1"><a name="line82"></a> 82 task :harvest_webapps =&gt; d
683
+ </span><span class="uncovered0"><a name="line83"></a> 83 end
684
+ </span><span class="uncovered1"><a name="line84"></a> 84
685
+ </span><span class="uncovered0"><a name="line85"></a> 85 self
686
+ </span><span class="uncovered1"><a name="line86"></a> 86 end
687
+ </span><span class="inferred0"><a name="line87"></a> 87
688
+ </span><span class="marked1"><a name="line88"></a> 88 def harvest(path, regex)
689
+ </span><span class="uncovered0"><a name="line89"></a> 89 web_app_name = path.match(regex)[1]
690
+ </span><span class="uncovered1"><a name="line90"></a> 90 src = File.join(@src_path, web_app_name)
691
+ </span><span class="uncovered0"><a name="line91"></a> 91 if (File.exist?(&quot;#{src}/.svn&quot;))
692
+ </span><span class="uncovered1"><a name="line92"></a> 92 svn = SvnExport.new({:src=&gt;src, :dest=&gt;path})
693
+ </span><span class="uncovered0"><a name="line93"></a> 93 svn.run
694
+ </span><span class="uncovered1"><a name="line94"></a> 94 cp_r(File.join(src, 'bin'), path)
695
+ </span><span class="uncovered0"><a name="line95"></a> 95 else
696
+ </span><span class="uncovered1"><a name="line96"></a> 96 cp_r src, path
697
+ </span><span class="uncovered0"><a name="line97"></a> 97 end
698
+ </span><span class="uncovered1"><a name="line98"></a> 98 FileList.new(&quot;#{path}**/obj&quot;).each do |e|
699
+ </span><span class="uncovered0"><a name="line99"></a> 99 rm_rf e if File.exist? e
700
+ </span><span class="uncovered1"><a name="line100"></a>100 end
701
+ </span><span class="uncovered0"><a name="line101"></a>101 end
702
+ </span><span class="uncovered1"><a name="line102"></a>102 end
703
+ </span><span class="inferred0"><a name="line103"></a>103
704
+ </span><span class="marked1"><a name="line104"></a>104 class Harvester
705
+ </span><span class="marked0"><a name="line105"></a>105 attr_accessor :files, :target
706
+ </span><span class="inferred1"><a name="line106"></a>106
707
+ </span><span class="marked0"><a name="line107"></a>107 def initialize
708
+ </span><span class="uncovered1"><a name="line108"></a>108 @files = Hash.new
709
+ </span><span class="uncovered0"><a name="line109"></a>109 end
710
+ </span><span class="inferred1"><a name="line110"></a>110
711
+ </span><span class="marked0"><a name="line111"></a>111 def add(glob)
712
+ </span><span class="uncovered1"><a name="line112"></a>112 toAdd = Dir.glob(glob)
713
+ </span><span class="uncovered0"><a name="line113"></a>113 toAdd.each do |a|
714
+ </span><span class="uncovered1"><a name="line114"></a>114 pn = Pathname.new(a)
715
+ </span><span class="uncovered0"><a name="line115"></a>115 @files[pn.basename.to_s] = pn
716
+ </span><span class="uncovered1"><a name="line116"></a>116 end
717
+ </span><span class="uncovered0"><a name="line117"></a>117 end
718
+ </span><span class="inferred1"><a name="line118"></a>118
719
+ </span><span class="marked0"><a name="line119"></a>119 def harvest(target)
720
+ </span><span class="uncovered1"><a name="line120"></a>120 mkdir_p(target) unless File.exist?(target)
721
+ </span><span class="uncovered0"><a name="line121"></a>121 @files.sort.each do |k, v|
722
+ </span><span class="uncovered1"><a name="line122"></a>122 cp(v, target)
723
+ </span><span class="uncovered0"><a name="line123"></a>123 end
724
+ </span><span class="uncovered1"><a name="line124"></a>124 end
725
+ </span><span class="inferred0"><a name="line125"></a>125
726
+ </span><span class="marked1"><a name="line126"></a>126 def list
727
+ </span><span class="uncovered0"><a name="line127"></a>127 @files.sort.each do |k, v|
728
+ </span><span class="uncovered1"><a name="line128"></a>128 puts k + ' -&gt; ' + v
729
+ </span><span class="uncovered0"><a name="line129"></a>129 end
730
+ </span><span class="uncovered1"><a name="line130"></a>130 end
731
+ </span><span class="uncovered0"><a name="line131"></a>131 end
732
+ </span></pre><hr/>
733
+ <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
734
+ version 0.8.1.2.</p>
735
+ <p><a href='http://validator.w3.org/check/referer'><img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88'/>
736
+ </a>
737
+ <a href='http://jigsaw.w3.org/css-validator/check/referer'><img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px'/>
738
+ </a>
739
+ </p>
740
+ </body>
741
+ </html>