origen 0.60.1 → 0.60.5

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: 9bc1492505202ee447282724a65bf5a8ed4999d5efebf892c368ced94f269251
4
- data.tar.gz: 99499ac74e5744a87fed58fe45ae44b4ced7c63743003a3571b911790d2bb9f3
3
+ metadata.gz: db57b94cabfd9e14047a2922c410b920da75fd4bb9a66ba8bba6bb972cb4b125
4
+ data.tar.gz: ad5be66cb94c42632a2d801b463ffb2984fd4fa9cdaffb5104d9bc3707bf53d4
5
5
  SHA512:
6
- metadata.gz: 413cb9b4a7b29a3672fc3a8a460502cbe67e9d9171fe2da910cfbd2c8e8e0e89941d01fb1d082e0e3faf2cd05ee26bad3f37e9de654118d28cf45335ff85c6a0
7
- data.tar.gz: 011bbe37ae9cf99cb88f9b31fe26f9153f6ce94462537f719f0c18dfdb97b7f5e776a9a3eb15a316f0a5149c779101e95a5586b5c7432e87688211209d1b5c87
6
+ metadata.gz: a9df386c2629ca963ddb93b0c65d6eb0a6281bc394a0c5f5bf17a0c8c3502b4d184c45fdc97ab6f3f2b1ade1fd3141aa8725dcda06a68549954dcdbe9f5799e2
7
+ data.tar.gz: 855228da5608fb39726acfe33e56e00ac46f5d2a5c557bb6f1c840cfc912a2bd1ae1627e19ac37f3cee67bac31d82acd177a0d9d774eb6440cbed76cfd7bb86e
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Origen
2
2
  MAJOR = 0
3
3
  MINOR = 60
4
- BUGFIX = 1
4
+ BUGFIX = 5
5
5
  DEV = nil
6
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
7
7
  end
@@ -253,6 +253,16 @@ module Origen
253
253
 
254
254
  # Build the log file from the completed jobs
255
255
  def build_log(options = {})
256
+ @completed_patterns = 0
257
+ @total_vectors = 0
258
+ @total_duration = 0
259
+ @completed_files = 0
260
+ @changed_patterns = 0
261
+ @changed_files = 0
262
+ @new_patterns = 0
263
+ @new_files = 0
264
+ @failed_patterns = 0
265
+ @failed_files = 0
256
266
  log_method = options[:log_file] ? options[:log_file] : :info
257
267
  Origen.log.send(log_method, '*' * 70)
258
268
  completed_jobs.each do |job|
@@ -271,25 +281,25 @@ module Origen
271
281
  begin
272
282
  line.gsub!(/\e\[\d+m/, '') # Remove any coloring
273
283
  if line =~ /Total patterns:\s+(\d+)/
274
- stats.completed_patterns += Regexp.last_match[1].to_i
284
+ @completed_patterns = Regexp.last_match[1].to_i
275
285
  elsif line =~ /Total vectors:\s+(\d+)/
276
- stats.total_vectors += Regexp.last_match[1].to_i
286
+ @total_vectors = Regexp.last_match[1].to_i
277
287
  elsif line =~ /Total duration:\s+(\d+\.\d+)/
278
- stats.total_duration += Regexp.last_match[1].to_f
288
+ @total_duration = Regexp.last_match[1].to_f
279
289
  elsif line =~ /Total files:\s+(\d+)/
280
- stats.completed_files += Regexp.last_match[1].to_i
290
+ @completed_files = Regexp.last_match[1].to_i
281
291
  elsif line =~ /Changed patterns:\s+(\d+)/
282
- stats.changed_patterns += Regexp.last_match[1].to_i
292
+ @changed_patterns = Regexp.last_match[1].to_i
283
293
  elsif line =~ /Changed files:\s+(\d+)/
284
- stats.changed_files += Regexp.last_match[1].to_i
294
+ @changed_files = Regexp.last_match[1].to_i
285
295
  elsif line =~ /New patterns:\s+(\d+)/
286
- stats.new_patterns += Regexp.last_match[1].to_i
296
+ @new_patterns = Regexp.last_match[1].to_i
287
297
  elsif line =~ /New files:\s+(\d+)/
288
- stats.new_files += Regexp.last_match[1].to_i
298
+ @new_files = Regexp.last_match[1].to_i
289
299
  elsif line =~ /FAILED patterns:\s+(\d+)/
290
- stats.failed_patterns += Regexp.last_match[1].to_i
300
+ @failed_patterns = Regexp.last_match[1].to_i
291
301
  elsif line =~ /FAILED files:\s+(\d+)/
292
- stats.failed_files += Regexp.last_match[1].to_i
302
+ @failed_files = Regexp.last_match[1].to_i
293
303
  elsif line =~ /ERROR!/
294
304
  stats.errors += 1
295
305
  Origen.log.send :relog, line, options
@@ -318,6 +328,16 @@ module Origen
318
328
  end
319
329
  end
320
330
  end
331
+ stats.completed_patterns += @completed_patterns
332
+ stats.total_vectors += @total_vectors
333
+ stats.total_duration += @total_duration
334
+ stats.completed_files += @completed_files
335
+ stats.changed_patterns += @changed_patterns
336
+ stats.changed_files += @changed_files
337
+ stats.new_patterns += @new_patterns
338
+ stats.new_files += @new_files
339
+ stats.failed_patterns += @failed_patterns
340
+ stats.failed_files += @failed_files
321
341
  end
322
342
  Origen.log.send(log_method, '*' * 70)
323
343
  stats.print_summary
@@ -134,30 +134,40 @@ module Origen
134
134
  #
135
135
  # @api private
136
136
  def record_invocation(options)
137
- # record_invocation = false
138
- # begin
139
- # # Only record user invocations at this time, also bypass windows since it seems
140
- # # that threads can't be trusted not to block
141
- # unless Origen.running_remotely? # || Origen.running_on_windows?
142
- # record_invocation = Thread.new do
143
- # Origen.client.record_invocation(options[:action]) if options[:action]
144
- # end
145
- # end
146
- # rescue
147
- # # Don't allow this to kill an origen command
148
- # end
137
+ if Origen.site_config.record_invocation == true
138
+ record_invocation = false
139
+ begin
140
+ # Only record user invocations at this time, also bypass windows since it seems
141
+ # that threads can't be trusted not to block
142
+ unless Origen.running_remotely? # || Origen.running_on_windows?
143
+ # rubocop:disable Style/RescueModifier
144
+ record_invocation = Thread.new do
145
+ Origen.client.record_invocation(options[:action]) if options[:action]
146
+ rescue
147
+ # Dont allow server being down to flood the screen with the stacktrace
148
+ end
149
+ # rubocop:enable Style/RescueModifier
150
+ end
151
+ rescue
152
+ # Don't allow this to kill an origen command
153
+ end
154
+ end
155
+ # yield here is really important for the callback tests!!
149
156
  yield
150
- # begin
151
- # unless Origen.running_remotely?
152
- # # Wait for a server response, ideally would like to not wait here, but it seems if not
153
- # # then invocation postings can be dropped, especially on windows
154
- # Origen.profile 'waiting for recording invocation' do
155
- # record_invocation.value
156
- # end
157
- # end
158
- # rescue
159
- # # Don't allow this to kill an origen command
160
- # end
157
+
158
+ if Origen.site_config.record_invocation == true
159
+ begin
160
+ unless Origen.running_remotely?
161
+ # Wait for a server response, ideally would like to not wait here, but it seems if not
162
+ # then invocation postings can be dropped, especially on windows
163
+ Origen.profile 'waiting for recording invocation' do
164
+ record_invocation.value
165
+ end
166
+ end
167
+ rescue
168
+ # Don't allow this to kill an origen command
169
+ end
170
+ end
161
171
  end
162
172
 
163
173
  # The action to take should be set by the action option, but legacy code will pass
data/lib/origen/client.rb CHANGED
@@ -5,15 +5,17 @@ module Origen
5
5
  # https://github.com/jnunemaker/httparty/tree/v0.9.0
6
6
 
7
7
  require 'json'
8
- require 'httparty'
9
- include HTTParty
8
+ require 'net/http'
9
+ # include HTTParty
10
10
 
11
11
  USE_DEV_SERVER = false
12
12
  DEV_PORT = 3000
13
13
 
14
14
  def post(path, options = {})
15
15
  options[:port] = port
16
- self.class.post("#{url}/#{path}", options)
16
+ invocation_url = URI.parse("#{url}/#{path}")
17
+ http = Net::HTTP.new(invocation_url.host, invocation_url.port)
18
+ http.post(invocation_url, JSON.dump(options[:body]), 'Content-type' => 'application/vnd.api+json', 'Accept' => 'text/json, application/vnd.api+json')
17
19
  end
18
20
 
19
21
  def get(path, options = {})
@@ -21,7 +23,11 @@ module Origen
21
23
  end
22
24
 
23
25
  def url
24
- 'http://hub.origen-sdk.org/api'
26
+ if Origen.site_config.invocation_url.nil?
27
+ 'http://localhost:3000'
28
+ else
29
+ Origen.site_config.invocation_url
30
+ end
25
31
  end
26
32
 
27
33
  def port
@@ -29,15 +35,20 @@ module Origen
29
35
  end
30
36
 
31
37
  def record_invocation(command)
32
- data = {
33
- user: Origen.current_user.core_id,
34
- application: Origen.app.config.initials,
35
- app_version: Origen.app.version,
36
- origen_version: Origen.version,
37
- command: command,
38
- platform: Origen.running_on_windows? ? 'windows' : 'linux'
38
+ content = {
39
+ data: {
40
+ type: 'applications',
41
+ attributes: {
42
+ user: Origen.current_user.core_id,
43
+ application: Origen.app.config.initials,
44
+ "app-version": Origen.app.version,
45
+ "origen-version": Origen.version,
46
+ command: command,
47
+ platform: Origen.running_on_windows? ? 'windows' : 'linux'
48
+ }
49
+ }
39
50
  }
40
- post('record_invocation', body: data)
51
+ post('applications', body: content)
41
52
  end
42
53
 
43
54
  # Returns an array of data packets for all plugins
@@ -8,7 +8,7 @@ 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 = "2021-06-17"
11
+ s.date = "2021-08-10"
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
@@ -146,9 +146,11 @@ gem_use_from_system:
146
146
  #ldap_user_id_attribute: uid
147
147
 
148
148
  # LSF Configuration
149
- lsf_queue: 'batchq'
150
- lsf_group: 'nil'
151
- lsf_project: 'msg.te'
152
- lsf_resource: 'rhel6'
153
- lsf_cores: '1'
149
+ # lsf_queue: 'batchq'
150
+ # lsf_group: 'nil'
151
+ # lsf_project: 'msg.te'
152
+ # lsf_resource: 'rhel6'
153
+ # lsf_cores: '1'
154
+
155
+ # lsf_debug is needed for spec tests on the core.
154
156
  lsf_debug: 'false'
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.60.1
4
+ version: 0.60.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-17 00:00:00.000000000 Z
11
+ date: 2021-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -749,7 +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
- rubygems_version: 3.0.1
752
+ rubygems_version: 3.2.31
753
753
  signing_key:
754
754
  specification_version: 4
755
755
  summary: The Semiconductor Developer's Kit