rake 12.3.2 → 13.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +7 -0
- data/History.rdoc +48 -0
- data/README.rdoc +13 -14
- data/lib/rake/clean.rb +2 -2
- data/lib/rake/file_list.rb +1 -1
- data/lib/rake/file_utils.rb +7 -10
- data/lib/rake/file_utils_ext.rb +6 -17
- data/lib/rake/packagetask.rb +17 -2
- data/lib/rake/task.rb +23 -2
- data/lib/rake/task_manager.rb +23 -15
- data/lib/rake/testtask.rb +1 -36
- data/lib/rake/version.rb +1 -1
- data/rake.gemspec +10 -9
- metadata +13 -81
- data/.gitignore +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 88a74b2e5e06cd2f103f46b7ea41c7d464144dc4dc1332c14a261926a5a8953d
|
|
4
|
+
data.tar.gz: a709ea4bd247c0ff6f2f6d839b2e72c31d75643c38dc057f1497ded61c65ab71
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e50ba14ba646f742a4d7facff3cd5cee22091f2444511bf4907cd1ab87def023d2f407e8401f83fad69ecf85cad71e7e6af9413e17c84518448a9bf1548a9538
|
|
7
|
+
data.tar.gz: 0c638b670984b44f906348d9c19d57a96460751bdc37624e324e37a9ecff2e28023049f54b660f9e4d225f44abf60c3c54422becb1ebd7c1075a34a4c2f4ec34
|
data/Gemfile
CHANGED
data/History.rdoc
CHANGED
|
@@ -1,3 +1,51 @@
|
|
|
1
|
+
=== 13.0.1
|
|
2
|
+
|
|
3
|
+
==== Enhancements
|
|
4
|
+
|
|
5
|
+
* Fix tests to work with current FileUtils
|
|
6
|
+
Pull Request #358 by jeremyevans
|
|
7
|
+
* Simplify default rake test loader
|
|
8
|
+
Pull Request #357 by deivid-rodriguez
|
|
9
|
+
* Update rdoc
|
|
10
|
+
Pull Request #366 by bahasalien
|
|
11
|
+
* Update broken links to rake articles from Avdi in README
|
|
12
|
+
Pull Request #360 by svl7
|
|
13
|
+
|
|
14
|
+
=== 13.0.1
|
|
15
|
+
|
|
16
|
+
==== Bug fixes
|
|
17
|
+
|
|
18
|
+
* Fixed bug: Reenabled task raises previous exception on second invokation
|
|
19
|
+
Pull Request #271 by thorsteneckel
|
|
20
|
+
* Fix an incorrectly resolved arg pattern
|
|
21
|
+
Pull Request #327 by mjbellantoni
|
|
22
|
+
|
|
23
|
+
=== 13.0.0
|
|
24
|
+
|
|
25
|
+
==== Enhancements
|
|
26
|
+
|
|
27
|
+
* Follows recent changes on keyword arguments in ruby 2.7.
|
|
28
|
+
Pull Request #326 by nobu
|
|
29
|
+
* Make `PackageTask` be able to omit parent directory while packing files
|
|
30
|
+
Pull Request #310 by tonytonyjan
|
|
31
|
+
* Add order only dependency
|
|
32
|
+
Pull Request #269 by take-cheeze
|
|
33
|
+
|
|
34
|
+
==== Compatibility changes
|
|
35
|
+
|
|
36
|
+
* Drop old ruby versions(< 2.2)
|
|
37
|
+
|
|
38
|
+
=== 12.3.3
|
|
39
|
+
|
|
40
|
+
==== Bug fixes
|
|
41
|
+
|
|
42
|
+
* Use the application's name in error message if a task is not found.
|
|
43
|
+
Pull Request #303 by tmatilai
|
|
44
|
+
|
|
45
|
+
==== Enhancements:
|
|
46
|
+
|
|
47
|
+
* Use File.open explicitly.
|
|
48
|
+
|
|
1
49
|
=== 12.3.2
|
|
2
50
|
|
|
3
51
|
==== Bug fixes
|
data/README.rdoc
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
home :: https://github.com/ruby/rake
|
|
4
4
|
bugs :: https://github.com/ruby/rake/issues
|
|
5
5
|
docs :: https://ruby.github.io/rake
|
|
6
|
-
build status :: {<img src="https://travis-ci.org/ruby/rake.svg?branch=master" alt="travis-ci">}[https://travis-ci.org/ruby/rake] {<img src="https://ci.appveyor.com/api/projects/status/github/ruby/rake?branch=master&svg=true" alt="appveyor">}[https://ci.appveyor.com/project/ruby/rake]
|
|
7
6
|
|
|
8
7
|
== Description
|
|
9
8
|
|
|
@@ -83,27 +82,27 @@ Type "rake --help" for all available options.
|
|
|
83
82
|
=== Presentations and Articles about Rake
|
|
84
83
|
|
|
85
84
|
* Avdi Grimm's rake series:
|
|
86
|
-
1. {Rake Basics}[
|
|
87
|
-
2. {Rake File Lists}[
|
|
88
|
-
3. {Rake Rules}[
|
|
89
|
-
4. {Rake Pathmap}[
|
|
90
|
-
5. {File Operations}[
|
|
91
|
-
6. {Clean and Clobber}[
|
|
92
|
-
7. {MultiTask}[
|
|
93
|
-
* {Jim Weirich's 2003 RubyConf presentation}[
|
|
94
|
-
* Martin Fowler's article on Rake:
|
|
85
|
+
1. {Rake Basics}[https://avdi.codes/rake-part-1-basics/]
|
|
86
|
+
2. {Rake File Lists}[https://avdi.codes/rake-part-2-file-lists-2/]
|
|
87
|
+
3. {Rake Rules}[https://avdi.codes/rake-part-3-rules/]
|
|
88
|
+
4. {Rake Pathmap}[https://avdi.codes/rake-part-4-pathmap/]
|
|
89
|
+
5. {File Operations}[https://avdi.codes/rake-part-5-file-operations/]
|
|
90
|
+
6. {Clean and Clobber}[https://avdi.codes/rake-part-6-clean-and-clobber/]
|
|
91
|
+
7. {MultiTask}[https://avdi.codes/rake-part-7-multitask/]
|
|
92
|
+
* {Jim Weirich's 2003 RubyConf presentation}[https://web.archive.org/web/20140221123354/http://onestepback.org/articles/buildingwithrake/]
|
|
93
|
+
* Martin Fowler's article on Rake: https://martinfowler.com/articles/rake.html
|
|
95
94
|
|
|
96
95
|
== Other Make Re-envisionings ...
|
|
97
96
|
|
|
98
97
|
Rake is a late entry in the make replacement field. Here are links to
|
|
99
98
|
other projects with similar (and not so similar) goals.
|
|
100
99
|
|
|
101
|
-
*
|
|
100
|
+
* https://directory.fsf.org/wiki/Bras -- Bras, one of earliest
|
|
102
101
|
implementations of "make in a scripting language".
|
|
103
102
|
* http://www.a-a-p.org -- Make in Python
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
103
|
+
* https://ant.apache.org -- The Ant project
|
|
104
|
+
* https://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
|
|
105
|
+
* https://www.rubydoc.info/gems/rant/0.5.7/frames -- Rant, another Ruby make tool.
|
|
107
106
|
|
|
108
107
|
== Credits
|
|
109
108
|
|
data/lib/rake/clean.rb
CHANGED
|
@@ -28,10 +28,10 @@ module Rake
|
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
def cleanup(file_name, opts
|
|
31
|
+
def cleanup(file_name, **opts)
|
|
32
32
|
begin
|
|
33
33
|
opts = { verbose: Rake.application.options.trace }.merge(opts)
|
|
34
|
-
rm_r file_name, opts
|
|
34
|
+
rm_r file_name, **opts
|
|
35
35
|
rescue StandardError => ex
|
|
36
36
|
puts "Failed to remove #{file_name}: #{ex}" unless file_already_gone?(file_name)
|
|
37
37
|
end
|
data/lib/rake/file_list.rb
CHANGED
data/lib/rake/file_utils.rb
CHANGED
|
@@ -97,12 +97,11 @@ module FileUtils
|
|
|
97
97
|
# Example:
|
|
98
98
|
# ruby %{-pe '$_.upcase!' <README}
|
|
99
99
|
#
|
|
100
|
-
def ruby(*args, &block)
|
|
101
|
-
options = (Hash === args.last) ? args.pop : {}
|
|
100
|
+
def ruby(*args, **options, &block)
|
|
102
101
|
if args.length > 1
|
|
103
|
-
sh(
|
|
102
|
+
sh(RUBY, *args, **options, &block)
|
|
104
103
|
else
|
|
105
|
-
sh("#{RUBY} #{args.first}", options, &block)
|
|
104
|
+
sh("#{RUBY} #{args.first}", **options, &block)
|
|
106
105
|
end
|
|
107
106
|
end
|
|
108
107
|
|
|
@@ -110,17 +109,15 @@ module FileUtils
|
|
|
110
109
|
|
|
111
110
|
# Attempt to do a normal file link, but fall back to a copy if the link
|
|
112
111
|
# fails.
|
|
113
|
-
def safe_ln(*args)
|
|
114
|
-
if
|
|
115
|
-
cp(*args)
|
|
116
|
-
else
|
|
112
|
+
def safe_ln(*args, **options)
|
|
113
|
+
if LN_SUPPORTED[0]
|
|
117
114
|
begin
|
|
118
|
-
ln(*args)
|
|
115
|
+
return options.empty? ? ln(*args) : ln(*args, **options)
|
|
119
116
|
rescue StandardError, NotImplementedError
|
|
120
117
|
LN_SUPPORTED[0] = false
|
|
121
|
-
cp(*args)
|
|
122
118
|
end
|
|
123
119
|
end
|
|
120
|
+
options.empty? ? cp(*args) : cp(*args, **options)
|
|
124
121
|
end
|
|
125
122
|
|
|
126
123
|
# Split a file path into individual directory names.
|
data/lib/rake/file_utils_ext.rb
CHANGED
|
@@ -23,19 +23,18 @@ module Rake
|
|
|
23
23
|
opts = FileUtils.options_of name
|
|
24
24
|
default_options = []
|
|
25
25
|
if opts.include?("verbose")
|
|
26
|
-
default_options << ":
|
|
26
|
+
default_options << "verbose: FileUtilsExt.verbose_flag"
|
|
27
27
|
end
|
|
28
28
|
if opts.include?("noop")
|
|
29
|
-
default_options << ":
|
|
29
|
+
default_options << "noop: FileUtilsExt.nowrite_flag"
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
next if default_options.empty?
|
|
33
33
|
module_eval(<<-EOS, __FILE__, __LINE__ + 1)
|
|
34
|
-
def #{name}(
|
|
35
|
-
super(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
), &block)
|
|
34
|
+
def #{name}(*args, **options, &block)
|
|
35
|
+
super(*args,
|
|
36
|
+
#{default_options.join(', ')},
|
|
37
|
+
**options, &block)
|
|
39
38
|
end
|
|
40
39
|
EOS
|
|
41
40
|
end
|
|
@@ -113,16 +112,6 @@ module Rake
|
|
|
113
112
|
end
|
|
114
113
|
end
|
|
115
114
|
|
|
116
|
-
# Merge the given options with the default values.
|
|
117
|
-
def rake_merge_option(args, defaults)
|
|
118
|
-
if Hash === args.last
|
|
119
|
-
defaults.update(args.last)
|
|
120
|
-
args.pop
|
|
121
|
-
end
|
|
122
|
-
args.push defaults
|
|
123
|
-
args
|
|
124
|
-
end
|
|
125
|
-
|
|
126
115
|
# Send the message to the default rake output (which is $stderr).
|
|
127
116
|
def rake_output_message(message)
|
|
128
117
|
$stderr.puts(message)
|
data/lib/rake/packagetask.rb
CHANGED
|
@@ -79,6 +79,9 @@ module Rake
|
|
|
79
79
|
# Zip command for zipped archives. The default is 'zip'.
|
|
80
80
|
attr_accessor :zip_command
|
|
81
81
|
|
|
82
|
+
# True if parent directory should be omited (default is false)
|
|
83
|
+
attr_accessor :without_parent_dir
|
|
84
|
+
|
|
82
85
|
# Create a Package Task with the given name and version. Use +:noversion+
|
|
83
86
|
# as the version to build a package without a version or to provide a
|
|
84
87
|
# fully-versioned package name.
|
|
@@ -102,6 +105,7 @@ module Rake
|
|
|
102
105
|
@need_zip = false
|
|
103
106
|
@tar_command = "tar"
|
|
104
107
|
@zip_command = "zip"
|
|
108
|
+
@without_parent_dir = false
|
|
105
109
|
end
|
|
106
110
|
|
|
107
111
|
# Create the tasks defined by this task library.
|
|
@@ -132,7 +136,8 @@ module Rake
|
|
|
132
136
|
task package: ["#{package_dir}/#{file}"]
|
|
133
137
|
file "#{package_dir}/#{file}" =>
|
|
134
138
|
[package_dir_path] + package_files do
|
|
135
|
-
chdir(
|
|
139
|
+
chdir(working_dir) { sh @tar_command, "#{flag}cvf", file, target_dir }
|
|
140
|
+
mv "#{package_dir_path}/#{target_dir}", package_dir if without_parent_dir
|
|
136
141
|
end
|
|
137
142
|
end
|
|
138
143
|
end
|
|
@@ -141,7 +146,8 @@ module Rake
|
|
|
141
146
|
task package: ["#{package_dir}/#{zip_file}"]
|
|
142
147
|
file "#{package_dir}/#{zip_file}" =>
|
|
143
148
|
[package_dir_path] + package_files do
|
|
144
|
-
chdir(
|
|
149
|
+
chdir(working_dir) { sh @zip_command, "-r", zip_file, target_dir }
|
|
150
|
+
mv "#{package_dir_path}/#{zip_file}", package_dir if without_parent_dir
|
|
145
151
|
end
|
|
146
152
|
end
|
|
147
153
|
|
|
@@ -202,6 +208,15 @@ module Rake
|
|
|
202
208
|
def zip_file
|
|
203
209
|
"#{package_name}.zip"
|
|
204
210
|
end
|
|
211
|
+
|
|
212
|
+
def working_dir
|
|
213
|
+
without_parent_dir ? package_dir_path : package_dir
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# target directory relative to working_dir
|
|
217
|
+
def target_dir
|
|
218
|
+
without_parent_dir ? "." : package_name
|
|
219
|
+
end
|
|
205
220
|
end
|
|
206
221
|
|
|
207
222
|
end
|
data/lib/rake/task.rb
CHANGED
|
@@ -17,6 +17,9 @@ module Rake
|
|
|
17
17
|
attr_reader :prerequisites
|
|
18
18
|
alias prereqs prerequisites
|
|
19
19
|
|
|
20
|
+
# List of order only prerequisites for a task.
|
|
21
|
+
attr_reader :order_only_prerequisites
|
|
22
|
+
|
|
20
23
|
# List of actions attached to a task.
|
|
21
24
|
attr_reader :actions
|
|
22
25
|
|
|
@@ -56,7 +59,7 @@ module Rake
|
|
|
56
59
|
|
|
57
60
|
# List of prerequisite tasks
|
|
58
61
|
def prerequisite_tasks
|
|
59
|
-
prerequisites.map { |pre| lookup_prerequisite(pre) }
|
|
62
|
+
(prerequisites + order_only_prerequisites).map { |pre| lookup_prerequisite(pre) }
|
|
60
63
|
end
|
|
61
64
|
|
|
62
65
|
def lookup_prerequisite(prerequisite_name) # :nodoc:
|
|
@@ -105,6 +108,7 @@ module Rake
|
|
|
105
108
|
@arg_names = nil
|
|
106
109
|
@locations = []
|
|
107
110
|
@invocation_exception = nil
|
|
111
|
+
@order_only_prerequisites = []
|
|
108
112
|
end
|
|
109
113
|
|
|
110
114
|
# Enhance a task with prerequisites or actions. Returns self.
|
|
@@ -142,6 +146,7 @@ module Rake
|
|
|
142
146
|
# is invoked again.
|
|
143
147
|
def reenable
|
|
144
148
|
@already_invoked = false
|
|
149
|
+
@invocation_exception = nil
|
|
145
150
|
end
|
|
146
151
|
|
|
147
152
|
# Clear the existing prerequisites, actions, comments, and arguments of a rake task.
|
|
@@ -270,7 +275,11 @@ module Rake
|
|
|
270
275
|
end
|
|
271
276
|
application.trace "** Execute #{name}" if application.options.trace
|
|
272
277
|
application.enhance_with_matching_rule(name) if @actions.empty?
|
|
273
|
-
|
|
278
|
+
if opts = Hash.try_convert(args) and !opts.empty?
|
|
279
|
+
@actions.each { |act| act.call(self, args, **opts)}
|
|
280
|
+
else
|
|
281
|
+
@actions.each { |act| act.call(self, args)}
|
|
282
|
+
end
|
|
274
283
|
end
|
|
275
284
|
|
|
276
285
|
# Is this task needed?
|
|
@@ -360,6 +369,18 @@ module Rake
|
|
|
360
369
|
return result
|
|
361
370
|
end
|
|
362
371
|
|
|
372
|
+
# Format dependencies parameter to pass to task.
|
|
373
|
+
def self.format_deps(deps)
|
|
374
|
+
deps = [deps] unless deps.respond_to?(:to_ary)
|
|
375
|
+
deps.map { |d| Rake.from_pathname(d).to_s }
|
|
376
|
+
end
|
|
377
|
+
|
|
378
|
+
# Add order only dependencies.
|
|
379
|
+
def |(deps)
|
|
380
|
+
@order_only_prerequisites |= Task.format_deps(deps) - @prerequisites
|
|
381
|
+
self
|
|
382
|
+
end
|
|
383
|
+
|
|
363
384
|
# ----------------------------------------------------------------
|
|
364
385
|
# Rake Module Methods
|
|
365
386
|
#
|
data/lib/rake/task_manager.rb
CHANGED
|
@@ -15,13 +15,13 @@ module Rake
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def create_rule(*args, &block) # :nodoc:
|
|
18
|
-
pattern, args, deps = resolve_args(args)
|
|
18
|
+
pattern, args, deps, order_only = resolve_args(args)
|
|
19
19
|
pattern = Regexp.new(Regexp.quote(pattern) + "$") if String === pattern
|
|
20
|
-
@rules << [pattern, args, deps, block]
|
|
20
|
+
@rules << [pattern, args, deps, order_only, block]
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def define_task(task_class, *args, &block) # :nodoc:
|
|
24
|
-
task_name, arg_names, deps = resolve_args(args)
|
|
24
|
+
task_name, arg_names, deps, order_only = resolve_args(args)
|
|
25
25
|
|
|
26
26
|
original_scope = @scope
|
|
27
27
|
if String === task_name and
|
|
@@ -31,15 +31,15 @@ module Rake
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
task_name = task_class.scope_name(@scope, task_name)
|
|
34
|
-
deps = [deps] unless deps.respond_to?(:to_ary)
|
|
35
|
-
deps = deps.map { |d| Rake.from_pathname(d).to_s }
|
|
36
34
|
task = intern(task_class, task_name)
|
|
37
35
|
task.set_arg_names(arg_names) unless arg_names.empty?
|
|
38
36
|
if Rake::TaskManager.record_task_metadata
|
|
39
37
|
add_location(task)
|
|
40
38
|
task.add_description(get_description(task))
|
|
41
39
|
end
|
|
42
|
-
task.enhance(deps, &block)
|
|
40
|
+
task.enhance(Task.format_deps(deps), &block)
|
|
41
|
+
task | order_only unless order_only.nil?
|
|
42
|
+
task
|
|
43
43
|
ensure
|
|
44
44
|
@scope = original_scope
|
|
45
45
|
end
|
|
@@ -60,7 +60,8 @@ module Rake
|
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def generate_message_for_undefined_task(task_name)
|
|
63
|
-
message = "Don't know how to build task '#{task_name}'
|
|
63
|
+
message = "Don't know how to build task '#{task_name}' "\
|
|
64
|
+
"(See the list of available tasks with `#{Rake.application.name} --tasks`)"
|
|
64
65
|
message + generate_did_you_mean_suggestions(task_name)
|
|
65
66
|
end
|
|
66
67
|
|
|
@@ -82,8 +83,8 @@ module Rake
|
|
|
82
83
|
define_task(Rake::FileTask, task_name)
|
|
83
84
|
end
|
|
84
85
|
|
|
85
|
-
# Resolve the arguments for a task/rule. Returns a
|
|
86
|
-
# [task_name, arg_name_list, prerequisites].
|
|
86
|
+
# Resolve the arguments for a task/rule. Returns a tuple of
|
|
87
|
+
# [task_name, arg_name_list, prerequisites, order_only_prerequisites].
|
|
87
88
|
def resolve_args(args)
|
|
88
89
|
if args.last.is_a?(Hash)
|
|
89
90
|
deps = args.pop
|
|
@@ -108,7 +109,7 @@ module Rake
|
|
|
108
109
|
else
|
|
109
110
|
arg_names = args
|
|
110
111
|
end
|
|
111
|
-
[task_name, arg_names, []]
|
|
112
|
+
[task_name, arg_names, [], nil]
|
|
112
113
|
end
|
|
113
114
|
private :resolve_args_without_dependencies
|
|
114
115
|
|
|
@@ -117,11 +118,17 @@ module Rake
|
|
|
117
118
|
#
|
|
118
119
|
# The patterns recognized by this argument resolving function are:
|
|
119
120
|
#
|
|
121
|
+
# task :t, order_only: [:e]
|
|
120
122
|
# task :t => [:d]
|
|
123
|
+
# task :t => [:d], order_only: [:e]
|
|
121
124
|
# task :t, [a] => [:d]
|
|
125
|
+
# task :t, [a] => [:d], order_only: [:e]
|
|
122
126
|
#
|
|
123
127
|
def resolve_args_with_dependencies(args, hash) # :nodoc:
|
|
124
|
-
fail "Task Argument Error" if
|
|
128
|
+
fail "Task Argument Error" if
|
|
129
|
+
hash.size != 1 &&
|
|
130
|
+
(hash.size != 2 || !hash.key?(:order_only))
|
|
131
|
+
order_only = hash.delete(:order_only)
|
|
125
132
|
key, value = hash.map { |k, v| [k, v] }.first
|
|
126
133
|
if args.empty?
|
|
127
134
|
task_name = key
|
|
@@ -129,11 +136,11 @@ module Rake
|
|
|
129
136
|
deps = value || []
|
|
130
137
|
else
|
|
131
138
|
task_name = args.shift
|
|
132
|
-
arg_names = key
|
|
133
|
-
deps = value
|
|
139
|
+
arg_names = key || args.shift|| []
|
|
140
|
+
deps = value || []
|
|
134
141
|
end
|
|
135
142
|
deps = [deps] unless deps.respond_to?(:to_ary)
|
|
136
|
-
[task_name, arg_names, deps]
|
|
143
|
+
[task_name, arg_names, deps, order_only]
|
|
137
144
|
end
|
|
138
145
|
private :resolve_args_with_dependencies
|
|
139
146
|
|
|
@@ -144,9 +151,10 @@ module Rake
|
|
|
144
151
|
def enhance_with_matching_rule(task_name, level=0)
|
|
145
152
|
fail Rake::RuleRecursionOverflowError,
|
|
146
153
|
"Rule Recursion Too Deep" if level >= 16
|
|
147
|
-
@rules.each do |pattern, args, extensions, block|
|
|
154
|
+
@rules.each do |pattern, args, extensions, order_only, block|
|
|
148
155
|
if pattern && pattern.match(task_name)
|
|
149
156
|
task = attempt_rule(task_name, pattern, args, extensions, block, level)
|
|
157
|
+
task | order_only unless order_only.nil?
|
|
150
158
|
return task if task
|
|
151
159
|
end
|
|
152
160
|
end
|
data/lib/rake/testtask.rb
CHANGED
|
@@ -181,44 +181,9 @@ module Rake
|
|
|
181
181
|
when :testrb
|
|
182
182
|
"-S testrb"
|
|
183
183
|
when :rake
|
|
184
|
-
"#{
|
|
184
|
+
"-r#{__dir__}/rake_test_loader"
|
|
185
185
|
end
|
|
186
186
|
end
|
|
187
187
|
|
|
188
|
-
def rake_loader # :nodoc:
|
|
189
|
-
find_file("rake/rake_test_loader") or
|
|
190
|
-
fail "unable to find rake test loader"
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
def find_file(fn) # :nodoc:
|
|
194
|
-
$LOAD_PATH.each do |path|
|
|
195
|
-
file_path = File.join(path, "#{fn}.rb")
|
|
196
|
-
return file_path if File.exist? file_path
|
|
197
|
-
end
|
|
198
|
-
nil
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
def rake_include_arg # :nodoc:
|
|
202
|
-
spec = Gem.loaded_specs["rake"]
|
|
203
|
-
if spec.respond_to?(:default_gem?) && spec.default_gem?
|
|
204
|
-
""
|
|
205
|
-
else
|
|
206
|
-
"-I\"#{rake_lib_dir}\""
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
|
|
210
|
-
def rake_lib_dir # :nodoc:
|
|
211
|
-
find_dir("rake") or
|
|
212
|
-
fail "unable to find rake lib"
|
|
213
|
-
end
|
|
214
|
-
|
|
215
|
-
def find_dir(fn) # :nodoc:
|
|
216
|
-
$LOAD_PATH.each do |path|
|
|
217
|
-
file_path = File.join(path, "#{fn}.rb")
|
|
218
|
-
return path if File.exist? file_path
|
|
219
|
-
end
|
|
220
|
-
nil
|
|
221
|
-
end
|
|
222
|
-
|
|
223
188
|
end
|
|
224
189
|
end
|
data/lib/rake/version.rb
CHANGED
data/rake.gemspec
CHANGED
|
@@ -23,20 +23,21 @@ Rake has the following features:
|
|
|
23
23
|
s.homepage = "https://github.com/ruby/rake".freeze
|
|
24
24
|
s.licenses = ["MIT".freeze]
|
|
25
25
|
|
|
26
|
-
s.
|
|
27
|
-
|
|
26
|
+
s.metadata = {
|
|
27
|
+
"bug_tracker_uri" => "https://github.com/ruby/rake/issues",
|
|
28
|
+
"changelog_uri" => "https://github.com/ruby/rake/blob/v#{s.version}/History.rdoc",
|
|
29
|
+
"documentation_uri" => "https://ruby.github.io/rake",
|
|
30
|
+
"source_code_uri" => "https://github.com/ruby/rake/tree/v#{s.version}",
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
s.files = %x[git ls-files -z].split("\x0").reject { |f| f.match(%r{^(test|spec|features|\.github)/}) } -
|
|
34
|
+
%w[.rubocop.yml .gitignore .travis.yml appveyor.yml]
|
|
28
35
|
s.bindir = "exe"
|
|
29
36
|
s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
30
37
|
s.require_paths = ["lib".freeze]
|
|
31
38
|
|
|
32
|
-
s.required_ruby_version = Gem::Requirement.new(">= 2.
|
|
39
|
+
s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze)
|
|
33
40
|
s.rubygems_version = "2.6.1".freeze
|
|
34
41
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.3.2".freeze)
|
|
35
42
|
s.rdoc_options = ["--main".freeze, "README.rdoc".freeze]
|
|
36
|
-
|
|
37
|
-
s.add_development_dependency(%q<bundler>.freeze)
|
|
38
|
-
s.add_development_dependency(%q<minitest>.freeze)
|
|
39
|
-
s.add_development_dependency(%q<rdoc>.freeze)
|
|
40
|
-
s.add_development_dependency(%q<coveralls>.freeze)
|
|
41
|
-
s.add_development_dependency(%q<rubocop>.freeze)
|
|
42
43
|
end
|
metadata
CHANGED
|
@@ -1,87 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rake
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 13.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hiroshi SHIBATA
|
|
8
8
|
- Eric Hodel
|
|
9
9
|
- Jim Weirich
|
|
10
|
-
autorequire:
|
|
10
|
+
autorequire:
|
|
11
11
|
bindir: exe
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
14
|
-
dependencies:
|
|
15
|
-
- !ruby/object:Gem::Dependency
|
|
16
|
-
name: bundler
|
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
|
18
|
-
requirements:
|
|
19
|
-
- - ">="
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '0'
|
|
22
|
-
type: :development
|
|
23
|
-
prerelease: false
|
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
requirements:
|
|
26
|
-
- - ">="
|
|
27
|
-
- !ruby/object:Gem::Version
|
|
28
|
-
version: '0'
|
|
29
|
-
- !ruby/object:Gem::Dependency
|
|
30
|
-
name: minitest
|
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
|
32
|
-
requirements:
|
|
33
|
-
- - ">="
|
|
34
|
-
- !ruby/object:Gem::Version
|
|
35
|
-
version: '0'
|
|
36
|
-
type: :development
|
|
37
|
-
prerelease: false
|
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
39
|
-
requirements:
|
|
40
|
-
- - ">="
|
|
41
|
-
- !ruby/object:Gem::Version
|
|
42
|
-
version: '0'
|
|
43
|
-
- !ruby/object:Gem::Dependency
|
|
44
|
-
name: rdoc
|
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
|
46
|
-
requirements:
|
|
47
|
-
- - ">="
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: '0'
|
|
50
|
-
type: :development
|
|
51
|
-
prerelease: false
|
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
53
|
-
requirements:
|
|
54
|
-
- - ">="
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
version: '0'
|
|
57
|
-
- !ruby/object:Gem::Dependency
|
|
58
|
-
name: coveralls
|
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
|
60
|
-
requirements:
|
|
61
|
-
- - ">="
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
version: '0'
|
|
64
|
-
type: :development
|
|
65
|
-
prerelease: false
|
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
67
|
-
requirements:
|
|
68
|
-
- - ">="
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: '0'
|
|
71
|
-
- !ruby/object:Gem::Dependency
|
|
72
|
-
name: rubocop
|
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
|
74
|
-
requirements:
|
|
75
|
-
- - ">="
|
|
76
|
-
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0'
|
|
78
|
-
type: :development
|
|
79
|
-
prerelease: false
|
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
81
|
-
requirements:
|
|
82
|
-
- - ">="
|
|
83
|
-
- !ruby/object:Gem::Version
|
|
84
|
-
version: '0'
|
|
13
|
+
date: 2020-12-19 00:00:00.000000000 Z
|
|
14
|
+
dependencies: []
|
|
85
15
|
description: |
|
|
86
16
|
Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
|
|
87
17
|
specified in standard Ruby syntax.
|
|
@@ -101,7 +31,6 @@ executables:
|
|
|
101
31
|
extensions: []
|
|
102
32
|
extra_rdoc_files: []
|
|
103
33
|
files:
|
|
104
|
-
- ".gitignore"
|
|
105
34
|
- CONTRIBUTING.rdoc
|
|
106
35
|
- Gemfile
|
|
107
36
|
- History.rdoc
|
|
@@ -174,8 +103,12 @@ files:
|
|
|
174
103
|
homepage: https://github.com/ruby/rake
|
|
175
104
|
licenses:
|
|
176
105
|
- MIT
|
|
177
|
-
metadata:
|
|
178
|
-
|
|
106
|
+
metadata:
|
|
107
|
+
bug_tracker_uri: https://github.com/ruby/rake/issues
|
|
108
|
+
changelog_uri: https://github.com/ruby/rake/blob/v13.0.2/History.rdoc
|
|
109
|
+
documentation_uri: https://ruby.github.io/rake
|
|
110
|
+
source_code_uri: https://github.com/ruby/rake/tree/v13.0.2
|
|
111
|
+
post_install_message:
|
|
179
112
|
rdoc_options:
|
|
180
113
|
- "--main"
|
|
181
114
|
- README.rdoc
|
|
@@ -185,16 +118,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
185
118
|
requirements:
|
|
186
119
|
- - ">="
|
|
187
120
|
- !ruby/object:Gem::Version
|
|
188
|
-
version: 2.
|
|
121
|
+
version: '2.2'
|
|
189
122
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
123
|
requirements:
|
|
191
124
|
- - ">="
|
|
192
125
|
- !ruby/object:Gem::Version
|
|
193
126
|
version: 1.3.2
|
|
194
127
|
requirements: []
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
signing_key:
|
|
128
|
+
rubygems_version: 3.2.1
|
|
129
|
+
signing_key:
|
|
198
130
|
specification_version: 4
|
|
199
131
|
summary: Rake is a Make-like program implemented in Ruby
|
|
200
132
|
test_files: []
|