rake 10.5.0 → 13.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.rdoc +13 -8
  3. data/Gemfile +10 -0
  4. data/History.rdoc +2015 -288
  5. data/README.rdoc +40 -24
  6. data/Rakefile +25 -65
  7. data/bin/bundle +105 -0
  8. data/bin/console +7 -0
  9. data/bin/rake +20 -24
  10. data/bin/rdoc +29 -0
  11. data/bin/rubocop +29 -0
  12. data/bin/setup +6 -0
  13. data/doc/jamis.rb +1 -0
  14. data/doc/rake.1 +139 -124
  15. data/doc/rakefile.rdoc +2 -4
  16. data/exe/rake +27 -0
  17. data/lib/rake.rb +35 -43
  18. data/lib/rake/application.rb +124 -90
  19. data/lib/rake/backtrace.rb +3 -2
  20. data/lib/rake/clean.rb +7 -5
  21. data/lib/rake/cloneable.rb +1 -0
  22. data/lib/rake/cpu_counter.rb +10 -28
  23. data/lib/rake/default_loader.rb +1 -0
  24. data/lib/rake/dsl_definition.rb +5 -11
  25. data/lib/rake/early_time.rb +1 -0
  26. data/lib/rake/ext/core.rb +1 -0
  27. data/lib/rake/ext/string.rb +22 -21
  28. data/lib/rake/file_creation_task.rb +4 -3
  29. data/lib/rake/file_list.rb +34 -27
  30. data/lib/rake/file_task.rb +12 -4
  31. data/lib/rake/file_utils.rb +38 -32
  32. data/lib/rake/file_utils_ext.rb +8 -18
  33. data/lib/rake/invocation_chain.rb +1 -0
  34. data/lib/rake/invocation_exception_mixin.rb +1 -0
  35. data/lib/rake/late_time.rb +2 -1
  36. data/lib/rake/linked_list.rb +24 -15
  37. data/lib/rake/loaders/makefile.rb +5 -4
  38. data/lib/rake/multi_task.rb +2 -1
  39. data/lib/rake/name_space.rb +1 -1
  40. data/lib/rake/packagetask.rb +40 -17
  41. data/lib/rake/phony.rb +2 -1
  42. data/lib/rake/private_reader.rb +1 -0
  43. data/lib/rake/promise.rb +13 -12
  44. data/lib/rake/pseudo_status.rb +1 -0
  45. data/lib/rake/rake_module.rb +30 -1
  46. data/lib/rake/rake_test_loader.rb +18 -13
  47. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  48. data/lib/rake/scope.rb +3 -2
  49. data/lib/rake/task.rb +82 -31
  50. data/lib/rake/task_argument_error.rb +1 -0
  51. data/lib/rake/task_arguments.rb +15 -4
  52. data/lib/rake/task_manager.rb +54 -30
  53. data/lib/rake/tasklib.rb +2 -14
  54. data/lib/rake/testtask.rb +37 -61
  55. data/lib/rake/thread_history_display.rb +4 -3
  56. data/lib/rake/thread_pool.rb +16 -17
  57. data/lib/rake/trace_output.rb +2 -1
  58. data/lib/rake/version.rb +4 -1
  59. data/lib/rake/win32.rb +10 -15
  60. data/rake.gemspec +43 -0
  61. metadata +32 -219
  62. data/.autotest +0 -7
  63. data/.rubocop.yml +0 -27
  64. data/.togglerc +0 -7
  65. data/Manifest.txt +0 -166
  66. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  67. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  68. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  69. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  70. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  71. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  72. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  73. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  74. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  75. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  76. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  77. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  78. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  79. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  80. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  81. data/doc/release_notes/rake-0.8.6.rdoc +0 -37
  82. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  83. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  84. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  85. data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  86. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  87. data/doc/release_notes/rake-0.9.3.rdoc +0 -102
  88. data/doc/release_notes/rake-0.9.4.rdoc +0 -60
  89. data/doc/release_notes/rake-0.9.5.rdoc +0 -55
  90. data/doc/release_notes/rake-0.9.6.rdoc +0 -64
  91. data/doc/release_notes/rake-10.0.0.rdoc +0 -178
  92. data/doc/release_notes/rake-10.0.1.rdoc +0 -58
  93. data/doc/release_notes/rake-10.0.2.rdoc +0 -53
  94. data/doc/release_notes/rake-10.0.3.rdoc +0 -191
  95. data/doc/release_notes/rake-10.1.0.rdoc +0 -61
  96. data/lib/rake/alt_system.rb +0 -110
  97. data/lib/rake/contrib/.document +0 -1
  98. data/lib/rake/contrib/compositepublisher.rb +0 -21
  99. data/lib/rake/contrib/ftptools.rb +0 -137
  100. data/lib/rake/contrib/publisher.rb +0 -81
  101. data/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  102. data/lib/rake/contrib/sshpublisher.rb +0 -61
  103. data/lib/rake/contrib/sys.rb +0 -4
  104. data/lib/rake/ext/module.rb +0 -2
  105. data/lib/rake/ext/pathname.rb +0 -25
  106. data/lib/rake/ext/time.rb +0 -18
  107. data/lib/rake/gempackagetask.rb +0 -4
  108. data/lib/rake/pathmap.rb +0 -3
  109. data/lib/rake/rdoctask.rb +0 -4
  110. data/lib/rake/ruby182_test_unit_fix.rb +0 -29
  111. data/lib/rake/runtest.rb +0 -27
  112. data/rakelib/publish.rake +0 -20
  113. data/rakelib/test_times.rake +0 -25
  114. data/test/file_creation.rb +0 -34
  115. data/test/helper.rb +0 -129
  116. data/test/support/rakefile_definitions.rb +0 -478
  117. data/test/support/ruby_runner.rb +0 -34
  118. data/test/test_private_reader.rb +0 -42
  119. data/test/test_rake.rb +0 -40
  120. data/test/test_rake_application.rb +0 -643
  121. data/test/test_rake_application_options.rb +0 -468
  122. data/test/test_rake_backtrace.rb +0 -119
  123. data/test/test_rake_clean.rb +0 -61
  124. data/test/test_rake_cpu_counter.rb +0 -68
  125. data/test/test_rake_definitions.rb +0 -84
  126. data/test/test_rake_directory_task.rb +0 -76
  127. data/test/test_rake_dsl.rb +0 -40
  128. data/test/test_rake_early_time.rb +0 -31
  129. data/test/test_rake_extension.rb +0 -59
  130. data/test/test_rake_file_creation_task.rb +0 -56
  131. data/test/test_rake_file_list.rb +0 -670
  132. data/test/test_rake_file_list_path_map.rb +0 -8
  133. data/test/test_rake_file_task.rb +0 -197
  134. data/test/test_rake_file_utils.rb +0 -314
  135. data/test/test_rake_ftp_file.rb +0 -74
  136. data/test/test_rake_functional.rb +0 -482
  137. data/test/test_rake_invocation_chain.rb +0 -64
  138. data/test/test_rake_late_time.rb +0 -18
  139. data/test/test_rake_linked_list.rb +0 -84
  140. data/test/test_rake_makefile_loader.rb +0 -46
  141. data/test/test_rake_multi_task.rb +0 -64
  142. data/test/test_rake_name_space.rb +0 -57
  143. data/test/test_rake_package_task.rb +0 -79
  144. data/test/test_rake_path_map.rb +0 -168
  145. data/test/test_rake_path_map_explode.rb +0 -34
  146. data/test/test_rake_path_map_partial.rb +0 -18
  147. data/test/test_rake_pathname_extensions.rb +0 -15
  148. data/test/test_rake_pseudo_status.rb +0 -21
  149. data/test/test_rake_rake_test_loader.rb +0 -20
  150. data/test/test_rake_reduce_compat.rb +0 -26
  151. data/test/test_rake_require.rb +0 -40
  152. data/test/test_rake_rules.rb +0 -388
  153. data/test/test_rake_scope.rb +0 -44
  154. data/test/test_rake_task.rb +0 -393
  155. data/test/test_rake_task_argument_parsing.rb +0 -119
  156. data/test/test_rake_task_arguments.rb +0 -127
  157. data/test/test_rake_task_lib.rb +0 -9
  158. data/test/test_rake_task_manager.rb +0 -178
  159. data/test/test_rake_task_manager_argument_resolution.rb +0 -19
  160. data/test/test_rake_task_with_arguments.rb +0 -172
  161. data/test/test_rake_test_task.rb +0 -146
  162. data/test/test_rake_thread_pool.rb +0 -145
  163. data/test/test_rake_top_level_functions.rb +0 -71
  164. data/test/test_rake_win32.rb +0 -72
  165. data/test/test_thread_history_display.rb +0 -101
  166. data/test/test_trace_output.rb +0 -52
@@ -1,478 +0,0 @@
1
- module RakefileDefinitions
2
- include FileUtils
3
-
4
- def rakefile_access
5
- rakefile <<-ACCESS
6
- TOP_LEVEL_CONSTANT = 0
7
-
8
- def a_top_level_function
9
- end
10
-
11
- task :default => [:work, :obj, :const]
12
-
13
- task :work do
14
- begin
15
- a_top_level_function
16
- puts "GOOD:M Top level methods can be called in tasks"
17
- rescue NameError => ex
18
- puts "BAD:M Top level methods can not be called in tasks"
19
- end
20
- end
21
-
22
- # TODO: remove `disabled_' when DeprecatedObjectDSL removed
23
- task :obj
24
- task :disabled_obj do
25
- begin
26
- Object.new.instance_eval { task :xyzzy }
27
- puts "BAD:D Rake DSL are polluting objects"
28
- rescue StandardError => ex
29
- puts "GOOD:D Rake DSL are not polluting objects"
30
- end
31
- end
32
-
33
- task :const do
34
- begin
35
- TOP_LEVEL_CONSTANT
36
- puts "GOOD:C Top level constants are available in tasks"
37
- rescue StandardError => ex
38
- puts "BAD:C Top level constants are NOT available in tasks"
39
- end
40
- end
41
- ACCESS
42
- end
43
-
44
- def rakefile_test_task
45
- rakefile <<-RAKEFILE
46
- require "rake/testtask"
47
-
48
- Rake::TestTask.new(:unit) do |t|
49
- t.description = "custom test task description"
50
- end
51
- RAKEFILE
52
- end
53
-
54
- def rakefile_chains
55
- rakefile <<-DEFAULT
56
- task :default => "play.app"
57
-
58
- file "play.scpt" => "base" do |t|
59
- cp t.prerequisites.first, t.name
60
- end
61
-
62
- rule ".app" => ".scpt" do |t|
63
- cp t.source, t.name
64
- end
65
-
66
- file 'base' do
67
- touch 'base'
68
- end
69
- DEFAULT
70
- end
71
-
72
- def rakefile_comments
73
- rakefile <<-COMMENTS
74
- # comment for t1
75
- task :t1 do
76
- end
77
-
78
- # no comment or task because there's a blank line
79
-
80
- task :t2 do
81
- end
82
-
83
- desc "override comment for t3"
84
- # this is not the description
85
- multitask :t3 do
86
- end
87
-
88
- # this is not the description
89
- desc "override comment for t4"
90
- file :t4 do
91
- end
92
- COMMENTS
93
- end
94
-
95
- def rakefile_default
96
- rakefile <<-DEFAULT
97
- if ENV['TESTTOPSCOPE']
98
- puts "TOPSCOPE"
99
- end
100
-
101
- task :default do
102
- puts "DEFAULT"
103
- end
104
-
105
- task :other => [:default] do
106
- puts "OTHER"
107
- end
108
-
109
- task :task_scope do
110
- if ENV['TESTTASKSCOPE']
111
- puts "TASKSCOPE"
112
- end
113
- end
114
- DEFAULT
115
- end
116
-
117
- def rakefile_dryrun
118
- rakefile <<-DRYRUN
119
- task :default => ["temp_main"]
120
-
121
- file "temp_main" => [:all_apps] do touch "temp_main" end
122
-
123
- task :all_apps => [:one, :two]
124
- task :one => ["temp_one"]
125
- task :two => ["temp_two"]
126
-
127
- file "temp_one" do |t|
128
- touch "temp_one"
129
- end
130
- file "temp_two" do |t|
131
- touch "temp_two"
132
- end
133
-
134
- task :clean do
135
- ["temp_one", "temp_two", "temp_main"].each do |file|
136
- rm_f file
137
- end
138
- end
139
- DRYRUN
140
-
141
- FileUtils.touch 'temp_main'
142
- FileUtils.touch 'temp_two'
143
- end
144
-
145
- def rakefile_extra
146
- rakefile 'task :default'
147
-
148
- FileUtils.mkdir_p 'rakelib'
149
-
150
- open File.join('rakelib', 'extra.rake'), 'w' do |io|
151
- io << <<-EXTRA_RAKE
152
- # Added for testing
153
-
154
- namespace :extra do
155
- desc "An Extra Task"
156
- task :extra do
157
- puts "Read all about it"
158
- end
159
- end
160
- EXTRA_RAKE
161
- end
162
- end
163
-
164
- def rakefile_file_creation
165
- rakefile <<-'FILE_CREATION'
166
- N = 2
167
-
168
- task :default => :run
169
-
170
- BUILD_DIR = 'build'
171
- task :clean do
172
- rm_rf 'build'
173
- rm_rf 'src'
174
- end
175
-
176
- task :run
177
-
178
- TARGET_DIR = 'build/copies'
179
-
180
- FileList['src/*'].each do |src|
181
- directory TARGET_DIR
182
- target = File.join TARGET_DIR, File.basename(src)
183
- file target => [src, TARGET_DIR] do
184
- cp src, target
185
- end
186
- task :run => target
187
- end
188
-
189
- task :prep => :clean do
190
- mkdir_p 'src'
191
- N.times do |n|
192
- touch "src/foo#{n}"
193
- end
194
- end
195
- FILE_CREATION
196
- end
197
-
198
- def rakefile_imports
199
- rakefile <<-IMPORTS
200
- require 'rake/loaders/makefile'
201
-
202
- task :default
203
-
204
- task :other do
205
- puts "OTHER"
206
- end
207
-
208
- file "dynamic_deps" do |t|
209
- open(t.name, "w") do |f| f.puts "puts 'DYNAMIC'" end
210
- end
211
-
212
- import "dynamic_deps"
213
- import "static_deps"
214
- import "static_deps"
215
- import "deps.mf"
216
- puts "FIRST"
217
- IMPORTS
218
-
219
- open 'deps.mf', 'w' do |io|
220
- io << <<-DEPS
221
- default: other
222
- DEPS
223
- end
224
-
225
- open "static_deps", "w" do |f|
226
- f.puts 'puts "STATIC"'
227
- end
228
- end
229
-
230
- def rakefile_regenerate_imports
231
- rakefile <<-REGENERATE_IMPORTS
232
- task :default
233
-
234
- task :regenerate do
235
- open("deps", "w") do |f|
236
- f << <<-CONTENT
237
- file "deps" => :regenerate
238
- puts "REGENERATED"
239
- CONTENT
240
- end
241
- end
242
-
243
- import "deps"
244
- REGENERATE_IMPORTS
245
-
246
- open "deps", "w" do |f|
247
- f << <<-CONTENT
248
- file "deps" => :regenerate
249
- puts "INITIAL"
250
- CONTENT
251
- end
252
- end
253
-
254
- def rakefile_multidesc
255
- rakefile <<-MULTIDESC
256
- task :b
257
-
258
- desc "A"
259
- task :a
260
-
261
- desc "B"
262
- task :b
263
-
264
- desc "A2"
265
- task :a
266
-
267
- task :c
268
-
269
- desc "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
270
- task :d
271
- MULTIDESC
272
- end
273
-
274
- def rakefile_namespace
275
- rakefile <<-NAMESPACE
276
- desc "copy"
277
- task :copy do
278
- puts "COPY"
279
- end
280
-
281
- namespace "nest" do
282
- desc "nest copy"
283
- task :copy do
284
- puts "NEST COPY"
285
- end
286
- task :xx => :copy
287
- end
288
-
289
- anon_ns = namespace do
290
- desc "anonymous copy task"
291
- task :copy do
292
- puts "ANON COPY"
293
- end
294
- end
295
-
296
- desc "Top level task to run the anonymous version of copy"
297
- task :anon => anon_ns[:copy]
298
-
299
- namespace "very" do
300
- namespace "nested" do
301
- task "run" => "rake:copy"
302
- end
303
- end
304
-
305
- namespace "a" do
306
- desc "Run task in the 'a' namespace"
307
- task "run" do
308
- puts "IN A"
309
- end
310
- end
311
-
312
- namespace "b" do
313
- desc "Run task in the 'b' namespace"
314
- task "run" => "a:run" do
315
- puts "IN B"
316
- end
317
- end
318
-
319
- namespace "file1" do
320
- file "xyz.rb" do
321
- puts "XYZ1"
322
- end
323
- end
324
-
325
- namespace "file2" do
326
- file "xyz.rb" do
327
- puts "XYZ2"
328
- end
329
- end
330
-
331
- namespace "scopedep" do
332
- task :prepare do
333
- touch "scopedep.rb"
334
- puts "PREPARE"
335
- end
336
- file "scopedep.rb" => [:prepare] do
337
- puts "SCOPEDEP"
338
- end
339
- end
340
- NAMESPACE
341
- end
342
-
343
- def rakefile_nosearch
344
- FileUtils.touch 'dummy'
345
- end
346
-
347
- def rakefile_rakelib
348
- FileUtils.mkdir_p 'rakelib'
349
-
350
- Dir.chdir 'rakelib' do
351
- open 'test1.rb', 'w' do |io|
352
- io << <<-TEST1
353
- task :default do
354
- puts "TEST1"
355
- end
356
- TEST1
357
- end
358
-
359
- open 'test2.rake', 'w' do |io|
360
- io << <<-TEST1
361
- task :default do
362
- puts "TEST2"
363
- end
364
- TEST1
365
- end
366
- end
367
- end
368
-
369
- def rakefile_rbext
370
- open 'rakefile.rb', 'w' do |io|
371
- io << 'task :default do puts "OK" end'
372
- end
373
- end
374
-
375
- def rakefile_unittest
376
- rakefile '# Empty Rakefile for Unit Test'
377
-
378
- readme = File.join 'subdir', 'README'
379
- FileUtils.mkdir_p File.dirname readme
380
-
381
- FileUtils.touch readme
382
- end
383
-
384
- def rakefile_verbose
385
- rakefile <<-VERBOSE
386
- task :standalone_verbose_true do
387
- verbose true
388
- sh "#{RUBY} -e '0'"
389
- end
390
-
391
- task :standalone_verbose_false do
392
- verbose false
393
- sh "#{RUBY} -e '0'"
394
- end
395
-
396
- task :inline_verbose_default do
397
- sh "#{RUBY} -e '0'"
398
- end
399
-
400
- task :inline_verbose_false do
401
- sh "#{RUBY} -e '0'", :verbose => false
402
- end
403
-
404
- task :inline_verbose_true do
405
- sh "#{RUBY} -e '0'", :verbose => true
406
- end
407
-
408
- task :block_verbose_true do
409
- verbose(true) do
410
- sh "#{RUBY} -e '0'"
411
- end
412
- end
413
-
414
- task :block_verbose_false do
415
- verbose(false) do
416
- sh "#{RUBY} -e '0'"
417
- end
418
- end
419
- VERBOSE
420
- end
421
-
422
- def rakefile_test_signal
423
- rakefile <<-TEST_SIGNAL
424
- require 'rake/testtask'
425
-
426
- Rake::TestTask.new(:a) do |t|
427
- t.test_files = ['a_test.rb']
428
- end
429
-
430
- Rake::TestTask.new(:b) do |t|
431
- t.test_files = ['b_test.rb']
432
- end
433
-
434
- task :test do
435
- Rake::Task[:a].invoke
436
- Rake::Task[:b].invoke
437
- end
438
-
439
- task :default => :test
440
- TEST_SIGNAL
441
- open 'a_test.rb', 'w' do |io|
442
- io << 'puts "ATEST"' << "\n"
443
- io << '$stdout.flush' << "\n"
444
- io << 'Process.kill("TERM", $$)' << "\n"
445
- end
446
- open 'b_test.rb', 'w' do |io|
447
- io << 'puts "BTEST"' << "\n"
448
- io << '$stdout.flush' << "\n"
449
- end
450
- end
451
-
452
- def rakefile_failing_test_task
453
- rakefile <<-TEST_TASK
454
- require 'rake/testtask'
455
-
456
- task :default => :test
457
- Rake::TestTask.new(:test) do |t|
458
- t.test_files = ['a_test.rb']
459
- end
460
- TEST_TASK
461
- open 'a_test.rb', 'w' do |io|
462
- io << "require 'minitest/autorun'\n"
463
- io << "class ExitTaskTest < Minitest::Test\n"
464
- io << " def test_exit\n"
465
- io << " assert false, 'this should fail'\n"
466
- io << " end\n"
467
- io << "end\n"
468
- end
469
- end
470
-
471
- def rakefile_stand_alone_filelist
472
- open 'stand_alone_filelist.rb', 'w' do |io|
473
- io << "require 'rake/file_list'\n"
474
- io << "FL = Rake::FileList['*.rb']\n"
475
- io << "puts FL\n"
476
- end
477
- end
478
- end