pwrake 0.9.3 → 0.9.4
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.
- data/lib/pwrake/application.rb +10 -10
- data/lib/pwrake/master.rb +5 -10
- data/lib/pwrake/task_algorithm.rb +2 -0
- data/lib/pwrake/task_queue.rb +3 -2
- data/lib/pwrake/version.rb +1 -1
- data/spec/010/Rakefile +3 -0
- data/spec/pwrake_spec.rb +5 -0
- metadata +23 -39
data/lib/pwrake/application.rb
CHANGED
@@ -29,16 +29,21 @@ module Pwrake
|
|
29
29
|
@master.pwrake_options
|
30
30
|
end
|
31
31
|
|
32
|
+
def start_worker
|
33
|
+
@master.start
|
34
|
+
end
|
32
35
|
|
33
36
|
# Run the Pwrake application.
|
34
37
|
def run
|
35
38
|
standard_exception_handling do
|
36
|
-
@master = Master.new
|
37
39
|
init("pwrake")
|
38
|
-
@master.
|
40
|
+
@master = Master.new
|
39
41
|
load_rakefile
|
40
|
-
|
41
|
-
|
42
|
+
begin
|
43
|
+
top_level
|
44
|
+
ensure
|
45
|
+
@master.finish
|
46
|
+
end
|
42
47
|
end
|
43
48
|
end
|
44
49
|
|
@@ -50,12 +55,7 @@ module Pwrake
|
|
50
55
|
elsif options.show_prereqs
|
51
56
|
display_prerequisites
|
52
57
|
else
|
53
|
-
|
54
|
-
@master.start
|
55
|
-
top_level_tasks.each { |task_name| invoke_task(task_name) }
|
56
|
-
ensure
|
57
|
-
@master.finish
|
58
|
-
end
|
58
|
+
top_level_tasks.each { |task_name| invoke_task(task_name) }
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
data/lib/pwrake/master.rb
CHANGED
@@ -18,18 +18,13 @@ module Pwrake
|
|
18
18
|
attr_reader :shell_set
|
19
19
|
|
20
20
|
def initialize
|
21
|
-
|
22
|
-
|
23
|
-
def init
|
24
|
-
init_option # Pwrake::Option
|
25
|
-
end
|
26
|
-
|
27
|
-
def setup
|
21
|
+
init_option # Pwrake::Option
|
28
22
|
setup_option # Pwrake::Option
|
23
|
+
@started = false
|
29
24
|
end
|
30
25
|
|
31
26
|
def start
|
32
|
-
|
27
|
+
return if @task_queue
|
33
28
|
@task_queue = @queue_class.new(@core_list)
|
34
29
|
@task_queue.enable_steal = !Rake.application.options.disable_steal
|
35
30
|
@shell_set = []
|
@@ -42,8 +37,8 @@ module Pwrake
|
|
42
37
|
def finish
|
43
38
|
Log.debug "-- Master#finish called"
|
44
39
|
@task_queue.finish if @task_queue
|
45
|
-
@threads.each{|t| t.join }
|
46
|
-
@counter.print
|
40
|
+
@threads.each{|t| t.join } if @threads
|
41
|
+
@counter.print if @counter
|
47
42
|
finish_option # Pwrake::Option
|
48
43
|
end
|
49
44
|
|
@@ -15,6 +15,7 @@ module Pwrake
|
|
15
15
|
|
16
16
|
|
17
17
|
def invoke_modify(*args)
|
18
|
+
application.start_worker
|
18
19
|
task_args = TaskArguments.new(arg_names, args)
|
19
20
|
flag = application.pwrake_options['HALT_QUEUE_WHILE_SEARCH']
|
20
21
|
start_time = Time.now
|
@@ -26,6 +27,7 @@ module Pwrake
|
|
26
27
|
search_with_call_chain(self, task_args, InvocationChain::EMPTY)
|
27
28
|
end
|
28
29
|
Log.info "-- search_tasks %.6fs" % (Time.now-start_time)
|
30
|
+
return if @already_invoked
|
29
31
|
|
30
32
|
if conn = Pwrake.current_shell
|
31
33
|
@waiting_thread = nil
|
data/lib/pwrake/task_queue.rb
CHANGED
@@ -36,10 +36,10 @@ module Pwrake
|
|
36
36
|
|
37
37
|
def enq_synchronize
|
38
38
|
if @halt
|
39
|
-
yield
|
39
|
+
ret = yield
|
40
40
|
else
|
41
41
|
@mutex.synchronize do
|
42
|
-
yield
|
42
|
+
ret = yield
|
43
43
|
enq_finish
|
44
44
|
end
|
45
45
|
@cv.broadcast
|
@@ -48,6 +48,7 @@ module Pwrake
|
|
48
48
|
Log.debug "--- run #{th}";
|
49
49
|
th.run
|
50
50
|
end
|
51
|
+
ret
|
51
52
|
end
|
52
53
|
|
53
54
|
def enq_finish
|
data/lib/pwrake/version.rb
CHANGED
data/spec/010/Rakefile
ADDED
data/spec/pwrake_spec.rb
CHANGED
metadata
CHANGED
@@ -1,33 +1,24 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: pwrake
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.4
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 9
|
9
|
-
- 3
|
10
|
-
version: 0.9.3
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Masahiro TANAKA
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2012-12-26 00:00:00 Z
|
12
|
+
date: 2013-01-04 00:00:00.000000000 Z
|
19
13
|
dependencies: []
|
20
|
-
|
21
14
|
description: Parallel workflow extension for Rake
|
22
|
-
email:
|
15
|
+
email:
|
23
16
|
- masa16.tanaka@gmail.com
|
24
|
-
executables:
|
17
|
+
executables:
|
25
18
|
- pwrake
|
26
19
|
extensions: []
|
27
|
-
|
28
20
|
extra_rdoc_files: []
|
29
|
-
|
30
|
-
files:
|
21
|
+
files:
|
31
22
|
- .gitignore
|
32
23
|
- Gemfile
|
33
24
|
- LICENSE.txt
|
@@ -65,43 +56,35 @@ files:
|
|
65
56
|
- spec/008/pwrake_conf.yaml
|
66
57
|
- spec/009/Rakefile
|
67
58
|
- spec/009/pwrake_conf.yaml
|
59
|
+
- spec/010/Rakefile
|
68
60
|
- spec/helper.rb
|
69
61
|
- spec/hosts
|
70
62
|
- spec/pwrake_spec.rb
|
71
63
|
homepage: http://masa16.github.com/pwrake
|
72
64
|
licenses: []
|
73
|
-
|
74
65
|
post_install_message:
|
75
66
|
rdoc_options: []
|
76
|
-
|
77
|
-
require_paths:
|
67
|
+
require_paths:
|
78
68
|
- lib
|
79
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
80
70
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
86
|
-
- 0
|
87
|
-
version: "0"
|
88
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ! '>='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
76
|
none: false
|
90
|
-
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
|
94
|
-
segments:
|
95
|
-
- 0
|
96
|
-
version: "0"
|
77
|
+
requirements:
|
78
|
+
- - ! '>='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
97
81
|
requirements: []
|
98
|
-
|
99
82
|
rubyforge_project:
|
100
|
-
rubygems_version: 1.8.
|
83
|
+
rubygems_version: 1.8.23
|
101
84
|
signing_key:
|
102
85
|
specification_version: 3
|
103
86
|
summary: Adding Parallel and Distributed feature to Rake
|
104
|
-
test_files:
|
87
|
+
test_files:
|
105
88
|
- spec/001/Rakefile
|
106
89
|
- spec/002/Rakefile
|
107
90
|
- spec/003/Rakefile
|
@@ -114,6 +97,7 @@ test_files:
|
|
114
97
|
- spec/008/pwrake_conf.yaml
|
115
98
|
- spec/009/Rakefile
|
116
99
|
- spec/009/pwrake_conf.yaml
|
100
|
+
- spec/010/Rakefile
|
117
101
|
- spec/helper.rb
|
118
102
|
- spec/hosts
|
119
103
|
- spec/pwrake_spec.rb
|