basechip 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -1,4 +1,4 @@
1
- # This file contains the configuration for the project 'usbhostslave', and is
1
+ # This file contains the configuration for the project '<%= BaseChip.project %>', and is
2
2
  # executed from within that project
3
3
 
4
4
 
@@ -12,7 +12,7 @@ default_modes
12
12
 
13
13
  # A directory needs to be set up as a landing place for installed tools and
14
14
  # blocks not stored in the repository.
15
- shared_directory '/home/poulter/silicon/basechip/test/examples/soc2/shared'
15
+ shared_directory '<%= $shared_directory %>'
16
16
 
17
17
 
18
18
  # These routines search for and execute various settings files in the base_chip/
@@ -54,17 +54,6 @@ discover_cluster_types # Find all files in base_chip/cluster_types, add a
54
54
  configuration :default do |c|
55
55
  end
56
56
 
57
- block :wrapper do |b|
58
- b.action :icarun do |a|
59
- a.pass_regex /Finished all tests/
60
- end
61
- end
62
- block :usbDevice do |b|
63
- b.action :icarun do |a|
64
- a.pass_regex /Finished all tests/
65
- end
66
- end
67
-
68
57
  # # If discover_blocks isn't being used, you can define blocks and
69
58
  # # configurations/actions applicable for all blocks as shown below
70
59
  # block :block_name do |b|
@@ -1,26 +1,15 @@
1
1
 
2
- project :<%= BaseChip.project %> do |p|
3
-
4
- # this routine sets up the default directory structure for finding source
5
- # files according to language and purpose
6
- p.default_directory_structure
7
-
8
- # these routines search for and install various settings in the base_chip/
9
- # folder
10
- p.discover_recipes
11
- p.discover_tools
12
- p.discover_blocks
13
- p.discover_configurations
14
- p.discover_actions
15
- p.discover_test_lists
16
-
17
- # define blocks and configurations/actions applicable for all blocks
18
- # p.block :block_name do |b|
19
- # Things to do
20
- # end
21
-
22
- # define defaults for any setting on any element in the data structure
23
- # p.delete_on_pass true
24
- # p.zip_on_fail true
2
+ # Creating a project named :usbhostslave.
3
+ # The ':' means we are using a symbol
4
+ # Within the do...end procedure, configuration of the project occurs.
5
+ # the procedure will execute in the context of the project
6
+ project :<%= BaseChip.project %> do
7
+
8
+ # We could completely configure the project inside of this procedure. We
9
+ # could add blocks, configurations of those blocks, actions, test lists, and
10
+ # tests. By convention, however, we will execute the file
11
+ # 'base_chip/project.rb' on the project handle 'p', and put our
12
+ # configuration there. This file becomes merely a bootstrap.
13
+ file('base_chip/project.rb')
25
14
 
26
15
  end
data/lib/base_chip.rb CHANGED
@@ -42,6 +42,8 @@ require 'base_chip/git'
42
42
  module BaseChip
43
43
  include Reporting
44
44
 
45
+ @shared_directory = 'foo'
46
+
45
47
  RANDOM_NAME_PIECES = ('0'..'9').to_a + ('a'..'z').to_a + ('A'..'Z').to_a
46
48
  RANDOM_NAME_PIECES_SIZE = RANDOM_NAME_PIECES.size
47
49
  def self.random_string(size=10)
@@ -104,22 +106,10 @@ module BaseChip
104
106
  documentation
105
107
  } # base_chip/configurations questionable FIXME
106
108
  @@configuration_directories =
107
- @@common_directories +
108
- %w{
109
- rtl/verilog
110
- rtl/headers
111
- rtl/vhdl
112
- rtl/systemc
113
- gates
114
- testbench/verilog
115
- testbench/headers
116
- testbench/classes
117
- testbench/vhdl
118
- testbench/systemc
119
- synthesis
120
- timing
121
- sw
122
- }
109
+ @@common_directories +
110
+ ( %w{behavioral rtl gates testbench stimulus}.map{|function| %w{verilog classes vhdl systemc headers}.map{|language| "#{function}/#{language}"}}.flatten +
111
+ %w{synthesis timing sw}
112
+ ).map {|function| [function,"top_#{function}"] }.flatten
123
113
  @@block_directories =
124
114
  @@configuration_directories +
125
115
  %w{
@@ -33,7 +33,7 @@ module BaseChip
33
33
  attr_reader :test_list
34
34
  attr_reader :test
35
35
  attr_reader :tool
36
- attr_reader :version
36
+ attr_reader :tool_version
37
37
  attr_reader :source_type
38
38
  attr_reader :source_language
39
39
  end
@@ -27,6 +27,9 @@ module BaseChip
27
27
  if configuration = @configurations[name]
28
28
  configuration.configure
29
29
  configuration.dereference_workload(names,passive)
30
+ elsif configuration = @configurations[:default]
31
+ configuration.configure
32
+ configuration.dereference_workload(names.map{|n|"#{name}:#{n}"},passive)
30
33
  elsif passive
31
34
  []
32
35
  else
data/lib/base_chip/bom.rb CHANGED
@@ -63,9 +63,9 @@ module BaseChip
63
63
  @hash.each do |k1,l1|
64
64
  case depth
65
65
  when 1; hash[k1] = l1 if k1.to_s == key.to_s
66
- when 2; hash[k1] = tmp = HashWithIndifferentAccess.new
66
+ when 2; hash[k1] = HashWithIndifferentAccess.new
67
67
  l1.each do |k2,l2|
68
- tmp[k2] = l2 if k2.to_s == key.to_s
68
+ hash[k1][k2] = l2 if k2.to_s == key.to_s
69
69
  end
70
70
  end
71
71
  end
@@ -69,7 +69,8 @@ module BaseChip
69
69
  next if sc != self and stn.to_s =~ /^top/
70
70
  st.configure
71
71
  next unless st.source_languages
72
- tmp = hash[stn] ||= HashWithIndifferentAccess.new
72
+ hash[stn] ||= HashWithIndifferentAccess.new
73
+ tmp = hash[stn]
73
74
  st.source_languages.each do |sln,sl|
74
75
  sl.configure
75
76
  tmp[sln] ||= []
@@ -77,6 +78,7 @@ module BaseChip
77
78
  end
78
79
  end
79
80
  end
81
+
80
82
  @bom = Bom.new(hash)
81
83
  end
82
84
  # @private
data/lib/base_chip/dsl.rb CHANGED
@@ -21,15 +21,6 @@ class TrueClass ; include Boolean; end
21
21
  class FalseClass; include Boolean; end
22
22
 
23
23
  module BaseChip
24
- # class ConfigHash < Hash
25
- # def [](key)
26
- # value = super(key)
27
- # value.configure
28
- # value
29
- # end
30
- # def each
31
- # end
32
- # end
33
24
  module Dsl
34
25
  def self.included mod
35
26
  mod.extend Dsl::ClassMethods
@@ -77,13 +68,6 @@ module BaseChip
77
68
  end
78
69
 
79
70
  def define_settings_methods(name,type)
80
- # if name =~ /s$/
81
- # define_method name.to_s.singularize do |index,value|
82
- # hash = (instance_variable_get("@#{name}") || HashWithIndifferentAccess.new)
83
- # instance_variable_set "@#{name}", hash
84
- # hash[index] = value
85
- # end
86
- # end
87
71
  define_method name do |value=:base_chip_get_operation|
88
72
  unless value == :base_chip_get_operation
89
73
  check_type(name,value,type)
@@ -264,14 +248,6 @@ module BaseChip
264
248
  @parent = parent
265
249
  end
266
250
 
267
- # # and then the settings
268
- # @settings = Hash.new
269
- # @children = Hash.new
270
- # @possible_settings = Hash.new
271
-
272
- # (self.class. settings).each { |n,s| s2 = s.dup; s2.parent = self; @settings[n] = s2 }
273
- # (self.class.possible_settings).each { |n,s| s2 = s.dup; s2.parent = self; @possible_settings[n] = s2 }
274
- # end
275
251
  def check_type(setting,value,types)
276
252
  return if value.nil?
277
253
  if types.is_a? Array
@@ -325,51 +301,17 @@ module BaseChip
325
301
  end
326
302
  end
327
303
  end
328
- # def eat_settings_hash(h,file)
329
- # h.each do |str,v|
330
- # k = str.to_sym
331
- # if s = (@settings[k] || @possible_settings[k])
332
- # s.set(v,file)
333
- # elsif c = @children[k]
334
- # if v.is_a? Array
335
- # str = str.sub(/s$/,'_array')
336
- # k = str.to_sym
337
- # c = @children[k]
338
- # end
339
- # if c.is_a? Hash
340
- # t = self.class.child_types[k]
341
- # # FIXME fault if v is not also hash ?? Maybe support strings and arrays also ??
342
- # raise "v is a #{v.class}" unless v.is_a? Hash
343
- # v.each do |kc,vc|
344
- # tmp = (c[kc] ||= t.new(self))
345
- # tmp.name = kc
346
- # tmp.eat_settings_hash(vc,file) if vc
347
- # end
348
- # elsif c.is_a? Array
349
- # t = self.class.child_types[k]
350
- # # FIXME fault if v is not also hash ?? Maybe support strings and arrays also ??
351
- # raise "v is a #{v.class}" unless v.is_a? Array
352
- # v.each do |vc|
353
- # c << (tmp = t.new(self))
354
- # tmp.eat_settings_hash(vc,file) if vc
355
- # end
356
- # else
357
- # c.eat_settings_hash(v,file)
358
- # end
359
- # end
360
- # end
361
- # end
362
304
  def find_parent_values(parent_type)
363
305
  if parent = self.send(parent_type)
364
306
  raise "parent #{parent.name} of type #{parent.class.class_string} has not yet been configured" unless parent.configured
307
+ else
308
+ return
365
309
  end
366
310
  self.class.possible_settings.each_key do |name|
367
- next unless (self.send name).nil? # PROB UNNECESSARY
368
- next unless parent = (self.send parent_type)
311
+ next unless (self.send name).nil?
369
312
  self.send name, (parent.send name)
370
313
  end
371
314
  self.class.possible_child_types.each do |name,type|
372
- next unless parent = self.send(parent_type)
373
315
  plural = name.to_s.pluralize
374
316
  next unless child_defaults = parent.send(plural)
375
317
  hash = instance_variable_or_equal(plural,HashWithIndifferentAccess.new)
@@ -387,54 +329,7 @@ module BaseChip
387
329
  instance_variable_set "@#{name}", value
388
330
  value
389
331
  end
390
- # def meaningful_settings
391
- # return @meaningful_settings if @meaningful_settings
392
- # @meaningful_settings = Hash.new
393
- # @settings.each do |n,s|
394
- # @meaningful_settings[n] = s.value if s.value_set
395
- # end
396
- # @meaningful_settings
397
- # end
398
- # def to_hash
399
- # h = meaningful_settings.dup
400
- # @children.each do |t,c_hash|
401
- # h[t] = h2 = Hash.new
402
- # c_hash.each{|n,c| h2[n] = c.to_hash}
403
- # end
404
- # h
405
- # end
406
- # def to_regex(data)
407
- # data = data.join('|') if data.respond_to? :join
408
- # /#{data}/
409
- # end
410
- # def print_configuration
411
- # puts configuration_hash.to_yaml
412
- # end
413
- # def configuration_hash
414
- # h = { :settings => settings_to_hash(@settings ),
415
- # :possible_settings => settings_to_hash(@possible_settings),
416
- # :children => {} }
417
- # @children.each do |type,children|
418
- # h[:children][type] = children.class.new
419
- # children.each do |name,child|
420
- # if child
421
- # h[:children][type][name] = child.configuration_hash
422
- # else
423
- # h[:children][type] << name.configuration_hash
424
- # end
425
- # end
426
- # end
427
- # h
428
- # end
429
- # def settings_to_hash(settings)
430
- # h = {}
431
- # @settings.each do |n,s|
432
- # if s.value_set
433
- # h[n] = s.value
434
- # end
435
- # end
436
- # h
437
- # end
332
+
438
333
  # methods that probably shouldn't be here, common to project and block
439
334
  def find_file(file)
440
335
  found = nil
@@ -538,56 +433,5 @@ module BaseChip
538
433
  fault "'#{full_name}' tried to inherit from #{name.inspect}, but '#{parent.full_name}.#{type_plural}[#{name.inspect}]' is nil'" unless thing
539
434
  @base_types << thing
540
435
  end
541
-
542
- # only used in block and project
543
- # def determine_dirs_to_top(dir = nil)
544
- # dir ||= @work_dir
545
- # @dirs_to_top = []
546
- # loop do
547
- # @dirs_to_top << dir
548
- # break if File.exist? dir + '/.cs_top'
549
-
550
- # if dir == '/'
551
- # fault "Couldn't find file '.cs_top' in any directory above #{@pwd}.\n" +
552
- # "'.cs_top' is an empty file expected to reside at the top of the checked out project.\n" +
553
- # "Go to the top of your check-out and type 'touch .cs_top'"
554
- # end
555
- # dir = File.expand_path(dir + '/../')
556
- # end
557
- # $environment['PROJECT_ROOT'] = $project_root = @project_root = dir
558
- # end
559
- # only used in block and project
560
- # def read_settings_files(settings_files)
561
- # @settings_files = settings_files
562
- # @project_root = @project.project_root
563
-
564
- # # @settings_files += @supplimental_yaml if @supplimental_yaml
565
- # # @project.dirs_to_top.each do |d|
566
- # # if File.exist? (file = d + '/settings.yaml')
567
- # # @settings_files << file
568
- # # end
569
- # # end
570
-
571
- # # print_configuration
572
- # @settings_files.each do |sf|
573
- # found = nil
574
- # sf = sf.gsub(/\$([A-Z_]+)/) { instance_variable_get "@#{$1.downcase}" }
575
- # sf = find_file sf
576
- # if h = YAML.load_file(sf)
577
- # self.eat_settings_hash(h,sf)
578
- # self.find_parent_values
579
- # end
580
- # end
581
-
582
- # # FIXME TODAY unless self.aliases.size > 0
583
- # # FIXME TODAY fault "No aliases found"
584
- # # FIXME TODAY end
585
-
586
- # # FIXME TODAY unless self.actions.size > 0
587
- # # FIXME TODAY fault "No action definitions were found in any of the following settings files:\n#{@settings_files.join("\n")}"
588
- # # FIXME TODAY end
589
- #
590
- # end
591
-
592
436
  end
593
437
  end
@@ -28,7 +28,7 @@ module BaseChip
28
28
  BaseChip.build_directory_structure(name,BaseChip.block_directories)
29
29
  BaseChip.erb_template "#{BaseChip::GEM_DIR}/collateral/block/block.rb.erb", "#{BaseChip.root}/#{name}/base_chip/block.rb"
30
30
  FileUtils.cd BaseChip.root
31
- puts "block generation complete"
31
+ puts "block '#{name}' generation complete"
32
32
 
33
33
  if options.git
34
34
  system "git add ./#{name}"
@@ -39,20 +39,20 @@ module BaseChip
39
39
  end
40
40
 
41
41
  desc "Generate a configuration"
42
- def configuration(name)
42
+ def configuration(block_name, configuration_name)
43
43
  BaseChip.load_environment
44
44
  BaseChip.find_root(dir = nil)
45
- @configuration_name = name
46
- BaseChip.build_directory_structure(name,BaseChip.configuration_directories)
47
- BaseChip.erb_template "#{BaseChip::GEM_DIR}/collateral/configuration/configuration.rb.erb", "#{BaseChip.root}/#{name}/base_chip/configuration.rb"
45
+ @configuration_name = configuration_name
46
+ BaseChip.build_directory_structure("#{block_name}/#{configuration_name}",BaseChip.configuration_directories)
47
+ BaseChip.erb_template "#{BaseChip::GEM_DIR}/collateral/configuration/configuration.rb.erb", "#{BaseChip.root}/#{block_name}/#{configuration_name}/base_chip/configuration.rb"
48
48
  FileUtils.cd BaseChip.root
49
- puts "configuration generation complete"
49
+ puts "configuration '#{block_name}:#{configuration_name}' generation complete"
50
50
 
51
51
  if options.git
52
- system "git add ./#{name}"
53
- system "git commit -m 'Initial automated configuration build of '#{name}' BaseChip.' ./#{name}"
52
+ system "git add ./#{block_name}/#{configuration_name}"
53
+ system "git commit -m 'Initial automated configuration build of '#{configuration_name}' BaseChip.' ./#{block_name}/#{configuration_name}"
54
54
 
55
- normal "configuration '#{name}' has been created."
55
+ normal "configuration '#{configuration_name}' has been created."
56
56
  end
57
57
  end
58
58
 
@@ -49,7 +49,7 @@ module BaseChip
49
49
  tools = []
50
50
  n = name.to_sym
51
51
  BaseChip.tools.each do |tool|
52
- next unless tool.name == n
52
+ next unless tool.name.to_s == n.to_s
53
53
  tools << tool
54
54
  end
55
55
  unless tools[0]
@@ -181,9 +181,9 @@ module BaseChip
181
181
  def clean
182
182
  end
183
183
  def clobber
184
- FileUtil.rm_rf directory
185
- if Dir.empty? test_list.directory
186
- FileUtil.rm_rf test_list.directory
184
+ FileUtils.rm_rf directory
185
+ if Dir.glob("#{test_list.directory}/*").empty?
186
+ FileUtils.rm_rf test_list.directory
187
187
  end
188
188
  end
189
189
 
@@ -64,7 +64,7 @@ module BaseChip
64
64
  tests.each do |t|
65
65
  @posts.each_value do |p|
66
66
  p.blks.each do |b|
67
- b.call(t)
67
+ b.parameters.empty? ? t.instance_exec(&b) : b.call(t)
68
68
  end
69
69
  end
70
70
  end
@@ -76,7 +76,7 @@ module BaseChip
76
76
  ditch = false
77
77
  @requirements.each_value do |m|
78
78
  m.blks.each do |b|
79
- ditch = !(b.call t)
79
+ ditch = !(b.parameters.empty? ? t.instance_exec(&b) : b.call(t))
80
80
  break if ditch
81
81
  end
82
82
  break if ditch
@@ -35,7 +35,7 @@ module BaseChip
35
35
  end
36
36
  end
37
37
  def selected_version
38
- @selected_version ||= @versions[@select_version] if @versions
38
+ @selected_version ||= @tool_versions[@select_version] if @tool_versions
39
39
  end
40
40
  def path(str=:crazy_default_value)
41
41
  if str == :crazy_default_value
@@ -45,7 +45,7 @@ module BaseChip
45
45
  end
46
46
  end
47
47
  def available_versions
48
- versions.keys if versions
48
+ tool_versions.keys if tool_versions
49
49
  end
50
50
  end
51
51
  end
@@ -30,12 +30,14 @@ module BaseChip
30
30
 
31
31
  desc "Create a new project"
32
32
  option :git, :description=>"Set up as a git repository", :type=>:boolean, :alias=>[:g,:r,:repo]
33
- def init(project_name)
34
- BaseChip.project = project_name
35
- BaseChip.root = "./#{project_name}"
33
+ def init(project_name, shared_directory)
34
+ $shared_directory = shared_directory
35
+ BaseChip.project = project_name
36
+ BaseChip.root = "./#{project_name}"
36
37
  FileUtils.mkdir_p BaseChip.root
37
38
  BaseChip.build_directory_structure(BaseChip.root, BaseChip.project_directories)
38
39
  BaseChip.erb_template "#{BaseChip::GEM_DIR}/collateral/project/settings.rb.erb", "#{BaseChip.root}/base_chip/settings.rb"
40
+ BaseChip.erb_template "#{BaseChip::GEM_DIR}/collateral/project/project.rb.erb" , "#{BaseChip.root}/base_chip/project.rb"
39
41
  FileUtils.cp "#{BaseChip::GEM_DIR}/collateral/project/gitignore" , "#{BaseChip.root}/.gitignore"
40
42
  FileUtils.cd BaseChip.root
41
43
 
@@ -135,6 +137,7 @@ module BaseChip
135
137
  desc 'Clean targets. Some output remains'
136
138
  usage '<targets+> [options]'
137
139
  def clean(*args)
140
+ args << 'all' if args.empty?
138
141
  ready_workload(*args)
139
142
  @project.workload.each do |w|
140
143
  w.clean
@@ -144,6 +147,7 @@ module BaseChip
144
147
  desc 'Destroy all output relate to targets'
145
148
  usage '<targets+> [options]'
146
149
  def clobber(*args)
150
+ args << 'all' if args.empty?
147
151
  ready_workload(*args)
148
152
  @project.workload.each do |w|
149
153
  w.clobber
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basechip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-05 00:00:00.000000000Z
12
+ date: 2011-10-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: archive-tar-minitar
16
- requirement: &86666810 !ruby/object:Gem::Requirement
16
+ requirement: &85172180 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *86666810
24
+ version_requirements: *85172180
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &86666550 !ruby/object:Gem::Requirement
27
+ requirement: &85171880 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *86666550
35
+ version_requirements: *85171880
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: i18n
38
- requirement: &86666260 !ruby/object:Gem::Requirement
38
+ requirement: &85171580 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *86666260
46
+ version_requirements: *85171580
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: thor
49
- requirement: &86666010 !ruby/object:Gem::Requirement
49
+ requirement: &85171260 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *86666010
57
+ version_requirements: *85171260
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: yard
60
- requirement: &86665760 !ruby/object:Gem::Requirement
60
+ requirement: &85170940 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *86665760
68
+ version_requirements: *85170940
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &86665510 !ruby/object:Gem::Requirement
71
+ requirement: &85170630 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.0.0
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *86665510
79
+ version_requirements: *85170630
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: jeweler
82
- requirement: &86665240 !ruby/object:Gem::Requirement
82
+ requirement: &85170320 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.6.4
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *86665240
90
+ version_requirements: *85170320
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rcov
93
- requirement: &86664940 !ruby/object:Gem::Requirement
93
+ requirement: &85170020 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *86664940
101
+ version_requirements: *85170020
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: turn
104
- requirement: &86664690 !ruby/object:Gem::Requirement
104
+ requirement: &85169710 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *86664690
112
+ version_requirements: *85169710
113
113
  description: Define your project in terms of blocks, configurations, tests, and modes. Install
114
114
  or Create recipes and/or plugins to define actions, compute clusters, and tools
115
115
  for simulation, synthesis, or anything else. Run your actions, test_lists, or tests
@@ -199,7 +199,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
199
  version: '0'
200
200
  segments:
201
201
  - 0
202
- hash: 690690031
202
+ hash: -384018031
203
203
  required_rubygems_version: !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements: