rake 0.9.6 → 10.0.0.beta.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 (54) hide show
  1. data/README.rdoc +12 -0
  2. data/Rakefile +0 -1
  3. data/doc/command_line_usage.rdoc +17 -60
  4. data/doc/release_notes/rake-0.9.3.rdoc +23 -70
  5. data/lib/rake.rb +0 -1
  6. data/lib/rake/application.rb +23 -63
  7. data/lib/rake/backtrace.rb +2 -3
  8. data/lib/rake/contrib/ftptools.rb +2 -2
  9. data/lib/rake/dsl_definition.rb +0 -26
  10. data/lib/rake/ext/module.rb +0 -39
  11. data/lib/rake/ext/string.rb +1 -2
  12. data/lib/rake/ext/time.rb +1 -2
  13. data/lib/rake/file_list.rb +1 -8
  14. data/lib/rake/file_utils.rb +1 -1
  15. data/lib/rake/phony.rb +2 -4
  16. data/lib/rake/rake_module.rb +7 -0
  17. data/lib/rake/ruby182_test_unit_fix.rb +0 -0
  18. data/lib/rake/runtest.rb +1 -2
  19. data/lib/rake/task.rb +8 -9
  20. data/lib/rake/task_manager.rb +0 -11
  21. data/lib/rake/testtask.rb +1 -4
  22. data/lib/rake/thread_history_display.rb +4 -7
  23. data/lib/rake/thread_pool.rb +76 -42
  24. data/lib/rake/version.rb +6 -7
  25. data/test/helper.rb +4 -44
  26. data/test/test_rake_application.rb +0 -47
  27. data/test/test_rake_application_options.rb +6 -39
  28. data/test/test_rake_backtrace.rb +11 -33
  29. data/test/test_rake_dsl.rb +0 -37
  30. data/test/test_rake_file_task.rb +4 -4
  31. data/test/test_rake_functional.rb +8 -32
  32. data/test/test_rake_rake_test_loader.rb +1 -1
  33. data/test/test_rake_reduce_compat.rb +5 -33
  34. data/test/test_rake_task_manager_argument_resolution.rb +0 -5
  35. data/test/test_rake_task_with_arguments.rb +6 -17
  36. data/test/test_rake_thread_pool.rb +24 -1
  37. data/test/test_rake_top_level_functions.rb +0 -40
  38. data/test/test_thread_history_display.rb +14 -14
  39. metadata +3 -22
  40. data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  41. data/doc/release_notes/rake-0.9.4.rdoc +0 -110
  42. data/doc/release_notes/rake-0.9.5.rdoc +0 -114
  43. data/doc/release_notes/rake-0.9.6.rdoc +0 -127
  44. data/lib/rake/classic_namespace.rb +0 -11
  45. data/lib/rake/contrib/sys.rb +0 -192
  46. data/lib/rake/gempackagetask.rb +0 -15
  47. data/lib/rake/private_reader.rb +0 -20
  48. data/lib/rake/promise.rb +0 -99
  49. data/lib/rake/rdoctask.rb +0 -234
  50. data/lib/rake/trace_output.rb +0 -19
  51. data/test/test_private_reader.rb +0 -42
  52. data/test/test_rake_rdoc_task.rb +0 -83
  53. data/test/test_sys.rb +0 -20
  54. data/test/test_trace_output.rb +0 -43
@@ -10,7 +10,7 @@ class TestRakeRakeTestLoader < Rake::TestCase
10
10
 
11
11
  ARGV.replace %w[foo.rb test_*.rb -v]
12
12
 
13
- load File.join(@rake_lib, 'rake/rake_test_loader.rb')
13
+ load File.join(@orig_PWD, 'lib/rake/rake_test_loader.rb')
14
14
 
15
15
  assert_equal %w[-v], ARGV
16
16
  ensure
@@ -4,9 +4,9 @@ require 'open3'
4
4
  class TestRakeReduceCompat < Rake::TestCase
5
5
  # TODO: factor out similar code in test_rake_functional.rb
6
6
  def rake(*args)
7
- Open3.popen3(RUBY, "-I", @rake_lib, @rake_exec, *args) { |_, out, _, _|
8
- out.read
9
- }
7
+ lib = File.join(@orig_PWD, "lib")
8
+ bin_rake = File.join(@orig_PWD, "bin", "rake")
9
+ Open3.popen3(RUBY, "-I", lib, bin_rake, *args) { |_, out, _, _| out.read }
10
10
  end
11
11
 
12
12
  def invoke_normal(task_name)
@@ -28,38 +28,10 @@ class TestRakeReduceCompat < Rake::TestCase
28
28
  end
29
29
  }
30
30
 
31
- assert_equal %{"method"}, invoke_normal(:check_task).chomp
32
- assert_equal %{"method"}, invoke_normal(:check_file).chomp
31
+ assert_equal "nil", invoke_normal(:check_task).chomp
32
+ assert_equal "nil", invoke_normal(:check_file).chomp
33
33
 
34
34
  assert_equal "nil", invoke_reduce_compat(:check_task).chomp
35
35
  assert_equal "nil", invoke_reduce_compat(:check_file).chomp
36
36
  end
37
-
38
- def test_no_classic_namespace
39
- rakefile %q{
40
- task :check_task do
41
- begin
42
- Task
43
- print "present"
44
- rescue NameError
45
- print "absent"
46
- end
47
- end
48
-
49
- task :check_file_task do
50
- begin
51
- FileTask
52
- print "present"
53
- rescue NameError
54
- print "absent"
55
- end
56
- end
57
- }
58
-
59
- assert_equal "present", invoke_normal(:check_task)
60
- assert_equal "present", invoke_normal(:check_file_task)
61
-
62
- assert_equal "absent", invoke_reduce_compat(:check_task)
63
- assert_equal "absent", invoke_reduce_compat(:check_file_task)
64
- end
65
37
  end
@@ -19,11 +19,6 @@ class TestRakeTaskManagerArgumentResolution < Rake::TestCase
19
19
  assert_equal [:t, [], [:x]], task(:t => :x)
20
20
  assert_equal [:t, [], [:x, :y]], task(:t => [:x, :y])
21
21
 
22
- assert_equal [:t, [:a, :b], []], task(:t, :a, :b)
23
- assert_equal [:t, [], [:x]], task(:t, :needs => :x)
24
- assert_equal [:t, [:a, :b], [:x]], task(:t, :a, :b, :needs => :x)
25
- assert_equal [:t, [:a, :b], [:x, :y]], task(:t, :a, :b, :needs => [:x, :y])
26
-
27
22
  assert_equal [:t, [:a, :b], []], task(:t, [:a, :b])
28
23
  assert_equal [:t, [:a, :b], [:x]], task(:t, [:a, :b] => :x)
29
24
  assert_equal [:t, [:a, :b], [:x, :y]], task(:t, [:a, :b] => [:x, :y])
@@ -33,13 +33,11 @@ class TestRakeTaskWithArguments < Rake::TestCase
33
33
  assert_equal ["pre"], t.prerequisites
34
34
  end
35
35
 
36
- def test_name_args_and_explicit_needs
37
- ignore_deprecations do
38
- t = task(:t, :x, :y, :needs => [:pre])
39
- assert_equal "t", t.name
40
- assert_equal [:x, :y], t.arg_names
41
- assert_equal ["pre"], t.prerequisites
42
- end
36
+ def test_name_args_and_prereqs
37
+ t = task(:t, [:x, :y] => [:pre])
38
+ assert_equal "t", t.name
39
+ assert_equal [:x, :y], t.arg_names
40
+ assert_equal ["pre"], t.prerequisites
43
41
  end
44
42
 
45
43
  def test_illegal_keys_in_task_name_hash
@@ -142,7 +140,7 @@ class TestRakeTaskWithArguments < Rake::TestCase
142
140
  assert_equal "1.2", value
143
141
  end
144
142
 
145
- def test_args_not_passed_if_no_prereq_names_on_task
143
+ def test_args_not_passed_if_no_prereq_names
146
144
  pre = task(:pre) { |t, args|
147
145
  assert_equal({}, args.to_hash)
148
146
  assert_equal "bill", args.name
@@ -151,15 +149,6 @@ class TestRakeTaskWithArguments < Rake::TestCase
151
149
  t.invoke("bill", "1.2")
152
150
  end
153
151
 
154
- def test_args_not_passed_if_no_prereq_names_on_multitask
155
- pre = task(:pre) { |t, args|
156
- assert_equal({}, args.to_hash)
157
- assert_equal "bill", args.name
158
- }
159
- t = multitask(:t, [:name, :rev] => [:pre])
160
- t.invoke("bill", "1.2")
161
- end
162
-
163
152
  def test_args_not_passed_if_no_arg_names
164
153
  pre = task(:pre, :rev) { |t, args|
165
154
  assert_equal({}, args.to_hash)
@@ -69,7 +69,7 @@ class TestRakeTestThreadPool < Rake::TestCase
69
69
  }
70
70
 
71
71
  pool.join
72
- assert_equal true, pool.__send__(:__queue__).empty?, "queue should be empty"
72
+ assert_equal true, pool.__send__(:__queue__).empty?
73
73
  end
74
74
 
75
75
  # test that throwing an exception way down in the blocks propagates
@@ -88,6 +88,29 @@ class TestRakeTestThreadPool < Rake::TestCase
88
88
 
89
89
  end
90
90
 
91
+ def test_pool_always_has_max_threads_doing_work
92
+ # here we need to test that even if some threads are halted, there
93
+ # are always at least max_threads that are not sleeping.
94
+ pool = ThreadPool.new(2)
95
+ initial_sleep_time = 0.2
96
+ future1 = pool.future { sleep initial_sleep_time }
97
+ dependent_futures = 5.times.collect { pool.future{ future1.value } }
98
+ future2 = pool.future { sleep initial_sleep_time }
99
+ future3 = pool.future { sleep 0.01 }
100
+
101
+ sleep initial_sleep_time / 2.0 # wait for everything to queue up
102
+
103
+ # at this point, we should have 5 threads sleeping depending on future1, and
104
+ # two threads doing work on future1 and future 2.
105
+ assert_equal pool.__send__(:__threads__).count, 7
106
+
107
+ # future 3 is in the queue because there aren't enough active threads to work on it.
108
+ assert_equal pool.__send__(:__queue__).size, 1
109
+
110
+ [future1, dependent_futures, future2, future3].flatten.each { |f| f.value }
111
+ pool.join
112
+ end
113
+
91
114
  def test_pool_prevents_deadlock
92
115
  pool = ThreadPool.new(5)
93
116
 
@@ -65,46 +65,6 @@ class TestRakeTopLevelFunctions < Rake::TestCase
65
65
  Rake::FileUtilsExt.nowrite_flag = false
66
66
  end
67
67
 
68
- def test_missing_constants_task
69
- Object.const_missing(:Task)
70
-
71
- expected = [
72
- [[:const_warning, :Task], nil]
73
- ]
74
-
75
- assert_equal expected, @app.called
76
- end
77
-
78
- def test_missing_constants_file_task
79
- Object.const_missing(:FileTask)
80
-
81
- expected = [
82
- [[:const_warning, :FileTask], nil]
83
- ]
84
-
85
- assert_equal expected, @app.called
86
- end
87
-
88
- def test_missing_constants_file_creation_task
89
- Object.const_missing(:FileCreationTask)
90
-
91
- expected = [
92
- [[:const_warning, :FileCreationTask], nil]
93
- ]
94
-
95
- assert_equal expected, @app.called
96
- end
97
-
98
- def test_missing_constants_rake_app
99
- Object.const_missing(:RakeApp)
100
-
101
- expected = [
102
- [[:const_warning, :RakeApp], nil]
103
- ]
104
-
105
- assert_equal expected, @app.called
106
- end
107
-
108
68
  def test_missing_other_constant
109
69
  assert_raises(NameError) do Object.const_missing(:Xyz) end
110
70
  end
@@ -18,7 +18,7 @@ class TestThreadHistoryDisplay < Rake::TestCase
18
18
  end
19
19
 
20
20
  def test_item_queued
21
- @stats << event(:item_queued, :item_id => 123)
21
+ @stats << event(:item_queued, item_id: 123)
22
22
  out, _ = capture_io do
23
23
  @display.show
24
24
  end
@@ -26,7 +26,7 @@ class TestThreadHistoryDisplay < Rake::TestCase
26
26
  end
27
27
 
28
28
  def test_item_dequeued
29
- @stats << event(:item_dequeued, :item_id => 123)
29
+ @stats << event(:item_dequeued, item_id: 123)
30
30
  out, _ = capture_io do
31
31
  @display.show
32
32
  end
@@ -34,8 +34,8 @@ class TestThreadHistoryDisplay < Rake::TestCase
34
34
  end
35
35
 
36
36
  def test_multiple_items
37
- @stats << event(:item_queued, :item_id => 123)
38
- @stats << event(:item_queued, :item_id => 124)
37
+ @stats << event(:item_queued, item_id: 123)
38
+ @stats << event(:item_queued, item_id: 124)
39
39
  out, _ = capture_io do
40
40
  @display.show
41
41
  end
@@ -44,7 +44,7 @@ class TestThreadHistoryDisplay < Rake::TestCase
44
44
  end
45
45
 
46
46
  def test_waiting
47
- @stats << event(:waiting, :item_id => 123)
47
+ @stats << event(:waiting, item_id: 123)
48
48
  out, _ = capture_io do
49
49
  @display.show
50
50
  end
@@ -52,7 +52,7 @@ class TestThreadHistoryDisplay < Rake::TestCase
52
52
  end
53
53
 
54
54
  def test_continue
55
- @stats << event(:continue, :item_id => 123)
55
+ @stats << event(:continue, item_id: 123)
56
56
  out, _ = capture_io do
57
57
  @display.show
58
58
  end
@@ -60,29 +60,29 @@ class TestThreadHistoryDisplay < Rake::TestCase
60
60
  end
61
61
 
62
62
  def test_thread_deleted
63
- @stats << event(:thread_deleted, :deleted_thread => 123456, :thread_count => 12)
63
+ @stats << event(:thread_deleted, deleted_thread: 123456, thread_count: 12)
64
64
  out, _ = capture_io do
65
65
  @display.show
66
66
  end
67
- assert_match(/^ *1000000 +A +thread_deleted( +deleted_thread:B| +thread_count:12){2}$/, out)
67
+ assert_match(/^ *1000000 +A +thread_deleted +deleted_thread:B +thread_count:12$/, out)
68
68
  end
69
69
 
70
70
  def test_thread_created
71
- @stats << event(:thread_created, :new_thread => 123456, :thread_count => 13)
71
+ @stats << event(:thread_created, new_thread: 123456, thread_count: 13)
72
72
  out, _ = capture_io do
73
73
  @display.show
74
74
  end
75
- assert_match(/^ *1000000 +A +thread_created( +new_thread:B| +thread_count:13){2}$/, out)
75
+ assert_match(/^ *1000000 +A +thread_created +new_thread:B +thread_count:13$/, out)
76
76
  end
77
77
 
78
78
  private
79
79
 
80
80
  def event(type, data={})
81
81
  result = {
82
- :event => type,
83
- :time => @time / 1_000_000.0,
84
- :data => data,
85
- :thread => Thread.current.object_id
82
+ event: type,
83
+ time: @time / 1_000_000.0,
84
+ data: data,
85
+ thread: Thread.current.object_id
86
86
  }
87
87
  @time += 1
88
88
  result
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.6
5
- prerelease:
4
+ version: 10.0.0.beta.1
5
+ prerelease: 7
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jim Weirich
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-12 00:00:00.000000000 Z
12
+ date: 2012-10-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -62,12 +62,8 @@ extra_rdoc_files:
62
62
  - doc/release_notes/rake-0.8.7.rdoc
63
63
  - doc/release_notes/rake-0.9.0.rdoc
64
64
  - doc/release_notes/rake-0.9.1.rdoc
65
- - doc/release_notes/rake-0.9.2.2.rdoc
66
65
  - doc/release_notes/rake-0.9.2.rdoc
67
66
  - doc/release_notes/rake-0.9.3.rdoc
68
- - doc/release_notes/rake-0.9.4.rdoc
69
- - doc/release_notes/rake-0.9.5.rdoc
70
- - doc/release_notes/rake-0.9.6.rdoc
71
67
  files:
72
68
  - .gemtest
73
69
  - install.rb
@@ -81,7 +77,6 @@ files:
81
77
  - lib/rake/alt_system.rb
82
78
  - lib/rake/application.rb
83
79
  - lib/rake/backtrace.rb
84
- - lib/rake/classic_namespace.rb
85
80
  - lib/rake/clean.rb
86
81
  - lib/rake/cloneable.rb
87
82
  - lib/rake/contrib/compositepublisher.rb
@@ -89,7 +84,6 @@ files:
89
84
  - lib/rake/contrib/publisher.rb
90
85
  - lib/rake/contrib/rubyforgepublisher.rb
91
86
  - lib/rake/contrib/sshpublisher.rb
92
- - lib/rake/contrib/sys.rb
93
87
  - lib/rake/default_loader.rb
94
88
  - lib/rake/dsl_definition.rb
95
89
  - lib/rake/early_time.rb
@@ -102,7 +96,6 @@ files:
102
96
  - lib/rake/file_task.rb
103
97
  - lib/rake/file_utils.rb
104
98
  - lib/rake/file_utils_ext.rb
105
- - lib/rake/gempackagetask.rb
106
99
  - lib/rake/invocation_chain.rb
107
100
  - lib/rake/invocation_exception_mixin.rb
108
101
  - lib/rake/loaders/makefile.rb
@@ -111,12 +104,9 @@ files:
111
104
  - lib/rake/packagetask.rb
112
105
  - lib/rake/pathmap.rb
113
106
  - lib/rake/phony.rb
114
- - lib/rake/private_reader.rb
115
- - lib/rake/promise.rb
116
107
  - lib/rake/pseudo_status.rb
117
108
  - lib/rake/rake_module.rb
118
109
  - lib/rake/rake_test_loader.rb
119
- - lib/rake/rdoctask.rb
120
110
  - lib/rake/ruby182_test_unit_fix.rb
121
111
  - lib/rake/rule_recursion_overflow_error.rb
122
112
  - lib/rake/runtest.rb
@@ -128,12 +118,10 @@ files:
128
118
  - lib/rake/testtask.rb
129
119
  - lib/rake/thread_history_display.rb
130
120
  - lib/rake/thread_pool.rb
131
- - lib/rake/trace_output.rb
132
121
  - lib/rake/version.rb
133
122
  - lib/rake/win32.rb
134
123
  - test/file_creation.rb
135
124
  - test/helper.rb
136
- - test/test_private_reader.rb
137
125
  - test/test_rake.rb
138
126
  - test/test_rake_application.rb
139
127
  - test/test_rake_application_options.rb
@@ -161,7 +149,6 @@ files:
161
149
  - test/test_rake_path_map_partial.rb
162
150
  - test/test_rake_pseudo_status.rb
163
151
  - test/test_rake_rake_test_loader.rb
164
- - test/test_rake_rdoc_task.rb
165
152
  - test/test_rake_reduce_compat.rb
166
153
  - test/test_rake_require.rb
167
154
  - test/test_rake_rules.rb
@@ -176,9 +163,7 @@ files:
176
163
  - test/test_rake_thread_pool.rb
177
164
  - test/test_rake_top_level_functions.rb
178
165
  - test/test_rake_win32.rb
179
- - test/test_sys.rb
180
166
  - test/test_thread_history_display.rb
181
- - test/test_trace_output.rb
182
167
  - doc/command_line_usage.rdoc
183
168
  - doc/example/Rakefile1
184
169
  - doc/example/Rakefile2
@@ -210,12 +195,8 @@ files:
210
195
  - doc/release_notes/rake-0.8.7.rdoc
211
196
  - doc/release_notes/rake-0.9.0.rdoc
212
197
  - doc/release_notes/rake-0.9.1.rdoc
213
- - doc/release_notes/rake-0.9.2.2.rdoc
214
198
  - doc/release_notes/rake-0.9.2.rdoc
215
199
  - doc/release_notes/rake-0.9.3.rdoc
216
- - doc/release_notes/rake-0.9.4.rdoc
217
- - doc/release_notes/rake-0.9.5.rdoc
218
- - doc/release_notes/rake-0.9.6.rdoc
219
200
  homepage: http://rake.rubyforge.org
220
201
  licenses: []
221
202
  post_install_message:
@@ -1,55 +0,0 @@
1
- = Rake 0.9.3 Released
2
-
3
- Rake version 0.9.3 is mainly bug fixes.
4
-
5
- == Changes
6
-
7
- * The rake test loader now removes arguments it has processed. Issue #51
8
- * Rake::TaskArguments now responds to #values_at
9
- * RakeFileUtils.verbose_flag = nil silences output the same as 0.8.7
10
- * Rake tests are now directory-independent
11
- * Rake tests are no longer require flexmock
12
- * Commands constant is no longer polluting top level namespace.
13
- * Show only the interesting portion of the backtrace by default (James M. Lawrence).
14
- * Added --reduce-compat option to remove backward compatible DSL hacks (James M. Lawrence).
15
-
16
- == What is Rake
17
-
18
- Rake is a build tool similar to the make program in many ways. But
19
- instead of cryptic make recipes, Rake uses standard Ruby code to
20
- declare tasks and dependencies. You have the full power of a modern
21
- scripting language built right into your build tool.
22
-
23
- == Availability
24
-
25
- The easiest way to get and install rake is via RubyGems ...
26
-
27
- gem install rake (you may need root/admin privileges)
28
-
29
- Otherwise, you can get it from the more traditional places:
30
-
31
- Home Page:: http://rake.rubyforge.org/
32
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
33
- GitHub:: git://github.com/jimweirich/rake.git
34
-
35
- == Thanks
36
-
37
- As usual, it was input from users that drove a alot of these changes. The
38
- following people either contributed patches, made suggestions or made
39
- otherwise helpful comments. Thanks to ...
40
-
41
- * James M. Lawrence (quix)
42
- * Roger Pack
43
- * Cezary Baginski
44
- * Sean Scot August Moon
45
- * R.T. Lechow
46
- * Alex Chaffee
47
- * James Tucker
48
- * Matthias Lüdtke
49
- * Santiago Pastorino
50
-
51
- Also, bit thanks to Eric Hodel for assisting with getting this release
52
- out the door (where "assisting" includes, but is not by any means
53
- limited to, "pushing" me to get it done).
54
-
55
- -- Jim Weirich