laborantin 0.0.13 → 0.0.14
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/Rakefile +1 -1
- data/bin/labor +29 -8
- data/lib/laborantin.rb +1 -1
- metadata +2 -2
data/Rakefile
CHANGED
data/bin/labor
CHANGED
@@ -242,25 +242,46 @@ end
|
|
242
242
|
# Replay
|
243
243
|
|
244
244
|
Command.new('replay', 'scan existing runs, keep their raw results but rebuild all the products') do |c|
|
245
|
+
c.options[:scenarii] = []
|
246
|
+
c.options[:environments] = []
|
247
|
+
c.options[:methods] = []
|
248
|
+
c.options[:filter] = ''
|
245
249
|
c.opts do |o|
|
250
|
+
o.on('-m', '--methods=OPTIONAL', 'list of methods to call, else all the products will, you can provide non products methods as well, so beware the typo', Array) {|val| c.options[:methods] = val}
|
251
|
+
o.on('-s', '--scenarii=OPTIONAL', 'scenarii to build, comma separated', Array) {|val| c.options[:scenarii] = val}
|
252
|
+
o.on('-e', '--environments=OPTIONAL', 'environments to prepare, comma separated', Array) {|val| c.options[:environments] = val}
|
253
|
+
o.on('-p', '--parameters=OPTIONAL', 'filter parameters (ruby hash format)', String) {|val| c.options[:filter] = val}
|
246
254
|
o.on_tail('-h', '--help', 'shows this help and exit') {puts o; exit}
|
247
255
|
end
|
248
256
|
c.execute do
|
249
|
-
FileUtils.cd(args.first || '.')
|
250
|
-
Find.find('environments', 'scenarii') do |f|
|
251
|
-
require f if File.extname(f) == '.rb'
|
252
|
-
end
|
253
257
|
|
258
|
+
FileUtils.cd(args.first || '.')
|
259
|
+
loaded_envs = c.options[:environments].map{|e| "#{e}.rb"}
|
260
|
+
loaded_scii = c.options[:scenarii].map{|e| "#{e}.rb"}
|
261
|
+
find_and_require('environments', loaded_envs)
|
262
|
+
find_and_require('scenarii', loaded_scii)
|
263
|
+
|
254
264
|
envs = Laborantin::Environment.scan_resdir('results')
|
255
265
|
envs.each{|env| env.loggers << Logger.new(STDOUT)}
|
256
266
|
|
257
|
-
|
267
|
+
params = eval @options[:filter] unless @options[:filter].empty?
|
268
|
+
params.each_key{|k| params[k] = [params[k]].flatten} if params
|
269
|
+
params ||= {}
|
258
270
|
|
259
|
-
|
271
|
+
scs = envs.map{|env| env.populate }.flatten
|
260
272
|
|
261
273
|
scs.each do |sc|
|
262
|
-
|
263
|
-
|
274
|
+
to_filter = params.keys.find{|k| not params[k].include?(sc.params[k])}
|
275
|
+
unless to_filter
|
276
|
+
sc.environment.log "Replaying products #{sc.params.inspect}"
|
277
|
+
if c.options[:methods].empty?
|
278
|
+
sc.analyze!
|
279
|
+
else
|
280
|
+
c.options[:methods].each do |meth|
|
281
|
+
sc.send meth
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|
264
285
|
end
|
265
286
|
end
|
266
287
|
end
|
data/lib/laborantin.rb
CHANGED
@@ -28,7 +28,7 @@ require File.join(File.dirname(__FILE__), 'laborantin', 'core', 'environment')
|
|
28
28
|
require File.join(File.dirname(__FILE__), 'laborantin', 'core', 'monkey_patches')
|
29
29
|
|
30
30
|
module Laborantin
|
31
|
-
VERSION = '0.0.
|
31
|
+
VERSION = '0.0.14'
|
32
32
|
AUTHORS = ['Lucas Di Cioccio']
|
33
33
|
WEBSITE = 'http://dicioccio.fr'
|
34
34
|
LICENSE = 'GNU GPL version 3'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: laborantin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Di Cioccio Lucas
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-09-
|
12
|
+
date: 2009-09-18 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|