origen 0.56.0 → 0.57.0

Sign up to get free protection for your applications and to get access to all the features.
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