rake 10.5.0 → 11.0.1
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.
- checksums.yaml +4 -4
- data/History.rdoc +34 -0
- data/Manifest.txt +1 -13
- data/README.rdoc +20 -2
- data/Rakefile +3 -2
- data/lib/rake.rb +2 -8
- data/lib/rake/application.rb +2 -5
- data/lib/rake/contrib/sshpublisher.rb +0 -1
- data/lib/rake/cpu_counter.rb +4 -9
- data/lib/rake/dsl_definition.rb +0 -7
- data/lib/rake/ext/fixnum.rb +18 -0
- data/lib/rake/file_list.rb +22 -14
- data/lib/rake/file_utils.rb +1 -6
- data/lib/rake/linked_list.rb +23 -15
- data/lib/rake/task.rb +9 -1
- data/lib/rake/task_arguments.rb +4 -0
- data/lib/rake/task_manager.rb +0 -4
- data/lib/rake/tasklib.rb +0 -13
- data/lib/rake/testtask.rb +3 -11
- data/lib/rake/thread_pool.rb +1 -2
- data/lib/rake/trace_output.rb +1 -1
- data/lib/rake/win32.rb +2 -8
- data/test/helper.rb +15 -10
- data/test/support/rakefile_definitions.rb +1 -3
- data/test/test_rake_application.rb +16 -0
- data/test/test_rake_application_options.rb +1 -1
- data/test/test_rake_file_list.rb +17 -0
- data/test/test_rake_file_list_path_map.rb +7 -0
- data/test/test_rake_file_utils.rb +4 -0
- data/test/test_rake_functional.rb +4 -2
- data/test/test_rake_task.rb +37 -0
- data/test/test_rake_task_arguments.rb +7 -0
- data/test/test_rake_test_task.rb +8 -23
- metadata +7 -17
- data/lib/rake/alt_system.rb +0 -110
- data/lib/rake/contrib/publisher.rb +0 -81
- data/lib/rake/contrib/rubyforgepublisher.rb +0 -18
- data/lib/rake/contrib/sys.rb +0 -4
- data/lib/rake/ext/module.rb +0 -2
- data/lib/rake/ext/time.rb +0 -18
- data/lib/rake/gempackagetask.rb +0 -4
- data/lib/rake/pathmap.rb +0 -3
- data/lib/rake/rdoctask.rb +0 -4
- data/lib/rake/ruby182_test_unit_fix.rb +0 -29
- data/lib/rake/runtest.rb +0 -27
- data/rakelib/publish.rake +0 -20
- data/test/test_rake_task_lib.rb +0 -9
@@ -25,6 +25,13 @@ class TestRakeTaskArguments < Rake::TestCase
|
|
25
25
|
refute(ta.has_key?(:b))
|
26
26
|
end
|
27
27
|
|
28
|
+
def test_fetch
|
29
|
+
ta = Rake::TaskArguments.new([:one], [1])
|
30
|
+
assert_equal 1, ta.fetch(:one)
|
31
|
+
assert_equal 2, ta.fetch(:two) { 2 }
|
32
|
+
assert_raises(KeyError) { ta.fetch(:three) }
|
33
|
+
end
|
34
|
+
|
28
35
|
def test_to_s
|
29
36
|
ta = Rake::TaskArguments.new([:a, :b, :c], [1, 2, 3])
|
30
37
|
assert_equal ta.to_hash.inspect, ta.to_s
|
data/test/test_rake_test_task.rb
CHANGED
@@ -11,6 +11,7 @@ class TestRakeTestTask < Rake::TestCase
|
|
11
11
|
assert_equal ['lib'], tt.libs
|
12
12
|
assert_equal 'test/test*.rb', tt.pattern
|
13
13
|
assert_equal false, tt.verbose
|
14
|
+
assert_equal true, tt.warning
|
14
15
|
assert Task.task_defined?(:test)
|
15
16
|
end
|
16
17
|
|
@@ -19,6 +20,7 @@ class TestRakeTestTask < Rake::TestCase
|
|
19
20
|
t.description = "Run example tests"
|
20
21
|
t.libs = ['src', 'ext']
|
21
22
|
t.pattern = 'test/tc_*.rb'
|
23
|
+
t.warning = true
|
22
24
|
t.verbose = true
|
23
25
|
end
|
24
26
|
refute_nil tt
|
@@ -26,7 +28,10 @@ class TestRakeTestTask < Rake::TestCase
|
|
26
28
|
assert_equal :example, tt.name
|
27
29
|
assert_equal ['src', 'ext'], tt.libs
|
28
30
|
assert_equal 'test/tc_*.rb', tt.pattern
|
31
|
+
assert_equal true, tt.warning
|
29
32
|
assert_equal true, tt.verbose
|
33
|
+
assert_match(/-w/, tt.ruby_opts_string)
|
34
|
+
assert_match(/--verbose/, tt.ruby_opts_string)
|
30
35
|
assert Task.task_defined?(:example)
|
31
36
|
end
|
32
37
|
|
@@ -48,12 +53,13 @@ class TestRakeTestTask < Rake::TestCase
|
|
48
53
|
|
49
54
|
path = %w[lib A B].join File::PATH_SEPARATOR
|
50
55
|
|
51
|
-
assert_equal "-I\"#{path}\"", test_task.ruby_opts_string
|
56
|
+
assert_equal "-w -I\"#{path}\"", test_task.ruby_opts_string
|
52
57
|
end
|
53
58
|
|
54
59
|
def test_libs_equals_empty
|
55
60
|
test_task = Rake::TestTask.new do |t|
|
56
|
-
t.libs
|
61
|
+
t.libs = []
|
62
|
+
t.warning = false
|
57
63
|
end
|
58
64
|
|
59
65
|
assert_equal '', test_task.ruby_opts_string
|
@@ -115,26 +121,6 @@ class TestRakeTestTask < Rake::TestCase
|
|
115
121
|
end
|
116
122
|
end
|
117
123
|
|
118
|
-
def test_run_code_testrb_ruby_1_8_2
|
119
|
-
test_task = Rake::TestTask.new do |t|
|
120
|
-
t.loader = :testrb
|
121
|
-
end
|
122
|
-
|
123
|
-
def test_task.ruby_version() '1.8.2' end
|
124
|
-
|
125
|
-
assert_match(/^-S testrb +".*"$/, test_task.run_code)
|
126
|
-
end
|
127
|
-
|
128
|
-
def test_run_code_testrb_ruby_1_8_6
|
129
|
-
test_task = Rake::TestTask.new do |t|
|
130
|
-
t.loader = :testrb
|
131
|
-
end
|
132
|
-
|
133
|
-
def test_task.ruby_version() '1.8.6' end
|
134
|
-
|
135
|
-
assert_match(/^-S testrb +$/, test_task.run_code)
|
136
|
-
end
|
137
|
-
|
138
124
|
def test_test_files_equals
|
139
125
|
tt = Rake::TestTask.new do |t|
|
140
126
|
t.test_files = FileList['a.rb', 'b.rb']
|
@@ -142,5 +128,4 @@ class TestRakeTestTask < Rake::TestCase
|
|
142
128
|
|
143
129
|
assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a
|
144
130
|
end
|
145
|
-
|
146
131
|
end
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 11.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Hiroshi SHIBATA
|
7
8
|
- Eric Hodel
|
8
9
|
- Jim Weirich
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2016-
|
13
|
+
date: 2016-03-09 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: minitest
|
@@ -77,6 +78,7 @@ description: |-
|
|
77
78
|
|
78
79
|
* Supports parallel execution of tasks.
|
79
80
|
email:
|
81
|
+
- hsbt@ruby-lang.org
|
80
82
|
- drbrain@segment7.net
|
81
83
|
- ''
|
82
84
|
executables:
|
@@ -177,7 +179,6 @@ files:
|
|
177
179
|
- doc/release_notes/rake-10.0.3.rdoc
|
178
180
|
- doc/release_notes/rake-10.1.0.rdoc
|
179
181
|
- lib/rake.rb
|
180
|
-
- lib/rake/alt_system.rb
|
181
182
|
- lib/rake/application.rb
|
182
183
|
- lib/rake/backtrace.rb
|
183
184
|
- lib/rake/clean.rb
|
@@ -185,25 +186,20 @@ files:
|
|
185
186
|
- lib/rake/contrib/.document
|
186
187
|
- lib/rake/contrib/compositepublisher.rb
|
187
188
|
- lib/rake/contrib/ftptools.rb
|
188
|
-
- lib/rake/contrib/publisher.rb
|
189
|
-
- lib/rake/contrib/rubyforgepublisher.rb
|
190
189
|
- lib/rake/contrib/sshpublisher.rb
|
191
|
-
- lib/rake/contrib/sys.rb
|
192
190
|
- lib/rake/cpu_counter.rb
|
193
191
|
- lib/rake/default_loader.rb
|
194
192
|
- lib/rake/dsl_definition.rb
|
195
193
|
- lib/rake/early_time.rb
|
196
194
|
- lib/rake/ext/core.rb
|
197
|
-
- lib/rake/ext/
|
195
|
+
- lib/rake/ext/fixnum.rb
|
198
196
|
- lib/rake/ext/pathname.rb
|
199
197
|
- lib/rake/ext/string.rb
|
200
|
-
- lib/rake/ext/time.rb
|
201
198
|
- lib/rake/file_creation_task.rb
|
202
199
|
- lib/rake/file_list.rb
|
203
200
|
- lib/rake/file_task.rb
|
204
201
|
- lib/rake/file_utils.rb
|
205
202
|
- lib/rake/file_utils_ext.rb
|
206
|
-
- lib/rake/gempackagetask.rb
|
207
203
|
- lib/rake/invocation_chain.rb
|
208
204
|
- lib/rake/invocation_exception_mixin.rb
|
209
205
|
- lib/rake/late_time.rb
|
@@ -212,17 +208,13 @@ files:
|
|
212
208
|
- lib/rake/multi_task.rb
|
213
209
|
- lib/rake/name_space.rb
|
214
210
|
- lib/rake/packagetask.rb
|
215
|
-
- lib/rake/pathmap.rb
|
216
211
|
- lib/rake/phony.rb
|
217
212
|
- lib/rake/private_reader.rb
|
218
213
|
- lib/rake/promise.rb
|
219
214
|
- lib/rake/pseudo_status.rb
|
220
215
|
- lib/rake/rake_module.rb
|
221
216
|
- lib/rake/rake_test_loader.rb
|
222
|
-
- lib/rake/rdoctask.rb
|
223
|
-
- lib/rake/ruby182_test_unit_fix.rb
|
224
217
|
- lib/rake/rule_recursion_overflow_error.rb
|
225
|
-
- lib/rake/runtest.rb
|
226
218
|
- lib/rake/scope.rb
|
227
219
|
- lib/rake/task.rb
|
228
220
|
- lib/rake/task_argument_error.rb
|
@@ -235,7 +227,6 @@ files:
|
|
235
227
|
- lib/rake/trace_output.rb
|
236
228
|
- lib/rake/version.rb
|
237
229
|
- lib/rake/win32.rb
|
238
|
-
- rakelib/publish.rake
|
239
230
|
- rakelib/test_times.rake
|
240
231
|
- test/file_creation.rb
|
241
232
|
- test/helper.rb
|
@@ -280,7 +271,6 @@ files:
|
|
280
271
|
- test/test_rake_task.rb
|
281
272
|
- test/test_rake_task_argument_parsing.rb
|
282
273
|
- test/test_rake_task_arguments.rb
|
283
|
-
- test/test_rake_task_lib.rb
|
284
274
|
- test/test_rake_task_manager.rb
|
285
275
|
- test/test_rake_task_manager_argument_resolution.rb
|
286
276
|
- test/test_rake_task_with_arguments.rb
|
@@ -304,7 +294,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
304
294
|
requirements:
|
305
295
|
- - ">="
|
306
296
|
- !ruby/object:Gem::Version
|
307
|
-
version: 1.
|
297
|
+
version: 1.9.3
|
308
298
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
309
299
|
requirements:
|
310
300
|
- - ">="
|
@@ -312,7 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
312
302
|
version: 1.3.2
|
313
303
|
requirements: []
|
314
304
|
rubyforge_project:
|
315
|
-
rubygems_version: 2.
|
305
|
+
rubygems_version: 2.6.1
|
316
306
|
signing_key:
|
317
307
|
specification_version: 4
|
318
308
|
summary: Rake is a Make-like program implemented in Ruby
|
data/lib/rake/alt_system.rb
DELETED
@@ -1,110 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright (c) 2008 James M. Lawrence
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person
|
5
|
-
# obtaining a copy of this software and associated documentation files
|
6
|
-
# (the "Software"), to deal in the Software without restriction,
|
7
|
-
# including without limitation the rights to use, copy, modify, merge,
|
8
|
-
# publish, distribute, sublicense, and/or sell copies of the Software,
|
9
|
-
# and to permit persons to whom the Software is furnished to do so,
|
10
|
-
# subject to the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
19
|
-
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
20
|
-
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
21
|
-
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
22
|
-
# SOFTWARE.
|
23
|
-
#
|
24
|
-
|
25
|
-
require 'rbconfig'
|
26
|
-
|
27
|
-
##
|
28
|
-
# Alternate implementations of system() and backticks `` on Windows
|
29
|
-
# for ruby-1.8 and earlier.
|
30
|
-
#--
|
31
|
-
# TODO: Remove in Rake 11
|
32
|
-
|
33
|
-
module Rake::AltSystem # :nodoc: all
|
34
|
-
WINDOWS = RbConfig::CONFIG["host_os"] =~
|
35
|
-
%r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
|
36
|
-
|
37
|
-
class << self
|
38
|
-
def define_module_function(name, &block)
|
39
|
-
define_method(name, &block)
|
40
|
-
module_function(name)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
if WINDOWS && RUBY_VERSION < "1.9.0"
|
45
|
-
RUNNABLE_EXTS = %w[com exe bat cmd]
|
46
|
-
RUNNABLE_PATTERN = %r!\.(#{RUNNABLE_EXTS.join('|')})\Z!i
|
47
|
-
|
48
|
-
define_module_function :kernel_system, &Kernel.method(:system)
|
49
|
-
define_module_function :kernel_backticks, &Kernel.method(:'`')
|
50
|
-
|
51
|
-
module_function
|
52
|
-
|
53
|
-
def repair_command(cmd)
|
54
|
-
"call " + (
|
55
|
-
if cmd =~ %r!\A\s*\".*?\"!
|
56
|
-
# already quoted
|
57
|
-
cmd
|
58
|
-
elsif match = cmd.match(%r!\A\s*(\S+)!)
|
59
|
-
if match[1] =~ %r!/!
|
60
|
-
# avoid x/y.bat interpretation as x with option /y
|
61
|
-
%Q!"#{match[1]}"! + match.post_match
|
62
|
-
else
|
63
|
-
# a shell command will fail if quoted
|
64
|
-
cmd
|
65
|
-
end
|
66
|
-
else
|
67
|
-
# empty or whitespace
|
68
|
-
cmd
|
69
|
-
end
|
70
|
-
)
|
71
|
-
end
|
72
|
-
|
73
|
-
def find_runnable(file)
|
74
|
-
if file =~ RUNNABLE_PATTERN
|
75
|
-
file
|
76
|
-
else
|
77
|
-
RUNNABLE_EXTS.each { |ext|
|
78
|
-
test = "#{file}.#{ext}"
|
79
|
-
return test if File.exist?(test)
|
80
|
-
}
|
81
|
-
nil
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
def system(cmd, *args)
|
86
|
-
repaired = (
|
87
|
-
if args.empty?
|
88
|
-
[repair_command(cmd)]
|
89
|
-
elsif runnable = find_runnable(cmd)
|
90
|
-
[File.expand_path(runnable), *args]
|
91
|
-
else
|
92
|
-
# non-existent file
|
93
|
-
[cmd, *args]
|
94
|
-
end
|
95
|
-
)
|
96
|
-
kernel_system(*repaired)
|
97
|
-
end
|
98
|
-
|
99
|
-
def backticks(cmd)
|
100
|
-
kernel_backticks(repair_command(cmd))
|
101
|
-
end
|
102
|
-
|
103
|
-
define_module_function :'`', &method(:backticks)
|
104
|
-
else
|
105
|
-
# Non-Windows or ruby-1.9+: same as Kernel versions
|
106
|
-
define_module_function :system, &Kernel.method(:system)
|
107
|
-
define_module_function :backticks, &Kernel.method(:'`')
|
108
|
-
define_module_function :'`', &Kernel.method(:'`')
|
109
|
-
end
|
110
|
-
end
|
@@ -1,81 +0,0 @@
|
|
1
|
-
# Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
|
2
|
-
# All rights reserved.
|
3
|
-
|
4
|
-
# :stopdoc:
|
5
|
-
|
6
|
-
# Configuration information about an upload host system.
|
7
|
-
# name :: Name of host system.
|
8
|
-
# webdir :: Base directory for the web information for the
|
9
|
-
# application. The application name (APP) is appended to
|
10
|
-
# this directory before using.
|
11
|
-
# pkgdir :: Directory on the host system where packages can be
|
12
|
-
# placed.
|
13
|
-
HostInfo = Struct.new(:name, :webdir, :pkgdir)
|
14
|
-
|
15
|
-
# :startdoc:
|
16
|
-
|
17
|
-
# TODO: Move to contrib/sshpublisher
|
18
|
-
#--
|
19
|
-
# Manage several publishers as a single entity.
|
20
|
-
class CompositePublisher # :nodoc:
|
21
|
-
def initialize
|
22
|
-
@publishers = []
|
23
|
-
end
|
24
|
-
|
25
|
-
# Add a publisher to the composite.
|
26
|
-
def add(pub)
|
27
|
-
@publishers << pub
|
28
|
-
end
|
29
|
-
|
30
|
-
# Upload all the individual publishers.
|
31
|
-
def upload
|
32
|
-
@publishers.each { |p| p.upload }
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
# TODO: Remove in Rake 11, duplicated
|
37
|
-
#--
|
38
|
-
# Publish an entire directory to an existing remote directory using
|
39
|
-
# SSH.
|
40
|
-
class SshDirPublisher # :nodoc: all
|
41
|
-
def initialize(host, remote_dir, local_dir)
|
42
|
-
@host = host
|
43
|
-
@remote_dir = remote_dir
|
44
|
-
@local_dir = local_dir
|
45
|
-
end
|
46
|
-
|
47
|
-
def upload
|
48
|
-
run %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
# TODO: Remove in Rake 11, duplicated
|
53
|
-
#--
|
54
|
-
# Publish an entire directory to a fresh remote directory using SSH.
|
55
|
-
class SshFreshDirPublisher < SshDirPublisher # :nodoc: all
|
56
|
-
def upload
|
57
|
-
run %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
|
58
|
-
run %{ssh #{@host} mkdir #{@remote_dir}}
|
59
|
-
super
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# TODO: Remove in Rake 11, duplicated
|
64
|
-
#--
|
65
|
-
# Publish a list of files to an existing remote directory.
|
66
|
-
class SshFilePublisher # :nodoc: all
|
67
|
-
# Create a publisher using the give host information.
|
68
|
-
def initialize(host, remote_dir, local_dir, *files)
|
69
|
-
@host = host
|
70
|
-
@remote_dir = remote_dir
|
71
|
-
@local_dir = local_dir
|
72
|
-
@files = files
|
73
|
-
end
|
74
|
-
|
75
|
-
# Upload the local directory to the remote directory.
|
76
|
-
def upload
|
77
|
-
@files.each do |fn|
|
78
|
-
run %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# TODO: Remove in Rake 11
|
2
|
-
|
3
|
-
require 'rake/contrib/sshpublisher'
|
4
|
-
|
5
|
-
module Rake
|
6
|
-
|
7
|
-
class RubyForgePublisher < SshDirPublisher # :nodoc: all
|
8
|
-
attr_reader :project, :proj_id, :user
|
9
|
-
|
10
|
-
def initialize(projname, user)
|
11
|
-
super(
|
12
|
-
"#{user}@rubyforge.org",
|
13
|
-
"/var/www/gforge-projects/#{projname}",
|
14
|
-
"html")
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
data/lib/rake/contrib/sys.rb
DELETED
data/lib/rake/ext/module.rb
DELETED
data/lib/rake/ext/time.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Extensions to time to allow comparisons with early and late time classes.
|
3
|
-
|
4
|
-
require 'rake/early_time'
|
5
|
-
require 'rake/late_time'
|
6
|
-
|
7
|
-
if RUBY_VERSION < "1.9"
|
8
|
-
class Time # :nodoc: all
|
9
|
-
alias rake_original_time_compare :<=>
|
10
|
-
def <=>(other)
|
11
|
-
if Rake::EarlyTime === other || Rake::LateTime === other
|
12
|
-
- other.<=>(self)
|
13
|
-
else
|
14
|
-
rake_original_time_compare(other)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
data/lib/rake/gempackagetask.rb
DELETED
data/lib/rake/pathmap.rb
DELETED