rake 11.1.2 → 11.2.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rake might be problematic. Click here for more details.

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