origen 0.55.5 → 0.58.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 +4 -4
- data/config/rubocop/strict_enabled.yml +1 -1
- data/config/version.rb +2 -2
- data/lib/origen.rb +3 -0
- data/lib/origen/application/lsf_manager.rb +8 -8
- data/lib/origen/application/workspace_manager.rb +1 -1
- data/lib/origen/core_ext/numeric.rb +11 -11
- data/lib/origen/generator/pattern.rb +16 -2
- data/lib/origen/generator/pattern_sequence.rb +49 -5
- data/lib/origen/generator/pattern_sequencer.rb +19 -0
- data/lib/origen/generator/pattern_thread.rb +3 -1
- data/lib/origen/log.rb +5 -2
- data/lib/origen/pins/pin.rb +18 -0
- data/lib/origen/regression_manager.rb +15 -8
- data/lib/origen/revision_control/git.rb +1 -0
- data/origen_app_generators/origen_app_generators.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e328347b1a702ec37c86bbf6dbc0d65c9bf9376479fca31e4adc5208043f749
|
4
|
+
data.tar.gz: c72f5d3bbddbe4d4374450a828db82b14c3af5ea1177366e3cb62b2051037115
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 441978473ed06d1df7f8ba36cd6734e5057de398846b7be6856c14e1d8a4973cc8d896958ab70dc69dccb44dea85012264006069afb50ec5406324c016841554
|
7
|
+
data.tar.gz: 21a81041aa01df9774cb94303e016460b070c7c9f296a5297148018c9d314a995ade0aa3432b959232bb70c524fe4249eb7912ecdf7798f273f46cfe3f493a4f
|
@@ -240,7 +240,7 @@ Style/InfiniteLoop:
|
|
240
240
|
Style/Lambda:
|
241
241
|
Description: 'Use the new lambda literal syntax for single-line blocks.'
|
242
242
|
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
|
243
|
-
Enabled:
|
243
|
+
Enabled: false
|
244
244
|
|
245
245
|
Style/LambdaCall:
|
246
246
|
Description: 'Use lambda.call(...) instead of lambda.(...).'
|
data/config/version.rb
CHANGED
data/lib/origen.rb
CHANGED
@@ -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(
|
256
|
-
|
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.
|
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
|
-
|
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.
|
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
|
|
@@ -54,27 +54,27 @@ class Numeric
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def as_units(units)
|
57
|
-
if
|
57
|
+
if abs >= 1_000_000_000_000_000
|
58
58
|
"#{self / 1_000_000_000_000_000.0}P#{units}"
|
59
|
-
elsif
|
59
|
+
elsif abs >= 1_000_000_000_000
|
60
60
|
"#{self / 1_000_000_000_000.0}T#{units}"
|
61
|
-
elsif
|
61
|
+
elsif abs >= 1_000_000_000
|
62
62
|
"#{self / 1_000_000_000.0}G#{units}"
|
63
|
-
elsif
|
63
|
+
elsif abs >= 1_000_000
|
64
64
|
"#{self / 1_000_000.0}M#{units}"
|
65
|
-
elsif
|
65
|
+
elsif abs >= 1_000
|
66
66
|
"#{self / 1_000.0}k#{units}"
|
67
|
-
elsif
|
67
|
+
elsif abs >= 1
|
68
68
|
"#{self}#{units}"
|
69
|
-
elsif
|
69
|
+
elsif abs >= 1e-3
|
70
70
|
"#{self * 1_000}m#{units}"
|
71
|
-
elsif
|
71
|
+
elsif abs >= 1e-6
|
72
72
|
"#{self * 1_000_000}u#{units}"
|
73
|
-
elsif
|
73
|
+
elsif abs >= 1e-9
|
74
74
|
"#{self * 1_000_000_000}n#{units}"
|
75
|
-
elsif
|
75
|
+
elsif abs >= 1e-12
|
76
76
|
"#{self * 1_000_000_000_000}p#{units}"
|
77
|
-
elsif
|
77
|
+
elsif abs >= 1e-15
|
78
78
|
"#{self * 1_000_000_000_000_000}a#{units}"
|
79
79
|
else
|
80
80
|
"%.3e#{units}" % self
|
@@ -91,9 +91,23 @@ module Origen
|
|
91
91
|
# end
|
92
92
|
|
93
93
|
@pattern_sequence = true
|
94
|
-
|
94
|
+
|
95
|
+
# The startup callbacks need to be skipped for now until the main thread is open for business
|
96
|
+
pattern_wrapper([], [], options.merge(call_startup_callbacks: false)) do
|
97
|
+
# The startup callbacks, if required, need to be wrapped up in a closure for calling
|
98
|
+
# later by the main thread
|
99
|
+
if (options.key?(:call_startup_callbacks) && !options[:call_startup_callbacks]) || options[:skip_startup]
|
100
|
+
pre_block = nil
|
101
|
+
else
|
102
|
+
pre_block = proc do
|
103
|
+
# Call startup callbacks
|
104
|
+
Origen.app.listeners_for(:startup).each do |listener|
|
105
|
+
listener.startup(options)
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
95
109
|
PatternSequencer.send(:active=, true)
|
96
|
-
@pattern_sequence = PatternSequence.new(job.output_pattern_filename, block)
|
110
|
+
@pattern_sequence = PatternSequence.new(job.output_pattern_filename, block, pre_block)
|
97
111
|
@pattern_sequence.send(:execute)
|
98
112
|
PatternSequencer.send(:active=, false)
|
99
113
|
end
|
@@ -5,15 +5,17 @@ module Origen
|
|
5
5
|
# Manages a single pattern sequence, i.e. an instance of PatternSequence is
|
6
6
|
# created for every Pattern.sequence do ... end block
|
7
7
|
class PatternSequence
|
8
|
-
def initialize(name, block)
|
8
|
+
def initialize(name, block, pre_block = nil)
|
9
9
|
@number_of_threads = 1
|
10
10
|
@name = name
|
11
11
|
@running_thread_ids = { main: true }
|
12
12
|
# The contents of the main Pattern.sequence block will be executed as a thread and treated
|
13
13
|
# like any other parallel block
|
14
|
-
thread = PatternThread.new(:main, self, block, true)
|
14
|
+
thread = PatternThread.new(:main, self, block, true, pre_block)
|
15
15
|
threads << thread
|
16
16
|
active_threads << thread
|
17
|
+
PatSeq.send(:current_sequence=, self)
|
18
|
+
@sync_ups = {}
|
17
19
|
end
|
18
20
|
|
19
21
|
# Execute the given pattern
|
@@ -45,7 +47,7 @@ module Origen
|
|
45
47
|
end
|
46
48
|
alias_method :in_parallel, :thread
|
47
49
|
|
48
|
-
def
|
50
|
+
def wait_for_threads_to_complete(*ids)
|
49
51
|
completed = false
|
50
52
|
blocked = false
|
51
53
|
ids = ids.map(&:to_sym)
|
@@ -71,10 +73,48 @@ module Origen
|
|
71
73
|
end
|
72
74
|
end
|
73
75
|
end
|
74
|
-
alias_method :wait_for_thread, :
|
76
|
+
alias_method :wait_for_thread, :wait_for_threads_to_complete
|
77
|
+
alias_method :wait_for_threads, :wait_for_threads_to_complete
|
78
|
+
alias_method :wait_for_thread_to_complete, :wait_for_threads_to_complete
|
75
79
|
|
76
80
|
private
|
77
81
|
|
82
|
+
def sync_up(location, *ids)
|
83
|
+
options = ids.pop if ids.last.is_a?(Hash)
|
84
|
+
options ||= {}
|
85
|
+
ids = ids.map(&:to_sym)
|
86
|
+
if ids.empty? || ids.include?(:all)
|
87
|
+
ids = @running_thread_ids.keys
|
88
|
+
ids.delete(:main) unless options[:include_main]
|
89
|
+
end
|
90
|
+
# Just continue if this thread is not in the list
|
91
|
+
return unless ids.include?(current_thread.id)
|
92
|
+
# If we have entered the same sync up point after having previously completed it,
|
93
|
+
# then clear it and start again
|
94
|
+
if @sync_ups[location] && @sync_ups[location][:completed]
|
95
|
+
@sync_ups[location] = nil
|
96
|
+
end
|
97
|
+
# Don't need to worry about race conditions here as Origen only allows 1 thread
|
98
|
+
# to be active at a time
|
99
|
+
if @sync_ups[location]
|
100
|
+
@sync_ups[location][:arrived] << current_thread.id
|
101
|
+
else
|
102
|
+
@sync_ups[location] = { required: Set.new, arrived: Set.new, completed: false }
|
103
|
+
ids.each { |id| @sync_ups[location][:required] << id }
|
104
|
+
@sync_ups[location][:arrived] << current_thread.id
|
105
|
+
end
|
106
|
+
if @sync_ups[location][:required] == @sync_ups[location][:arrived]
|
107
|
+
@sync_ups[location][:completed] = true
|
108
|
+
end
|
109
|
+
blocked = false
|
110
|
+
until @sync_ups[location][:completed]
|
111
|
+
current_thread.waiting_for_thread(blocked)
|
112
|
+
blocked = true
|
113
|
+
Origen.log.debug "Waiting for sync_up: #{@sync_ups}"
|
114
|
+
end
|
115
|
+
current_thread.record_active if blocked
|
116
|
+
end
|
117
|
+
|
78
118
|
def thread_running?(id)
|
79
119
|
@running_thread_ids[id]
|
80
120
|
end
|
@@ -86,7 +126,11 @@ module Origen
|
|
86
126
|
def log_execution_profile
|
87
127
|
if threads.size > 1
|
88
128
|
thread_id_size = threads.map { |t| t.id.to_s.size }.max
|
89
|
-
|
129
|
+
begin
|
130
|
+
line_size = IO.console.winsize[1] - 35 - thread_id_size
|
131
|
+
rescue
|
132
|
+
line_size = 150
|
133
|
+
end
|
90
134
|
line_size -= 16 if tester.try(:sim?)
|
91
135
|
cycles_per_tick = (@cycle_count_stop / (line_size * 1.0)).ceil
|
92
136
|
if tester.try(:sim?)
|
@@ -81,8 +81,27 @@ module Origen
|
|
81
81
|
str
|
82
82
|
end
|
83
83
|
|
84
|
+
# Wait for the given threads to complete. If no IDs given it will wait for all currently running
|
85
|
+
# threads (except for the one who called this) to complete.
|
86
|
+
def wait_for_threads_to_complete(*ids)
|
87
|
+
@current_sequence.wait_for_threads_to_complete(*ids)
|
88
|
+
end
|
89
|
+
alias_method :wait_for_thread, :wait_for_threads_to_complete
|
90
|
+
alias_method :wait_for_threads, :wait_for_threads_to_complete
|
91
|
+
alias_method :wait_for_thread_to_complete, :wait_for_threads_to_complete
|
92
|
+
|
93
|
+
def sync_up(*ids)
|
94
|
+
if @current_sequence
|
95
|
+
@current_sequence.send(:sync_up, caller[0], *ids)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
84
99
|
private
|
85
100
|
|
101
|
+
def current_sequence=(seq)
|
102
|
+
@current_sequence = seq
|
103
|
+
end
|
104
|
+
|
86
105
|
def active=(val)
|
87
106
|
@active = val
|
88
107
|
end
|
@@ -14,7 +14,7 @@ module Origen
|
|
14
14
|
# A record of when the thread is active to construct the execution profile
|
15
15
|
attr_reader :events
|
16
16
|
|
17
|
-
def initialize(id, sequence, block, primary = false)
|
17
|
+
def initialize(id, sequence, block, primary = false, pre_block = nil)
|
18
18
|
if primary
|
19
19
|
@cycle_count_start = 0
|
20
20
|
else
|
@@ -24,6 +24,7 @@ module Origen
|
|
24
24
|
@id = id.to_sym
|
25
25
|
@sequence = sequence
|
26
26
|
@block = block
|
27
|
+
@pre_block = pre_block
|
27
28
|
@primary = primary
|
28
29
|
@running = Concurrent::Event.new
|
29
30
|
@waiting = Concurrent::Event.new
|
@@ -46,6 +47,7 @@ module Origen
|
|
46
47
|
@thread = Thread.new do
|
47
48
|
PatSeq.send(:thread=, self)
|
48
49
|
wait
|
50
|
+
@pre_block.call if @pre_block
|
49
51
|
@block.call(sequence)
|
50
52
|
sequence.send(:thread_completed, self)
|
51
53
|
record_cycle_count_stop
|
data/lib/origen/log.rb
CHANGED
@@ -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
|
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*/, '')
|
data/lib/origen/pins/pin.rb
CHANGED
@@ -443,6 +443,24 @@ module Origen
|
|
443
443
|
end
|
444
444
|
alias_method :add_locn, :add_location
|
445
445
|
|
446
|
+
# Add a way to update packages for the pins after the pins have been added.
|
447
|
+
#
|
448
|
+
# @example Updating a package after the pin has been added
|
449
|
+
# dut.add_pin :p1
|
450
|
+
# dut.add_package: package1
|
451
|
+
# dut.add_package: package2
|
452
|
+
# dut.pin(:p1).packages # => {}
|
453
|
+
# dut.pin(:p1).update_packages :packages # => [:package1, :package2]
|
454
|
+
# dut.pin(:p1).packages # => {:package1=>{}, :package2=>{}}
|
455
|
+
def update_packages(options = {})
|
456
|
+
packages = resolve_packages(options)
|
457
|
+
packages.each do |package_id|
|
458
|
+
package_id = package_id.respond_to?(:id) ? package_id.id : package_id
|
459
|
+
myself.packages[package_id] ||= {}
|
460
|
+
end
|
461
|
+
end
|
462
|
+
alias_method :update_package, :update_packages
|
463
|
+
|
446
464
|
# Add a Device Interface Board (e.g. probecard at wafer probe or loadboard at final package test)
|
447
465
|
# assignment to the pin. Some refer to this as a channel but API name is meant to be generic.
|
448
466
|
def add_dib_assignment(str, options = {})
|
@@ -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
|
-
|
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
|
-
|
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
|
@@ -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 = "2020-
|
11
|
+
s.date = "2020-09-01"
|
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
|
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.
|
4
|
+
version: 0.58.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-
|
11
|
+
date: 2020-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|