origen 0.10.1 → 0.11.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/bin/fix_my_workspace +78 -0
- data/bin/origen +0 -30
- data/config/version.rb +2 -2
- metadata +5 -5
- data/bin/update +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b03ec3627ba26fc085e2a5302472d6bf13522bb
|
4
|
+
data.tar.gz: e915a39f3b40a64aa4255b13293570b37abdd765
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 958952409ba581f177774cc2dbe23eb42cc018fdf64eca2faa1708f7356c73beebc886678c4cb0fb6e8d7fac726f1fc20979cd7e233ced7d848a7724a8fd92bb
|
7
|
+
data.tar.gz: 5ad6fb24cdf7c84f05bf7cc854c917e63e86c29eb133eee45f6e5ced7ac870ca108be1a0dcc4456af8f0d7f9696cecfe9103a4a76632ffc88eaf7a2a73360cab
|
@@ -0,0 +1,78 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$VERBOSE = nil # Don't care about world writable dir warnings and the like
|
3
|
+
|
4
|
+
if $_fix_my_workspace_version_check
|
5
|
+
$_fix_my_workspace_version = '0.5.0'
|
6
|
+
else
|
7
|
+
require 'origen'
|
8
|
+
|
9
|
+
if !Origen.site_config.gem_manage_bundler
|
10
|
+
puts 'Sorry but you have opted to manage Bundler yourself via your Origen site config, and this means'
|
11
|
+
puts 'that I cannot make certain assumptions about how your workspace is configured.'
|
12
|
+
puts 'You will need to either resolve this problem yourself, or else change the value of'
|
13
|
+
puts 'gem_mange_bundler to true.'
|
14
|
+
puts 'See here for more details on how to do that: http://origen-sdk.org/origen/guides/starting/company/'
|
15
|
+
|
16
|
+
else
|
17
|
+
ENV['BUNDLE_GEMFILE'] = File.join(Origen.root, 'Gemfile')
|
18
|
+
ENV['BUNDLE_PATH'] = File.expand_path(Origen.site_config.gem_install_dir)
|
19
|
+
ENV['BUNDLE_BIN'] = File.join(Origen.root, 'lbin')
|
20
|
+
|
21
|
+
# Force copy system gems to local gems
|
22
|
+
if Origen.site_config.gem_use_from_system
|
23
|
+
local_gem_dir = "#{ENV['BUNDLE_PATH']}/ruby/#{Pathname.new(Gem.dir).basename}"
|
24
|
+
gem_dir = Pathname.new(Gem.dir)
|
25
|
+
|
26
|
+
Origen.site_config.gem_use_from_system.each do |gem, version|
|
27
|
+
begin
|
28
|
+
# This will raise an error if the system doesn't have this gem installed, that
|
29
|
+
# will be rescued below
|
30
|
+
spec = Gem::Specification.find_by_name(gem, version)
|
31
|
+
|
32
|
+
local_dir = File.join(local_gem_dir, Pathname.new(spec.gem_dir).relative_path_from(gem_dir))
|
33
|
+
FileUtils.mkdir_p local_dir
|
34
|
+
FileUtils.cp_r("#{spec.gem_dir}/.", local_dir)
|
35
|
+
|
36
|
+
local_file = Pathname.new(File.join(local_gem_dir, Pathname.new(spec.cache_file).relative_path_from(gem_dir)))
|
37
|
+
FileUtils.mkdir_p local_file.dirname
|
38
|
+
FileUtils.cp(spec.cache_file, local_file)
|
39
|
+
|
40
|
+
if spec.extension_dir && File.exist?(spec.extension_dir)
|
41
|
+
local_dir = File.join(local_gem_dir, Pathname.new(spec.extension_dir).relative_path_from(gem_dir))
|
42
|
+
FileUtils.mkdir_p local_dir
|
43
|
+
FileUtils.cp_r("#{spec.extension_dir}/.", local_dir)
|
44
|
+
end
|
45
|
+
|
46
|
+
local_file = Pathname.new(File.join(local_gem_dir, Pathname.new(spec.spec_file).relative_path_from(gem_dir)))
|
47
|
+
FileUtils.mkdir_p local_file.dirname
|
48
|
+
FileUtils.cp(spec.spec_file, local_file)
|
49
|
+
|
50
|
+
rescue Gem::LoadError
|
51
|
+
# This just means that one of the gems that should be copied from the system
|
52
|
+
# was not actually installed in the system, so nothing we can do about that here
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# Delete lbin
|
58
|
+
FileUtils.rm_rf(ENV['BUNDLE_BIN']) if File.exist?(ENV['BUNDLE_BIN'])
|
59
|
+
|
60
|
+
# Run bundler with correct switches
|
61
|
+
cmd = "bundle install --gemfile #{ENV['BUNDLE_GEMFILE']} --binstubs #{ENV['BUNDLE_BIN']} --path #{ENV['BUNDLE_PATH']}"
|
62
|
+
`chmod o-w #{Origen.root}` # Stops some annoying world writable warnings during install
|
63
|
+
`chmod o-w #{Origen.root}/bin` if File.exist?("#{Origen.root}/bin")
|
64
|
+
`chmod o-w #{Origen.root}/.bin` if File.exist?("#{Origen.root}/.bin")
|
65
|
+
|
66
|
+
# Try again, this time updating the bundle
|
67
|
+
if system(cmd)
|
68
|
+
fixed = true
|
69
|
+
elsif system 'bundle update'
|
70
|
+
fixed = true
|
71
|
+
end
|
72
|
+
|
73
|
+
`chmod o-w #{ENV['BUNDLE_BIN']}` if File.exist?(ENV['BUNDLE_BIN'])
|
74
|
+
|
75
|
+
system 'origen -v' if fixed
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|
data/bin/origen
CHANGED
@@ -51,34 +51,6 @@ if origen_root
|
|
51
51
|
ENV['BUNDLE_PATH'] = File.expand_path(Origen.site_config.gem_install_dir)
|
52
52
|
ENV['BUNDLE_BIN'] = File.join(origen_root, 'lbin')
|
53
53
|
|
54
|
-
if ARGV.first == 'update'
|
55
|
-
ARGV.shift
|
56
|
-
local_gem_dir = "#{ENV['BUNDLE_PATH']}/ruby/#{Pathname.new(Gem.dir).basename}"
|
57
|
-
updater_dir = Dir.glob("#{local_gem_dir}/gems/origen_updater-*").sort.last
|
58
|
-
exe = File.expand_path('../update', __FILE__)
|
59
|
-
require 'bundler'
|
60
|
-
|
61
|
-
args = ARGV.join(' ')
|
62
|
-
|
63
|
-
on_updated_callback = lambda do
|
64
|
-
Bundler.with_clean_env do
|
65
|
-
system "#{exe} #{origen_root} #{updater_dir}/lib/origen_updater/on_updated #{args}"
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
# This is invoked from an external process so that it can step out of this bundled environment
|
70
|
-
# and have visibility of the system gems
|
71
|
-
Bundler.with_clean_env do
|
72
|
-
system "#{exe} #{origen_root} #{updater_dir}/lib/origen_updater/update #{args}"
|
73
|
-
end
|
74
|
-
|
75
|
-
# Now fall through and act like 'origen -v'
|
76
|
-
while ARGV.size > 0 do
|
77
|
-
ARGV.pop
|
78
|
-
end
|
79
|
-
ARGV << '-v'
|
80
|
-
end
|
81
|
-
|
82
54
|
# If it looks like a bundled binstub of origen exists, and we have not been invoked through that,
|
83
55
|
# then run that instead.
|
84
56
|
if Origen.site_config.gem_manage_bundler && File.exist?("#{origen_root}/lbin/origen") && !ENV['BUNDLE_BIN_PATH'] &&
|
@@ -157,7 +129,6 @@ if origen_root && File.exist?(ENV['BUNDLE_GEMFILE']) && Origen.site_config.gem_m
|
|
157
129
|
end
|
158
130
|
end
|
159
131
|
if result
|
160
|
-
on_updated_callback.call if on_updated_callback
|
161
132
|
exec "origen #{ARGV.join(' ')}"
|
162
133
|
exit 0
|
163
134
|
else
|
@@ -171,7 +142,6 @@ if origen_root && File.exist?(ENV['BUNDLE_GEMFILE']) && Origen.site_config.gem_m
|
|
171
142
|
Bundler.setup
|
172
143
|
end
|
173
144
|
end
|
174
|
-
on_updated_callback.call if on_updated_callback
|
175
145
|
require 'bundler/setup'
|
176
146
|
require 'origen'
|
177
147
|
else
|
data/config/version.rb
CHANGED
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.11.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: 2017-05-
|
11
|
+
date: 2017-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.7.2
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
96
|
+
version: 1.7.2
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -346,8 +346,8 @@ executables:
|
|
346
346
|
extensions: []
|
347
347
|
extra_rdoc_files: []
|
348
348
|
files:
|
349
|
+
- bin/fix_my_workspace
|
349
350
|
- bin/origen
|
350
|
-
- bin/update
|
351
351
|
- config/application.rb
|
352
352
|
- config/boot.rb
|
353
353
|
- config/commands.rb
|
data/bin/update
DELETED
@@ -1,23 +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 'byebug' # Un-comment to debug this file
|
6
|
-
|
7
|
-
# Keep a note of the pwd at the time when Origen was first loaded, this is initially used
|
8
|
-
# by the site_config lookup.
|
9
|
-
$_origen_invocation_pwd ||= Pathname.pwd
|
10
|
-
|
11
|
-
load File.expand_path('../../lib/origen/operating_systems.rb', __FILE__)
|
12
|
-
load File.expand_path('../../lib/origen/site_config.rb', __FILE__)
|
13
|
-
|
14
|
-
origen_root = ARGV.shift
|
15
|
-
|
16
|
-
# Force everyone to have a consistent way of installing gems with bundler
|
17
|
-
ENV['BUNDLE_GEMFILE'] = File.join(origen_root, 'Gemfile')
|
18
|
-
ENV['BUNDLE_PATH'] = File.expand_path(Origen.site_config.gem_install_dir)
|
19
|
-
ENV['BUNDLE_BIN'] = File.join(origen_root, 'lbin')
|
20
|
-
|
21
|
-
require ARGV.shift
|
22
|
-
|
23
|
-
|