rake 11.1.2 → 11.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rake might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +14 -0
- data/.rubocop.yml +0 -9
- data/.travis.yml +28 -0
- data/CONTRIBUTING.rdoc +3 -5
- data/Gemfile +3 -0
- data/History.rdoc +1770 -273
- data/Rakefile +15 -68
- data/appveyor.yml +24 -0
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/doc/release_notes/README.md +4 -0
- data/doc/release_notes/rake-0.7.3.rdoc +0 -0
- data/{bin → exe}/rake +0 -6
- data/lib/rake.rb +1 -3
- data/lib/rake/application.rb +3 -6
- data/lib/rake/cpu_counter.rb +3 -17
- data/lib/rake/file_utils.rb +22 -6
- data/lib/rake/packagetask.rb +12 -1
- data/lib/rake/rake_test_loader.rb +0 -1
- data/lib/rake/rule_recursion_overflow_error.rb +0 -1
- data/lib/rake/task.rb +3 -3
- data/lib/rake/task_arguments.rb +2 -1
- data/lib/rake/testtask.rb +5 -1
- data/lib/rake/thread_pool.rb +0 -1
- data/lib/rake/version.rb +2 -0
- data/rake.gemspec +30 -0
- metadata +21 -110
- data/.autotest +0 -7
- data/.togglerc +0 -7
- data/Manifest.txt +0 -154
- data/lib/rake/contrib/.document +0 -1
- data/rakelib/test_times.rake +0 -25
- data/test/file_creation.rb +0 -34
- data/test/helper.rb +0 -134
- data/test/support/rakefile_definitions.rb +0 -476
- data/test/support/ruby_runner.rb +0 -34
- data/test/test_private_reader.rb +0 -42
- data/test/test_rake.rb +0 -40
- data/test/test_rake_application.rb +0 -659
- data/test/test_rake_application_options.rb +0 -468
- data/test/test_rake_backtrace.rb +0 -119
- data/test/test_rake_clean.rb +0 -61
- data/test/test_rake_cpu_counter.rb +0 -68
- data/test/test_rake_definitions.rb +0 -84
- data/test/test_rake_directory_task.rb +0 -76
- data/test/test_rake_dsl.rb +0 -40
- data/test/test_rake_early_time.rb +0 -31
- data/test/test_rake_extension.rb +0 -59
- data/test/test_rake_file_creation_task.rb +0 -56
- data/test/test_rake_file_list.rb +0 -687
- data/test/test_rake_file_list_path_map.rb +0 -15
- data/test/test_rake_file_task.rb +0 -197
- data/test/test_rake_file_utils.rb +0 -318
- data/test/test_rake_ftp_file.rb +0 -74
- data/test/test_rake_functional.rb +0 -484
- data/test/test_rake_invocation_chain.rb +0 -64
- data/test/test_rake_late_time.rb +0 -18
- data/test/test_rake_linked_list.rb +0 -84
- data/test/test_rake_makefile_loader.rb +0 -46
- data/test/test_rake_multi_task.rb +0 -64
- data/test/test_rake_name_space.rb +0 -57
- data/test/test_rake_package_task.rb +0 -79
- data/test/test_rake_path_map.rb +0 -168
- data/test/test_rake_path_map_explode.rb +0 -34
- data/test/test_rake_path_map_partial.rb +0 -18
- data/test/test_rake_pathname_extensions.rb +0 -15
- data/test/test_rake_pseudo_status.rb +0 -21
- data/test/test_rake_rake_test_loader.rb +0 -20
- data/test/test_rake_reduce_compat.rb +0 -26
- data/test/test_rake_require.rb +0 -40
- data/test/test_rake_rules.rb +0 -388
- data/test/test_rake_scope.rb +0 -44
- data/test/test_rake_task.rb +0 -430
- data/test/test_rake_task_argument_parsing.rb +0 -119
- data/test/test_rake_task_arguments.rb +0 -134
- data/test/test_rake_task_manager.rb +0 -178
- data/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/test/test_rake_task_with_arguments.rb +0 -172
- data/test/test_rake_test_task.rb +0 -130
- data/test/test_rake_thread_pool.rb +0 -145
- data/test/test_rake_top_level_functions.rb +0 -71
- data/test/test_rake_win32.rb +0 -72
- data/test/test_thread_history_display.rb +0 -101
- data/test/test_trace_output.rb +0 -52
data/.autotest
DELETED
data/.togglerc
DELETED
data/Manifest.txt
DELETED
@@ -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
|
data/lib/rake/contrib/.document
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
|
data/rakelib/test_times.rake
DELETED
@@ -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
|
data/test/file_creation.rb
DELETED
@@ -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
|
data/test/helper.rb
DELETED
@@ -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
|