origen 0.41.1 → 0.41.2
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/model/exporter.rb +3 -3
- data/lib/origen/revision_control/git.rb +20 -1
- data/vendor/lib/models/origen/export1.rb +1 -1
- data/vendor/lib/models/origen/export1/block1/x.rb +2 -2
- metadata +2 -3
- data/bin/origen~ +0 -239
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1571654b1fb8ce9f36cd1566c0a5b2a7869fb0e21993071eafbf229a1638067
|
4
|
+
data.tar.gz: e7902193820b6e205ead59092809c1c8652561486dff0a6e65a23fe32b23960a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6538ba086f9417aeef6bbb4e509dde390c8197834853a6accec86e56e9c511e01b9daa332590c8a10f55f2555331c229b8a5b75d1ccf228107d28002e5c84a90
|
7
|
+
data.tar.gz: 7e697e7e4b29f0fe7200c45f7f1771eaedc184ffc753c1ec9e279534be00dc20dd09f166308e9bdee0dd1c326fe36e19b6a5f04e3f2453cc48554e13f9e0091c
|
data/config/version.rb
CHANGED
@@ -114,7 +114,7 @@ module Origen
|
|
114
114
|
attr_end_str = (attr == pin_pkg_meta.keys.last) ? ' }' : ', '
|
115
115
|
case attr_val
|
116
116
|
when String
|
117
|
-
str << "
|
117
|
+
str << "\"#{attr_val.gsub('"', '\"')}\"#{attr_end_str}"
|
118
118
|
else
|
119
119
|
str << "#{attr_val}#{attr_end_str}"
|
120
120
|
end
|
@@ -232,7 +232,7 @@ module Origen
|
|
232
232
|
if value.is_a?(Symbol)
|
233
233
|
line << ", #{key}: :#{value}"
|
234
234
|
elsif value.is_a?(String)
|
235
|
-
line << ", #{key}:
|
235
|
+
line << ", #{key}: \"#{value.gsub('"', '\"')}\""
|
236
236
|
else
|
237
237
|
line << ", #{key}: #{value}" unless value.nil?
|
238
238
|
end
|
@@ -284,7 +284,7 @@ module Origen
|
|
284
284
|
if value.is_a?(Symbol)
|
285
285
|
ret_str += ", #{key}: :#{value}"
|
286
286
|
elsif value.is_a?(String)
|
287
|
-
ret_str += ", #{key}:
|
287
|
+
ret_str += ", #{key}: \"#{value.gsub('"', '\"')}\""
|
288
288
|
else
|
289
289
|
ret_str += ", #{key}: #{value}" unless value.nil?
|
290
290
|
end
|
@@ -11,6 +11,25 @@ module Origen
|
|
11
11
|
nil
|
12
12
|
end
|
13
13
|
|
14
|
+
# Returns the Git version number from the current runtime environment (as a string)
|
15
|
+
def self.version
|
16
|
+
@version ||= begin
|
17
|
+
version = nil
|
18
|
+
git('--version', verbose: false).each do |line|
|
19
|
+
if line =~ /git version (\d+(\.\d+)+)/
|
20
|
+
version = Regexp.last_match(1)
|
21
|
+
break
|
22
|
+
end
|
23
|
+
end
|
24
|
+
if version
|
25
|
+
version
|
26
|
+
else
|
27
|
+
Origen.log.warning 'Failed to determine the current Git version, proceeding by assuming version 2.0.0'
|
28
|
+
'2.0.0'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
14
33
|
def build(options = {})
|
15
34
|
if Dir["#{local}/*"].empty? || options[:force]
|
16
35
|
FileUtils.rm_rf(local.to_s)
|
@@ -262,7 +281,7 @@ module Origen
|
|
262
281
|
end
|
263
282
|
File.exist?("#{local}/.git") &&
|
264
283
|
git('remote -v', verbose: false).any? { |r| r =~ /#{remote_without_protocol_and_user}/ || r =~ /#{remote_without_protocol_and_user.to_s.gsub(':', "\/")}/ } &&
|
265
|
-
!git('status', verbose: false).any? { |l| l =~ /^#? ?Initial commit$/ }
|
284
|
+
!git('status', verbose: false).any? { |l| l =~ /^#? ?(Initial commit|No commits yet)$/ }
|
266
285
|
end
|
267
286
|
|
268
287
|
# Delete everything in the given directory, or the whole repo
|
@@ -7,7 +7,7 @@ module Origen
|
|
7
7
|
model.add_package :pcs
|
8
8
|
model.add_pin :pinx
|
9
9
|
model.add_pin :piny, reset: :drive_hi, direction: :output, meta: { a: '1', b: 2 }
|
10
|
-
model.add_pin :tdo, packages: { bga: { location:
|
10
|
+
model.add_pin :tdo, packages: { bga: { location: "BF32", dib_assignment: [10104] }, pcs: { location: "BF30", dib_assignment: [31808] } }
|
11
11
|
model.add_pin :porta31
|
12
12
|
model.add_pin :porta30
|
13
13
|
model.add_pin :porta29
|
@@ -8,7 +8,7 @@ module Origen
|
|
8
8
|
# ** Some Control Register **
|
9
9
|
# Blah, blah,
|
10
10
|
# and some more blah
|
11
|
-
model.add_reg :ctrl, 0x24, size: 16
|
11
|
+
model.add_reg :ctrl, 0x24, size: 16 , str_meta: "a's", str_meta2: "\"works?\"" do |reg|
|
12
12
|
reg.bit 7, :coco, access: :ro
|
13
13
|
reg.bit 6, :aien
|
14
14
|
# **Some Diff Bit** - This is a...
|
@@ -22,7 +22,7 @@ module Origen
|
|
22
22
|
# ** A MSB0 Test Case **
|
23
23
|
# Blah-ba-bi-blah
|
24
24
|
# just following the comment pattern above
|
25
|
-
model.add_reg :msb0_test, 0x28, size: 16 , bit_order: :msb0, some_attr: true, another_attr: :testing, fourth_attr:
|
25
|
+
model.add_reg :msb0_test, 0x28, size: 16 , bit_order: :msb0, some_attr: true, another_attr: :testing, fourth_attr: "string_attr" do |reg|
|
26
26
|
reg.bit 8, :ale
|
27
27
|
reg.bit 9, :xsfg
|
28
28
|
reg.bit 10, :yml
|
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.41.
|
4
|
+
version: 0.41.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -383,7 +383,6 @@ extensions: []
|
|
383
383
|
extra_rdoc_files: []
|
384
384
|
files:
|
385
385
|
- bin/origen
|
386
|
-
- bin/origen~
|
387
386
|
- config/application.rb
|
388
387
|
- config/boot.rb
|
389
388
|
- config/commands.rb
|
data/bin/origen~
DELETED
@@ -1,239 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
$VERBOSE = nil # Don't care about world writable dir warnings and the like
|
3
|
-
|
4
|
-
require 'pathname'
|
5
|
-
require 'fileutils'
|
6
|
-
#require 'byebug' # Un-comment to debug this file
|
7
|
-
|
8
|
-
class OrigenBootError < StandardError
|
9
|
-
end
|
10
|
-
|
11
|
-
# Keep a note of the pwd at the time when Origen was first loaded, this is initially used
|
12
|
-
# by the site_config lookup.
|
13
|
-
$_origen_invocation_pwd ||= Pathname.pwd
|
14
|
-
|
15
|
-
load File.expand_path('../../lib/origen/operating_systems.rb', __FILE__)
|
16
|
-
load File.expand_path('../../lib/origen/site_config.rb', __FILE__)
|
17
|
-
|
18
|
-
# This will be referenced later in ruby_version_check, the origen used to launch
|
19
|
-
# the process is different than the one that actually runs under bundler
|
20
|
-
$origen_launch_root = Pathname.new(File.dirname(__FILE__)).parent
|
21
|
-
|
22
|
-
# Override any influence from $LANG in the users environment
|
23
|
-
Encoding.default_external = Encoding::UTF_8
|
24
|
-
Encoding.default_internal = Encoding::UTF_8
|
25
|
-
ENV['LC_ALL'] = nil
|
26
|
-
ENV['LANG'] = nil
|
27
|
-
ENV['LANG'] = 'en_US.UTF-8'
|
28
|
-
|
29
|
-
# Work out what Origen.root is if we are running inside an Origen application, this will be
|
30
|
-
# later used to execute from that app's bundle even if the origen executable lives somewhere
|
31
|
-
# else (e.g. in the tools repository)
|
32
|
-
app_config = File.join('config', 'application.rb')
|
33
|
-
if File.exist?(app_config)
|
34
|
-
origen_root = Dir.pwd
|
35
|
-
else
|
36
|
-
path = Pathname.new(Dir.pwd)
|
37
|
-
until path.root? || origen_root
|
38
|
-
if File.exist?(File.join(path, app_config))
|
39
|
-
origen_root = path.to_s
|
40
|
-
else
|
41
|
-
path = path.parent
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# If running inside an application workspace
|
47
|
-
if origen_root
|
48
|
-
# Force everyone to have a consistent way of installing gems with bundler
|
49
|
-
ENV['BUNDLE_GEMFILE'] = File.join(origen_root, 'Gemfile')
|
50
|
-
ENV['BUNDLE_PATH'] = File.expand_path(Origen.site_config.gem_install_dir)
|
51
|
-
ENV['BUNDLE_BIN'] = File.join(origen_root, 'lbin')
|
52
|
-
|
53
|
-
# If it looks like a bundled binstub of origen exists, and we have not been invoked through that,
|
54
|
-
# then run that instead.
|
55
|
-
if Origen.site_config.gem_manage_bundler && File.exist?("#{origen_root}/lbin/origen") && !ENV['BUNDLE_BIN_PATH'] &&
|
56
|
-
File.exist?(File.expand_path(Origen.site_config.gem_install_dir))
|
57
|
-
exec Gem.ruby, "#{origen_root}/lbin/origen", *ARGV
|
58
|
-
exit 0
|
59
|
-
end
|
60
|
-
|
61
|
-
boot_app = true
|
62
|
-
|
63
|
-
# If running outside an application and a user or central tool Origen bundle is to be used
|
64
|
-
elsif Origen.site_config.gem_manage_bundler && (Origen.site_config.user_install_enable || Origen.site_config.tool_repo_install_dir)
|
65
|
-
# Force everyone to have a consistent way of installing gems with bundler.
|
66
|
-
# In this case, we aren't running from an Origen application, so build everything at Origen.home instead
|
67
|
-
# Have two options here: if user_install_enable is true, use user_install_dir. Otherwise, use the tool_repo_install_dir
|
68
|
-
Origen.site_config.user_install_enable ? origen_root = File.expand_path(Origen.site_config.user_install_dir) : origen_root = File.expand_path(Origen.site_config.tool_repo_install_dir)
|
69
|
-
unless Dir.exists?(origen_root)
|
70
|
-
load File.expand_path('../../lib/origen/utility/input_capture.rb', __FILE__)
|
71
|
-
include Origen::Utility::InputCapture
|
72
|
-
|
73
|
-
puts "Root directory '#{origen_root}' does not exist. Would you like to create it?"
|
74
|
-
if get_text(confirm: :return_boolean)
|
75
|
-
FileUtils.mkdir(origen_root)
|
76
|
-
else
|
77
|
-
puts "Exiting with creating Origen install"
|
78
|
-
exit!
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
gemfile = File.join(origen_root, 'Gemfile')
|
83
|
-
unless File.exists?(gemfile)
|
84
|
-
# Create a default Gemfile that can be further customized by the user.
|
85
|
-
# Initial Gemfile only requires Origen. Nothing else. Essentially a blank installation.
|
86
|
-
Dir.chdir(origen_root) do
|
87
|
-
`bundle init`
|
88
|
-
end
|
89
|
-
# The above will give a general Gemfile from Bundler. We'll just append "gem 'origen' to the end.
|
90
|
-
File.open(gemfile, 'a') do |f|
|
91
|
-
f << "gem 'origen'\n"
|
92
|
-
end
|
93
|
-
end
|
94
|
-
ENV['BUNDLE_GEMFILE'] = gemfile
|
95
|
-
ENV['BUNDLE_PATH'] = File.expand_path(Origen.site_config.gem_install_dir)
|
96
|
-
ENV['BUNDLE_BIN'] = File.join(origen_root, 'lbin')
|
97
|
-
|
98
|
-
origen_exec = File.join(ENV['BUNDLE_BIN'], 'origen')
|
99
|
-
|
100
|
-
# If the user/tool bundle already exists but we have not been invoked through that, abort this thread
|
101
|
-
# and re-launch under the required bundler environment
|
102
|
-
if File.exist?(origen_exec) && !ENV['BUNDLE_BIN_PATH'] && File.exist?(ENV['BUNDLE_PATH'])
|
103
|
-
exec Gem.ruby, origen_exec, *ARGV
|
104
|
-
exit 0
|
105
|
-
else
|
106
|
-
boot_app = false
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
if origen_root && File.exist?(ENV['BUNDLE_GEMFILE']) && Origen.site_config.gem_manage_bundler && (boot_app || Origen.site_config.user_install_enable || Origen.site_config.tool_repo_install_dir)
|
111
|
-
# Overriding bundler here so that bundle install can be automated as required
|
112
|
-
require 'bundler/shared_helpers'
|
113
|
-
if Bundler::SharedHelpers.in_bundle?
|
114
|
-
require 'bundler'
|
115
|
-
if STDOUT.tty?
|
116
|
-
begin
|
117
|
-
fail OrigenBootError unless File.exist?(ENV['BUNDLE_BIN'])
|
118
|
-
Bundler.setup
|
119
|
-
fail OrigenBootError unless File.exist?(ENV['BUNDLE_BIN'])
|
120
|
-
rescue Gem::LoadError, Bundler::BundlerError, OrigenBootError => e
|
121
|
-
cmd = "bundle install --gemfile #{ENV['BUNDLE_GEMFILE']} --binstubs #{ENV['BUNDLE_BIN']} --path #{ENV['BUNDLE_PATH']}"
|
122
|
-
# puts cmd
|
123
|
-
puts 'Installing required gems...'
|
124
|
-
puts
|
125
|
-
`chmod o-w #{origen_root}` # Stops some annoying world writable warnings during install
|
126
|
-
`chmod o-w #{origen_root}/bin` if File.exist?("#{origen_root}/bin")
|
127
|
-
`chmod o-w #{origen_root}/.bin` if File.exist?("#{origen_root}/.bin")
|
128
|
-
result = false
|
129
|
-
|
130
|
-
Bundler.with_clean_env do
|
131
|
-
if Origen.os.unix?
|
132
|
-
if Origen.site_config.gem_build_switches
|
133
|
-
Origen.site_config.gem_build_switches.each do |switches|
|
134
|
-
`bundle config build.#{switches}`
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|
138
|
-
result = system(cmd)
|
139
|
-
end
|
140
|
-
`chmod o-w #{ENV['BUNDLE_BIN']}`
|
141
|
-
# Make .bat versions of all executables, Bundler should really be doing this when running
|
142
|
-
# on windows
|
143
|
-
if Origen.os.windows?
|
144
|
-
bat_present = File.exist? "#{origen_root}/lbin/origen.bat"
|
145
|
-
Dir.glob("#{origen_root}/lbin/*").each do |bin|
|
146
|
-
unless bin =~ /.bat$/
|
147
|
-
bat = "#{bin}.bat"
|
148
|
-
unless File.exist?(bat)
|
149
|
-
File.open(bat, 'w') { |f| f.write('@"ruby.exe" "%~dpn0" %*') }
|
150
|
-
end
|
151
|
-
end
|
152
|
-
end
|
153
|
-
if !bat_present && !result
|
154
|
-
puts 'Some Windows specific updates to your workspace were required, please re-run the last command'
|
155
|
-
exit 0
|
156
|
-
end
|
157
|
-
end
|
158
|
-
if result
|
159
|
-
exec "origen #{ARGV.join(' ')}"
|
160
|
-
exit 0
|
161
|
-
else
|
162
|
-
puts
|
163
|
-
puts "If you have just updated a gem version and are now getting an error that Bundler cannot find compatible versions for it then first try running 'bundle update <gemname>'."
|
164
|
-
puts "For example if you have just changed the version of origen_core run 'bundle update origen_core'."
|
165
|
-
exit 1
|
166
|
-
end
|
167
|
-
end
|
168
|
-
else
|
169
|
-
Bundler.setup
|
170
|
-
end
|
171
|
-
end
|
172
|
-
require 'bundler/setup'
|
173
|
-
if Origen.site_config.use_bootsnap && !Origen.os.windows?
|
174
|
-
puts 'Gettin bootsnappy up in here!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
|
175
|
-
ENV["BOOTSNAP_CACHE_DIR"] ||= "#{origen_root}/tmp/cache"
|
176
|
-
require 'bootsnap/setup'
|
177
|
-
else
|
178
|
-
puts 'NOT SO SNAPPY'
|
179
|
-
end
|
180
|
-
require 'origen'
|
181
|
-
else
|
182
|
-
$LOAD_PATH.unshift "#{File.expand_path(File.dirname(__FILE__))}/../lib"
|
183
|
-
require 'origen'
|
184
|
-
end
|
185
|
-
|
186
|
-
begin
|
187
|
-
# If this script has been invoked from within an Origen application then open
|
188
|
-
# up all commands, if not then only allow the command to create a new Origen
|
189
|
-
# application.
|
190
|
-
if origen_root && boot_app
|
191
|
-
require 'origen/commands'
|
192
|
-
else
|
193
|
-
require 'origen/commands_global'
|
194
|
-
end
|
195
|
-
rescue Exception => e
|
196
|
-
# A formatted stack dump will not be printed if the application ends via 'exit 0' or 'exit 1'. In that
|
197
|
-
# case the application code is responsible for printing a helpful error message.
|
198
|
-
# This will intercept all other exits, e.g. via 'fail "Something has done wrong"', and split the stack
|
199
|
-
# dump to separate all in-application references from Origen core/plugin references.
|
200
|
-
if e.is_a?(SystemExit)
|
201
|
-
exit e.status
|
202
|
-
else
|
203
|
-
puts
|
204
|
-
if Origen.app_loaded?
|
205
|
-
puts 'COMPLETE CALL STACK'
|
206
|
-
puts '-------------------'
|
207
|
-
puts e.message unless e.is_a?(SystemExit)
|
208
|
-
puts e.backtrace
|
209
|
-
|
210
|
-
puts
|
211
|
-
puts 'APPLICATION CALL STACK'
|
212
|
-
puts '----------------------'
|
213
|
-
puts e.message unless e.is_a?(SystemExit)
|
214
|
-
# Only print out the application stack trace by default, if verbose logging is
|
215
|
-
# enabled then output the full thing
|
216
|
-
e.backtrace.each do |line|
|
217
|
-
path = Pathname.new(line)
|
218
|
-
if path.absolute?
|
219
|
-
if line =~ /^#{Origen.root}/ && line !~ /^#{Origen.root}\/lbin/
|
220
|
-
puts line
|
221
|
-
end
|
222
|
-
else
|
223
|
-
puts line unless line =~ /^.\/lbin/
|
224
|
-
end
|
225
|
-
end
|
226
|
-
else
|
227
|
-
puts 'COMPLETE CALL STACK'
|
228
|
-
puts '-------------------'
|
229
|
-
puts e.message unless e.is_a?(SystemExit)
|
230
|
-
puts e.backtrace
|
231
|
-
end
|
232
|
-
exit 1
|
233
|
-
end
|
234
|
-
ensure
|
235
|
-
if Origen.app_loaded?
|
236
|
-
Origen.app.listeners_for(:on_origen_shutdown).each(&:on_origen_shutdown)
|
237
|
-
Origen.app.runner.shutdown
|
238
|
-
end
|
239
|
-
end
|