rbbt-util 5.17.17 → 5.17.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/rbbt +4 -0
- data/lib/rbbt/tsv/parallel/traverse.rb +2 -1
- data/lib/rbbt/util/log.rb +13 -2
- data/lib/rbbt/workflow/step/run.rb +16 -19
- data/lib/rbbt/workflow/step.rb +33 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df2f1977b609e8ee620bf7f2a5318664c7ed7cbf
|
4
|
+
data.tar.gz: f8107c1ea077494713357cfe4b37289fcb1103ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5dfbc75b5b4cb08522333f438d0a40a240c29a17d3ebd37139a67d4dc7a5b236d6424b09eeb7a533d9e6f1fda1e133cca9db102de06d56ed9d9667a1c5be3855
|
7
|
+
data.tar.gz: 98a1e891119afbf2a454efd0e5ebc690be36f6deadb474c8ed9b3294f866522f3c568fe1571624015ca6653e29dffb229fef6d4074dc7d5a7ab702f06fadd1c5
|
data/bin/rbbt
CHANGED
@@ -36,6 +36,7 @@ $ rbbt <command> <subcommand> ... -a --arg1 --arg2='value' --arg3 'another-value
|
|
36
36
|
|
37
37
|
|
38
38
|
--log* #{Log.color :yellow, "Log level from 0 (debug) 6 (errors)"}
|
39
|
+
--log_file* #{Log.color :yellow, "Divert all Rbbt logs from STDERR to the file"}
|
39
40
|
--dev* #{Log.color :yellow, "Find development libraries in the directory specified"}
|
40
41
|
-cd--command_dir* #{Log.color :yellow, "Directory from where to load command scripts"}
|
41
42
|
--profile #{Log.color :yellow, "Profile execution"}
|
@@ -50,6 +51,9 @@ EOF
|
|
50
51
|
|
51
52
|
locate = options.delete :locate_file
|
52
53
|
|
54
|
+
if options[:log_file]
|
55
|
+
Log.logfile(options[:log_file])
|
56
|
+
end
|
53
57
|
if options[:log]
|
54
58
|
Log.severity = options[:log].to_i
|
55
59
|
else
|
@@ -512,7 +512,8 @@ module TSV
|
|
512
512
|
obj_options = obj.respond_to?(:options) ? obj.options : {}
|
513
513
|
dumper = TSV::Dumper.new obj_options.merge(options)
|
514
514
|
dumper.init
|
515
|
-
|
515
|
+
_options = options.merge(obj_options).merge(:into => dumper)
|
516
|
+
traverse(obj, _options, &block)
|
516
517
|
return dumper
|
517
518
|
end
|
518
519
|
|
data/lib/rbbt/util/log.rb
CHANGED
@@ -88,8 +88,19 @@ module Log
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
-
def self.logfile
|
92
|
-
|
91
|
+
def self.logfile(file=nil)
|
92
|
+
if file.nil?
|
93
|
+
@logfile
|
94
|
+
else
|
95
|
+
case file
|
96
|
+
when String
|
97
|
+
@logfile = File.open(file, :mode => 'a')
|
98
|
+
when IO, File
|
99
|
+
@logfile = file
|
100
|
+
else
|
101
|
+
raise "Unkown logfile format: #{file.inspect}"
|
102
|
+
end
|
103
|
+
end
|
93
104
|
end
|
94
105
|
|
95
106
|
WHITE, DARK, GREEN, YELLOW, RED = Color::SOLARIZED.values_at :base0, :base00, :green, :yellow, :magenta
|
@@ -124,36 +124,33 @@ class Step
|
|
124
124
|
|
125
125
|
def run_dependencies
|
126
126
|
@seen ||= []
|
127
|
+
seen_paths ||= Set.new
|
128
|
+
|
127
129
|
dependencies.uniq.each do |dependency|
|
128
|
-
|
129
|
-
|
130
|
-
@seen.concat dependency.rec_dependencies
|
130
|
+
dependency_path = dependency.path
|
131
|
+
next if seen_paths.include? dependency_path
|
132
|
+
@seen.concat dependency.rec_dependencies
|
133
|
+
seen_paths.union(dependency.rec_dependencies.collect{|d| d.path})
|
131
134
|
@seen << dependency
|
132
|
-
|
135
|
+
seen_paths << dependency_path
|
133
136
|
end
|
134
137
|
|
138
|
+
@seen.uniq!
|
139
|
+
@seen.delete self
|
140
|
+
|
135
141
|
return if @seen.empty?
|
136
142
|
|
143
|
+
log :dependencies, "#{Log.color :magenta, "Dependencies"} #{Log.color :yellow, task.name.to_s || ""}"
|
144
|
+
dupping = []
|
137
145
|
@seen.each do |dependency|
|
138
|
-
next if dependency
|
139
|
-
|
140
|
-
|
141
|
-
else
|
142
|
-
dependency.clean if dependency.error? or dependency.aborted? or dependency.status.nil? or
|
143
|
-
(dependency.done? and dependency.dirty?) or
|
144
|
-
not (dependency.done? or dependency.running?)
|
145
|
-
end
|
146
|
+
next if (dependency.done? and not dependency.dirty?) or (dependency.streaming? and dependency.running?)
|
147
|
+
dependency.clean
|
148
|
+
dupping << dependency unless dependencies.include? dependency
|
146
149
|
end
|
147
150
|
|
148
|
-
|
149
|
-
next if dependency == self
|
150
|
-
next unless dependencies.include? dependency
|
151
|
-
dependency.dup_inputs
|
152
|
-
end
|
151
|
+
dupping.each{|dep| dep.dup_inputs}
|
153
152
|
|
154
|
-
log :dependencies, "#{Log.color :magenta, "Dependencies"} #{Log.color :yellow, task.name.to_s || ""}"
|
155
153
|
@seen.each do |dependency|
|
156
|
-
next if dependency == self
|
157
154
|
next unless dependencies.include? dependency
|
158
155
|
Log.info "#{Log.color :cyan, "dependency"} #{Log.color :yellow, task.name.to_s || ""} => #{Log.color :yellow, dependency.task_name.to_s || ""} -- #{Log.color :blue, dependency.path}"
|
159
156
|
begin
|
data/lib/rbbt/workflow/step.rb
CHANGED
@@ -66,8 +66,11 @@ class Step
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def path
|
69
|
-
|
70
|
-
|
69
|
+
if Proc === @path
|
70
|
+
@path = Path.setup(Misc.sanitize_filename(@path.call))
|
71
|
+
else
|
72
|
+
@path
|
73
|
+
end
|
71
74
|
end
|
72
75
|
|
73
76
|
class << self
|
@@ -182,6 +185,27 @@ class Step
|
|
182
185
|
self
|
183
186
|
end
|
184
187
|
|
188
|
+
#def rec_dependencies
|
189
|
+
|
190
|
+
# # A step result with no info_file means that it was manually
|
191
|
+
# # placed. In that case, do not consider its dependencies
|
192
|
+
# return [] if Open.exists?(self.path.to_s) and not Open.exists? self.info_file
|
193
|
+
|
194
|
+
# return [] if dependencies.nil? or dependencies.empty?
|
195
|
+
|
196
|
+
# new_dependencies = []
|
197
|
+
# dependencies.each{|step|
|
198
|
+
# new_dependencies.concat step.rec_dependencies
|
199
|
+
# new_dependencies << step
|
200
|
+
# }
|
201
|
+
# new_dependencies.uniq!
|
202
|
+
|
203
|
+
# dependencies = self.dependencies ? self.dependencies + new_dependencies : new_dependencies
|
204
|
+
# dependencies.flatten!
|
205
|
+
# dependencies.uniq!
|
206
|
+
# dependencies
|
207
|
+
#end
|
208
|
+
|
185
209
|
def rec_dependencies
|
186
210
|
|
187
211
|
# A step result with no info_file means that it was manually
|
@@ -189,14 +213,13 @@ class Step
|
|
189
213
|
return [] if Open.exists?(self.path.to_s) and not Open.exists? self.info_file
|
190
214
|
|
191
215
|
return [] if dependencies.nil? or dependencies.empty?
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
dependencies
|
216
|
+
|
217
|
+
new_dependencies = []
|
218
|
+
dependencies.each{|step|
|
219
|
+
new_dependencies.concat step.rec_dependencies
|
220
|
+
new_dependencies << step
|
221
|
+
}
|
222
|
+
new_dependencies.uniq
|
200
223
|
end
|
201
224
|
|
202
225
|
def recursive_clean
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.17.
|
4
|
+
version: 5.17.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|