origen 0.55.3 → 0.55.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/version.rb +1 -1
- data/lib/origen/generator/job.rb +9 -3
- data/lib/origen/generator/pattern.rb +2 -1
- data/lib/origen/sub_blocks.rb +31 -16
- data/origen_app_generators/origen_app_generators.gemspec +3 -3
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6cd7510b5f95a3f095e42e8cec614c0fe5dfa6dffa806e3a3b2002457a13c91a
|
4
|
+
data.tar.gz: 7b8a65cbd49762b5899223491a71c43f12a421ec2c9791ffbbcf8472d73e9446
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9635a1f7bac9345cbf90eeeedf7e84f6a60f098c024aa75125e5e1c9465a3ac1e486b7f89c2d299b96f024558ef65dbbd7c24459c62d193b36cb03f83898b6b3
|
7
|
+
data.tar.gz: 0b86bd09959a6040b7738b884967b152d01c5fe8305a9361a7097f41beeaa9dc87c3b2baf3515eb721e1d60b73e72e5a19b6907dc55edbf585f03280de8956d9
|
data/config/version.rb
CHANGED
data/lib/origen/generator/job.rb
CHANGED
@@ -3,7 +3,7 @@ module Origen
|
|
3
3
|
# A job is responsible for executing a single pattern source
|
4
4
|
class Job # :nodoc: all
|
5
5
|
attr_accessor :output_file_body, :pattern
|
6
|
-
attr_reader :split_counter
|
6
|
+
attr_reader :split_counter, :split_names
|
7
7
|
attr_reader :options
|
8
8
|
|
9
9
|
def initialize(pattern, options)
|
@@ -23,9 +23,11 @@ module Origen
|
|
23
23
|
@no_comments
|
24
24
|
end
|
25
25
|
|
26
|
-
def inc_split_counter
|
26
|
+
def inc_split_counter(name = '')
|
27
27
|
@split_counter ||= 0
|
28
|
+
@split_names ||= ['']
|
28
29
|
@split_counter += 1
|
30
|
+
@split_names << name
|
29
31
|
end
|
30
32
|
|
31
33
|
def requested_pattern
|
@@ -115,7 +117,11 @@ module Origen
|
|
115
117
|
|
116
118
|
def split_number
|
117
119
|
if split_counter
|
118
|
-
|
120
|
+
if split_names[split_counter] != ''
|
121
|
+
"_#{split_names[split_counter]}"
|
122
|
+
else
|
123
|
+
"_part#{split_counter}"
|
124
|
+
end
|
119
125
|
else
|
120
126
|
''
|
121
127
|
end
|
@@ -221,8 +221,9 @@ module Origen
|
|
221
221
|
# Each additional pattern section created by calling this method
|
222
222
|
# will have '_partN' appended to the original pattern name.
|
223
223
|
def split(options = {})
|
224
|
+
split_name = options.delete(:name) || ''
|
224
225
|
pattern_close(options.merge(call_shutdown_callbacks: false))
|
225
|
-
job.inc_split_counter
|
226
|
+
job.inc_split_counter(split_name)
|
226
227
|
pattern_open(options.merge(call_startup_callbacks: false))
|
227
228
|
end
|
228
229
|
|
data/lib/origen/sub_blocks.rb
CHANGED
@@ -232,6 +232,22 @@ module Origen
|
|
232
232
|
end
|
233
233
|
alias_method :children, :sub_blocks
|
234
234
|
|
235
|
+
# Returns a hash containing all sub block groups thus far added
|
236
|
+
# if no arguments given.
|
237
|
+
# If given a code block, will serve as alias to sub_block_group method.
|
238
|
+
# Does not handle arguments, no need at this time.
|
239
|
+
def sub_block_groups(*args, &block)
|
240
|
+
if block_given?
|
241
|
+
sub_block_group(*args, &block)
|
242
|
+
else
|
243
|
+
if args.empty?
|
244
|
+
@sub_block_groups ||= {}.with_indifferent_access
|
245
|
+
else
|
246
|
+
fail 'sub_block_groups not meant to take arguments!'
|
247
|
+
end
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
235
251
|
# Delete all sub_blocks by emptying the Hash
|
236
252
|
def delete_sub_blocks
|
237
253
|
@sub_blocks = {}
|
@@ -309,7 +325,7 @@ module Origen
|
|
309
325
|
Origen.log.warning "The sub_block defined at #{Pathname.new(callers[0]).relative_path_from(Pathname.pwd)}:#{callers[1]} is overriding an existing method called #{name}"
|
310
326
|
end
|
311
327
|
define_singleton_method name do
|
312
|
-
|
328
|
+
sub_blocks[name]
|
313
329
|
end
|
314
330
|
if sub_blocks[name] && sub_blocks[name].is_a?(Placeholder)
|
315
331
|
sub_blocks[name].add_attributes(options)
|
@@ -362,21 +378,24 @@ module Origen
|
|
362
378
|
callers = Origen.split_caller_line caller[0]
|
363
379
|
Origen.log.warning "The sub_block_group defined at #{Pathname.new(callers[0]).relative_path_from(Pathname.pwd)}:#{callers[1]} is overriding an existing method called #{id}"
|
364
380
|
end
|
381
|
+
# Define a singleton method which will be called every time the sub_block_group is referenced
|
382
|
+
# This is not called here but later when referenced
|
365
383
|
define_singleton_method "#{id}" do
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
end
|
374
|
-
b # return array inside new singleton method
|
384
|
+
sub_block_groups[id]
|
385
|
+
end
|
386
|
+
# Instantiate group
|
387
|
+
if options[:class_name]
|
388
|
+
b = Object.const_get(options[:class_name]).new
|
389
|
+
else
|
390
|
+
b = [] # Will use Array if no class defined
|
375
391
|
end
|
392
|
+
# Add sub_blocks to group
|
393
|
+
my_group.each do |group_id|
|
394
|
+
b << send(group_id)
|
395
|
+
end
|
396
|
+
sub_block_groups[id] = b
|
376
397
|
@current_group = nil # close group
|
377
398
|
end
|
378
|
-
alias_method :sub_block_groups, :sub_block_group
|
379
|
-
alias_method :sub_blocks_groups, :sub_block_group
|
380
399
|
alias_method :sub_blocks_group, :sub_block_group
|
381
400
|
|
382
401
|
def namespace
|
@@ -385,10 +404,6 @@ module Origen
|
|
385
404
|
|
386
405
|
private
|
387
406
|
|
388
|
-
def get_sub_block(name)
|
389
|
-
sub_blocks[name]
|
390
|
-
end
|
391
|
-
|
392
407
|
def instantiate_sub_block(name, klass, options)
|
393
408
|
return sub_blocks[name] unless sub_blocks[name].is_a?(Placeholder)
|
394
409
|
sub_blocks[name] = klass.new(options.merge(parent: self, name: name))
|
@@ -8,16 +8,16 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.8.11".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Stephen McGinty".freeze]
|
11
|
-
s.date = "2020-03-
|
11
|
+
s.date = "2020-03-30"
|
12
12
|
s.email = ["stephen.f.mcginty@gmail.com".freeze]
|
13
13
|
s.files = ["bin/boot.rb".freeze, "config/application.rb".freeze, "config/boot.rb".freeze, "config/commands.rb".freeze, "config/shared_commands.rb".freeze, "config/version.rb".freeze, "lib/origen_app_generators.rb".freeze, "lib/origen_app_generators/application.rb".freeze, "lib/origen_app_generators/base.rb".freeze, "lib/origen_app_generators/empty_application.rb".freeze, "lib/origen_app_generators/empty_plugin.rb".freeze, "lib/origen_app_generators/new.rb".freeze, "lib/origen_app_generators/new_app_tests.rb".freeze, "lib/origen_app_generators/origen_infrastructure/app_generator_plugin.rb".freeze, "lib/origen_app_generators/plugin.rb".freeze, "lib/origen_app_generators/test_engineering/common.rb".freeze, "lib/origen_app_generators/test_engineering/stand_alone_application.rb".freeze, "lib/origen_app_generators/test_engineering/test_block.rb".freeze, "templates/app_generators".freeze, "templates/app_generators/application".freeze, "templates/app_generators/application/.gitignore".freeze, "templates/app_generators/application/.irbrc".freeze, "templates/app_generators/application/.rspec".freeze, "templates/app_generators/application/.travis.yml".freeze, "templates/app_generators/application/Gemfile".freeze, "templates/app_generators/application/Rakefile".freeze, "templates/app_generators/application/app".freeze, "templates/app_generators/application/app/blocks".freeze, "templates/app_generators/application/app/blocks/top_level.rb".freeze, "templates/app_generators/application/app/lib".freeze, "templates/app_generators/application/app/lib/module.rb".freeze, "templates/app_generators/application/app/templates".freeze, "templates/app_generators/application/app/templates/web".freeze, "templates/app_generators/application/app/templates/web/index.md.erb".freeze, "templates/app_generators/application/app/templates/web/layouts".freeze, "templates/app_generators/application/app/templates/web/layouts/_basic.html.erb".freeze, "templates/app_generators/application/app/templates/web/partials".freeze, "templates/app_generators/application/app/templates/web/partials/_navbar.html.erb".freeze, "templates/app_generators/application/app/templates/web/release_notes.md.erb".freeze, "templates/app_generators/application/config".freeze, "templates/app_generators/application/config/application.rb".freeze, "templates/app_generators/application/config/boot.rb".freeze, "templates/app_generators/application/config/commands.rb".freeze, "templates/app_generators/application/config/maillist_dev.txt".freeze, "templates/app_generators/application/config/maillist_prod.txt".freeze, "templates/app_generators/application/config/version.rb".freeze, "templates/app_generators/application/doc".freeze, "templates/app_generators/application/doc/history".freeze, "templates/app_generators/application/dot_keep".freeze, "templates/app_generators/application/origen_core_session".freeze, "templates/app_generators/application/spec".freeze, "templates/app_generators/application/spec/spec_helper.rb".freeze, "templates/app_generators/application/target".freeze, "templates/app_generators/application/target/debug.rb".freeze, "templates/app_generators/application/target/default.rb".freeze, "templates/app_generators/application/target/production.rb".freeze, "templates/app_generators/new".freeze, "templates/app_generators/new/generator.rb".freeze, "templates/app_generators/new/info.md.erb".freeze, "templates/app_generators/origen_infrastructure".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/application.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/base.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/module.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/plugin.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/config".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/config/load_generators.rb".freeze, "templates/app_generators/plugin".freeze, "templates/app_generators/plugin/Gemfile".freeze, "templates/app_generators/plugin/Rakefile".freeze, "templates/app_generators/plugin/app".freeze, "templates/app_generators/plugin/app/templates".freeze, "templates/app_generators/plugin/app/templates/web".freeze, "templates/app_generators/plugin/app/templates/web/index.md.erb".freeze, "templates/app_generators/plugin/app/templates/web/partials".freeze, "templates/app_generators/plugin/app/templates/web/partials/_navbar_external.html.erb".freeze, "templates/app_generators/plugin/app/templates/web/partials/_navbar_internal.html.erb".freeze, "templates/app_generators/plugin/config".freeze, "templates/app_generators/plugin/config/boot.rb".freeze, "templates/app_generators/plugin/gemspec.rb".freeze, "templates/app_generators/test_engineering".freeze, "templates/app_generators/test_engineering/environment".freeze, "templates/app_generators/test_engineering/environment/j750.rb".freeze, "templates/app_generators/test_engineering/environment/uflex.rb".freeze, "templates/app_generators/test_engineering/environment/v93k.rb".freeze, "templates/app_generators/test_engineering/stand_alone_application".freeze, "templates/app_generators/test_engineering/stand_alone_application/.keep".freeze, "templates/app_generators/test_engineering/test_block".freeze, "templates/app_generators/test_engineering/test_block/.keep".freeze]
|
14
14
|
s.homepage = "http://origen-sdk.org/origen_app_generators".freeze
|
15
15
|
s.licenses = ["MIT".freeze]
|
16
16
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze)
|
17
|
-
s.rubygems_version = "
|
17
|
+
s.rubygems_version = "2.7.7".freeze
|
18
18
|
s.summary = "Origen application generators".freeze
|
19
19
|
|
20
|
-
s.installed_by_version = "
|
20
|
+
s.installed_by_version = "2.7.7" if s.respond_to? :installed_by_version
|
21
21
|
|
22
22
|
if s.respond_to? :specification_version then
|
23
23
|
s.specification_version = 4
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: origen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.55.
|
4
|
+
version: 0.55.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -749,7 +749,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
749
749
|
- !ruby/object:Gem::Version
|
750
750
|
version: 1.8.11
|
751
751
|
requirements: []
|
752
|
-
|
752
|
+
rubyforge_project:
|
753
|
+
rubygems_version: 2.7.7
|
753
754
|
signing_key:
|
754
755
|
specification_version: 4
|
755
756
|
summary: The Semiconductor Developer's Kit
|