origen 0.56.0 → 0.57.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d785350a667cc70a8ef0915fb8ea4f4c0bb0f70dc29159ac09a5112e3e72ec78
4
- data.tar.gz: 918ebaae4f7f664904f016a0b150123fb515d1f0e8eb86775eee1db1e2bcfc14
3
+ metadata.gz: 21b7b219ea6b020ff55496a1c3103e1abb49080162ae22c7e923cf09573b2909
4
+ data.tar.gz: 2e0fdba7223ee3fa33f272f88ff9ccdea39ba54d630eb8e28c99d5bfc73c6563
5
5
  SHA512:
6
- metadata.gz: 0f58ff06e30b0c5687c562abfe5c1392b2cdd18b2eb50bb176f35d35764856091f9adaa5472886d51684277eb8b931a75745f487ff63fa62fb3b344338e7173f
7
- data.tar.gz: 60e67f10a5c318593d9f842c3e880bfe1301130cba17c6030127bf69dead91951bd59bb79007a34a80adc2da83817333323bb4eda0904687db0b24d6f4e14da6
6
+ metadata.gz: bb7fcc388d925a782a33120045527f627e5c7c31fcbfe351f0ef32c8368824c2d94c473f818e68a5e1948cd321dd8cd130d288d348ce141875678b03d11ee693
7
+ data.tar.gz: 187445f738cc7873c920f29e4c55eb480d67d8ab1be5fbc143e592d6cc855ecb8a27f2c835efbb53ce304faa123e432fedd8ba51b3205df1fe414f3f1482ad8c
@@ -1,6 +1,6 @@
1
1
  module Origen
2
2
  MAJOR = 0
3
- MINOR = 56
3
+ MINOR = 57
4
4
  BUGFIX = 0
5
5
  DEV = nil
6
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -610,6 +610,9 @@ unless defined? RGen::ORIGENTRANSITION
610
610
  else
611
611
  @interface.reset_globals if @interface.respond_to?(:reset_globals)
612
612
  end
613
+ if @interface.respond_to?(:on_interface_reset)
614
+ @interface.on_interface_reset
615
+ end
613
616
  @interface
614
617
  end
615
618
 
@@ -252,8 +252,9 @@ module Origen
252
252
  end
253
253
 
254
254
  # Build the log file from the completed jobs
255
- def build_log(_options = {})
256
- Origen.log.info '*' * 70
255
+ def build_log(options = {})
256
+ log_method = options[:log_file] ? options[:log_file] : :info
257
+ Origen.log.send(log_method, '*' * 70)
257
258
  completed_jobs.each do |job|
258
259
  File.open(log_file(job[:id])) do |f|
259
260
  last_line_blank = false
@@ -291,12 +292,12 @@ module Origen
291
292
  stats.failed_files += Regexp.last_match[1].to_i
292
293
  elsif line =~ /ERROR!/
293
294
  stats.errors += 1
294
- Origen.log.send :relog, line
295
+ Origen.log.send :relog, line, options
295
296
  else
296
297
  # Compress multiple blank lines
297
298
  if line =~ /^\s*$/ || line =~ /.*\|\|\s*$/
298
299
  unless last_line_blank
299
- Origen.log.info
300
+ Origen.log.send(log_method, nil)
300
301
  last_line_blank = true
301
302
  end
302
303
  else
@@ -305,8 +306,7 @@ module Origen
305
306
  line =~ /Insecure world writable dir/ ||
306
307
  line =~ /To save all of/
307
308
  line.strip!
308
- # line.sub!(/.*\|\| /, '')
309
- Origen.log.send :relog, line
309
+ Origen.log.send :relog, line, options
310
310
  last_line_blank = false
311
311
  end
312
312
  end
@@ -319,7 +319,7 @@ module Origen
319
319
  end
320
320
  end
321
321
  end
322
- Origen.log.info '*' * 70
322
+ Origen.log.send(log_method, '*' * 70)
323
323
  stats.print_summary
324
324
  end
325
325
 
@@ -409,7 +409,7 @@ module Origen
409
409
  end
410
410
 
411
411
  str = "#{action} #{cmd}".strip
412
- str.sub('origen ', '') if str =~ /^origen /
412
+ str.sub!('origen ', '') if str =~ /^origen /
413
413
 
414
414
  # Append the --exec_remote switch to all Origen commands, this allows command
415
415
  # processing to be altered based on whether it is running locally or
@@ -114,7 +114,7 @@ module Origen
114
114
  fail "Sorry but #{path} already exists!"
115
115
  end
116
116
  FileUtils.rm_rf(path.to_s) if File.exist?(path.to_s)
117
- rc = RevisionControl.new remote: options[:rc_url], local: path.to_s
117
+ rc = RevisionControl.new options.merge(remote: options[:rc_url], local: path.to_s)
118
118
  rc.build
119
119
  end
120
120
 
@@ -274,6 +274,7 @@ module Origen
274
274
  else
275
275
  msg = format_msg(method.to_s.upcase, msg)
276
276
  end
277
+ console.info msg if options[:verbose]
277
278
  @custom_logs[method.to_sym].info(msg)
278
279
  end
279
280
 
@@ -364,8 +365,10 @@ module Origen
364
365
  end
365
366
  end
366
367
 
367
- def relog(msg)
368
- if msg =~ /^\[(\w+)\] .*/
368
+ def relog(msg, options = {})
369
+ if options[:log_file]
370
+ send options[:log_file], msg.sub(/.*\|\|\s*/, ''), options
371
+ elsif msg =~ /^\[(\w+)\] .*/
369
372
  method = Regexp.last_match(1).downcase
370
373
  if respond_to?(method)
371
374
  send method, msg.sub(/.*\|\|\s*/, '')
@@ -27,6 +27,7 @@ module Origen
27
27
  # @param [Hash] options Options to customize the run instance
28
28
  # @option options [Array] :target String Array of target names on which to run regression
29
29
  # @option options [Boolean] :build_reference (true) Build reference workspace automatically
30
+ # @option options [Symbol] :build_method (:init) whether to use a git init or git clone method to build the workspace
30
31
  # @option options [Boolean] :send_email (false) Send results email when regression complete
31
32
  # @option options [Boolean] :email_all_developers (false) If sending email, whether to email all developers or just user
32
33
  # @option options [Boolean] :report_results (false) Whether to report results inline to console
@@ -35,6 +36,7 @@ module Origen
35
36
  def run(options = {})
36
37
  options = {
37
38
  build_reference: true,
39
+ build_method: :init,
38
40
  send_email: false,
39
41
  email_all_developers: false,
40
42
  report_results: false,
@@ -46,7 +48,7 @@ module Origen
46
48
  Origen.lsf.clear_all
47
49
  yield options
48
50
  wait_for_completion(options) if options[:uses_lsf]
49
- save_and_delete_output
51
+ save_and_delete_output(options)
50
52
  else
51
53
  if options[:build_reference]
52
54
  @reference_tag = version_to_tag(options[:version] || get_version(options))
@@ -58,7 +60,8 @@ module Origen
58
60
  disable_origen_version_check do
59
61
  Dir.chdir reference_origen_root do
60
62
  Bundler.with_clean_env do
61
- system 'rm -rf lbin'
63
+ # Origen 0.40.0 started using origen-owned binstubs
64
+ system 'rm -rf lbin' if Gem::Version.new(Origen.version) < Gem::Version.new('0.40.0')
62
65
  # If regression is run using a service account, we need to setup the path/bundler manually
63
66
  # The regression manager needs to be passed a --service_account option when initiated.
64
67
  if options[:service_account]
@@ -125,7 +128,7 @@ module Origen
125
128
  end
126
129
 
127
130
  def summarize_results(options = {})
128
- Origen.lsf.build_log
131
+ Origen.lsf.build_log(options)
129
132
  stats = Origen.app.stats
130
133
  if options[:report_results]
131
134
  puts "Regression results: \n"
@@ -144,12 +147,16 @@ module Origen
144
147
 
145
148
  # Saves all generated output (to the reference dir) and then
146
149
  # deletes the output directory to save space
147
- def save_and_delete_output
148
- Origen.lsf.build_log
150
+ def save_and_delete_output(options = {})
151
+ Origen.lsf.build_log(options)
149
152
  Origen.log.flush
150
153
  Dir.chdir reference_origen_root do
151
154
  Bundler.with_clean_env do
152
- system 'bundle exec origen save all'
155
+ if options[:log_file]
156
+ system "bundle exec origen save all -f log/#{options[:log_file]}.txt"
157
+ else
158
+ system 'bundle exec origen save all'
159
+ end
153
160
  end
154
161
  end
155
162
  FileUtils.rm_rf "#{reference_origen_root}/output"
@@ -214,7 +221,7 @@ module Origen
214
221
  # Build the new reference workspace now.
215
222
  unless File.exist?(@reference_workspace)
216
223
  highlight { Origen.log.info 'Building reference workspace...' }
217
- ws.build(@reference_workspace)
224
+ ws.build(@reference_workspace, options)
218
225
  end
219
226
  ws.set_reference_workspace(@reference_workspace)
220
227
  else
@@ -229,7 +236,7 @@ module Origen
229
236
  end
230
237
  unless File.exist?(@reference_workspace)
231
238
  highlight { Origen.log.info 'Building reference workspace...' }
232
- ws.build(@reference_workspace)
239
+ ws.build(@reference_workspace, options)
233
240
  end
234
241
  ws.set_reference_workspace(@reference_workspace)
235
242
  end
@@ -345,6 +345,7 @@ module Origen
345
345
  end
346
346
 
347
347
  def initialize_local_dir(options = {})
348
+ return if options[:build_method] == :clone
348
349
  super
349
350
  unless initialized?(options)
350
351
  Origen.log.debug "Initializing Git workspace at #{local}"
@@ -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-05-15"
11
+ s.date = "2020-05-26"
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 = "2.7.7".freeze
17
+ s.rubygems_version = "3.0.3".freeze
18
18
  s.summary = "Origen application generators".freeze
19
19
 
20
- s.installed_by_version = "2.7.7" if s.respond_to? :installed_by_version
20
+ s.installed_by_version = "3.0.3" 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.56.0
4
+ version: 0.57.0
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-05-15 00:00:00.000000000 Z
11
+ date: 2020-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -749,8 +749,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
749
749
  - !ruby/object:Gem::Version
750
750
  version: 1.8.11
751
751
  requirements: []
752
- rubyforge_project:
753
- rubygems_version: 2.7.7
752
+ rubygems_version: 3.0.3
754
753
  signing_key:
755
754
  specification_version: 4
756
755
  summary: The Semiconductor Developer's Kit