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.

Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/History.rdoc +34 -0
  3. data/Manifest.txt +1 -13
  4. data/README.rdoc +20 -2
  5. data/Rakefile +3 -2
  6. data/lib/rake.rb +2 -8
  7. data/lib/rake/application.rb +2 -5
  8. data/lib/rake/contrib/sshpublisher.rb +0 -1
  9. data/lib/rake/cpu_counter.rb +4 -9
  10. data/lib/rake/dsl_definition.rb +0 -7
  11. data/lib/rake/ext/fixnum.rb +18 -0
  12. data/lib/rake/file_list.rb +22 -14
  13. data/lib/rake/file_utils.rb +1 -6
  14. data/lib/rake/linked_list.rb +23 -15
  15. data/lib/rake/task.rb +9 -1
  16. data/lib/rake/task_arguments.rb +4 -0
  17. data/lib/rake/task_manager.rb +0 -4
  18. data/lib/rake/tasklib.rb +0 -13
  19. data/lib/rake/testtask.rb +3 -11
  20. data/lib/rake/thread_pool.rb +1 -2
  21. data/lib/rake/trace_output.rb +1 -1
  22. data/lib/rake/win32.rb +2 -8
  23. data/test/helper.rb +15 -10
  24. data/test/support/rakefile_definitions.rb +1 -3
  25. data/test/test_rake_application.rb +16 -0
  26. data/test/test_rake_application_options.rb +1 -1
  27. data/test/test_rake_file_list.rb +17 -0
  28. data/test/test_rake_file_list_path_map.rb +7 -0
  29. data/test/test_rake_file_utils.rb +4 -0
  30. data/test/test_rake_functional.rb +4 -2
  31. data/test/test_rake_task.rb +37 -0
  32. data/test/test_rake_task_arguments.rb +7 -0
  33. data/test/test_rake_test_task.rb +8 -23
  34. metadata +7 -17
  35. data/lib/rake/alt_system.rb +0 -110
  36. data/lib/rake/contrib/publisher.rb +0 -81
  37. data/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  38. data/lib/rake/contrib/sys.rb +0 -4
  39. data/lib/rake/ext/module.rb +0 -2
  40. data/lib/rake/ext/time.rb +0 -18
  41. data/lib/rake/gempackagetask.rb +0 -4
  42. data/lib/rake/pathmap.rb +0 -3
  43. data/lib/rake/rdoctask.rb +0 -4
  44. data/lib/rake/ruby182_test_unit_fix.rb +0 -29
  45. data/lib/rake/runtest.rb +0 -27
  46. data/rakelib/publish.rake +0 -20
  47. 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
@@ -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: 10.5.0
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-01-13 00:00:00.000000000 Z
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/module.rb
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.8.7
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.5.1
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
@@ -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
@@ -1,4 +0,0 @@
1
- # TODO: Remove in Rake 11
2
-
3
- fail "ERROR: 'rake/contrib/sys' is obsolete and no longer supported. " +
4
- "Use 'FileUtils' instead."
@@ -1,2 +0,0 @@
1
-
2
- # TODO: remove in Rake 11
@@ -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
@@ -1,4 +0,0 @@
1
- # TODO: Remove in Rake 11
2
-
3
- fail "ERROR: 'rake/gempackagetask' is obsolete and no longer supported. " +
4
- "Use 'rubygems/package_task' instead."
@@ -1,3 +0,0 @@
1
- # TODO: Remove in Rake 11
2
-
3
- require 'rake/ext/string'