origen 0.7.13 → 0.7.14

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
  SHA1:
3
- metadata.gz: 6a2ffd1baf04606a1952e522d9190b9c9c0e038a
4
- data.tar.gz: a27a278c0fdb4f16281b1d5db83e91c52e1c08e0
3
+ metadata.gz: 40391053371e047fa27346b149db5b2ff484918a
4
+ data.tar.gz: 3f50782d9a9a343ed66b4a7394617f17abf0142e
5
5
  SHA512:
6
- metadata.gz: f79c467226a03fcd2fe8a386d655e6d34601d5f0176de6fdbd96da5d3fead88c560a3443c57ed2c883acb1a775b246fd33c9ed506ae7edf9dc96825f024ea76e
7
- data.tar.gz: cc795d2f261f34a84ac224fa4e0582cfc64fa21d49be533fb0dadbbe61878922ecbd6b28d6ebb08aea49520b8ddb5abdcbcb7c618ecfd79b8a067acb01d869e0
6
+ metadata.gz: 346f223195d1f35d701b68939c50d4af4f83e2860bc3f831a06e34f9b4c1eb1f22b5ac4b67c9fbcad545e97557c985716a5c0e8314914824bd7d64026d4184ae
7
+ data.tar.gz: 25dac8be070f239281329c89a6b45ac480ca2105513c82b71fa7be66ad6f5961441e4f2da3ca7f5285544af9326e66623e57d00e2b5009743599c5eec0229746
data/bin/origen CHANGED
@@ -238,25 +238,32 @@ begin
238
238
  rescue Exception => e
239
239
  unless e.is_a?(SystemExit) && e.status == 0
240
240
  puts
241
- puts e.message unless e.is_a?(SystemExit)
242
241
  if Origen.app_loaded?
242
+ puts "COMPLETE CALL STACK"
243
+ puts "-------------------"
244
+ puts e.message unless e.is_a?(SystemExit)
245
+ puts e.backtrace
246
+
247
+ puts
248
+ puts "APPLICATION CALL STACK"
249
+ puts "----------------------"
250
+ puts e.message unless e.is_a?(SystemExit)
243
251
  # Only print out the application stack trace by default, if verbose logging is
244
252
  # enabled then output the full thing
245
253
  e.backtrace.each do |line|
246
254
  path = Pathname.new(line)
247
255
  if path.absolute?
248
- if Origen.log.level == :verbose || (line =~ /^#{Origen.root}/ && line !~ /^#{Origen.root}\/lbin/)
256
+ if line =~ /^#{Origen.root}/ && line !~ /^#{Origen.root}\/lbin/
249
257
  puts line
250
258
  end
251
259
  else
252
- if Origen.log.level == :verbose
253
- puts line
254
- else
255
- puts line unless line =~ /^.\/lbin/
256
- end
260
+ puts line unless line =~ /^.\/lbin/
257
261
  end
258
262
  end
259
263
  else
264
+ puts "COMPLETE CALL STACK"
265
+ puts "-------------------"
266
+ puts e.message unless e.is_a?(SystemExit)
260
267
  puts e.backtrace
261
268
  end
262
269
  exit 1
@@ -1,7 +1,7 @@
1
1
  module Origen
2
2
  MAJOR = 0
3
3
  MINOR = 7
4
- BUGFIX = 13
4
+ BUGFIX = 14
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -4,6 +4,22 @@ module Origen
4
4
  # Helper methods that are available to all templates
5
5
  module Helpers
6
6
 
7
+ def self.archive_name=(val)
8
+ @archive_name = val
9
+ end
10
+
11
+ def self.archive_name
12
+ @archive_name
13
+ end
14
+
15
+ def generate_hard_links?
16
+ !!archive_name
17
+ end
18
+
19
+ def archive_name
20
+ Origen::Generator::Compiler::Helpers.archive_name
21
+ end
22
+
7
23
  def current_path
8
24
  path(options[:top_level_file].to_s.sub(/^.*\/templates\/web/, '').sub(/\..*$/, ''))
9
25
  end
@@ -15,7 +31,7 @@ module Origen
15
31
  # Like current_url except always returns the latest version of the url and
16
32
  # not one with an embedded production version
17
33
  def current_latest_url
18
- current_url.sub(_version, 'latest')
34
+ current_url.sub(_archive, 'latest')
19
35
  end
20
36
 
21
37
  def path(p)
@@ -27,7 +43,7 @@ module Origen
27
43
  elsif Origen.app.deployer.deploy_to_git?
28
44
  "#{root_path}#{p}"
29
45
  else
30
- "#{root_path}/#{_version}#{p}"
46
+ "#{root_path}/#{_archive}#{p}"
31
47
  end
32
48
  end
33
49
 
@@ -43,17 +59,11 @@ module Origen
43
59
  domain.sub /#{root_path}$/, ''
44
60
  end
45
61
 
46
- def _version
47
- # Special case for Origen core..
48
- if Origen.top == Origen.root
49
- version = Origen.version
62
+ def _archive
63
+ if generate_hard_links?
64
+ archive_name.to_s.gsub(".", "_")
50
65
  else
51
- version = Origen.app.version
52
- end
53
- if version.development?
54
66
  'latest'
55
- else
56
- version.to_s.gsub(".", "_")
57
67
  end
58
68
  end
59
69
 
@@ -65,13 +65,19 @@ module Origen
65
65
  @compile_only_dot_erb_files = true
66
66
  # Functions used here since Origen.root is not available when this is first instantiated
67
67
  @output_directory = -> { "#{Origen.root}/output" }
68
- @reference_directory = -> { "#{Origen.root}/.ref" }
68
+ @reference_directory = lambda do
69
+ if Origen.config.output_directory.to_s =~ /(\\|\/)output(\\|\/)/
70
+ Origen.config.output_directory.to_s.sub(/(\\|\/)output(\\|\/)/, '\1.ref\2')
71
+ else
72
+ "#{Origen.root}/.ref"
73
+ end
74
+ end
69
75
  @release_directory = -> { Origen.root }
70
76
  @release_email_subject = false
71
77
  @log_directory = -> { "#{Origen.root}/log" }
72
78
  @pattern_name_translator = ->(name) { name }
73
79
  @pattern_directory = -> { "#{Origen.root}/pattern" }
74
- @pattern_output_directory = -> { "#{Origen.root}/output/patterns" }
80
+ @pattern_output_directory = -> { Origen.app.config.output_directory }
75
81
  @history_file = -> { "#{Origen.root}/doc/history" }
76
82
  @default_lsf_action = :clear
77
83
  @proceed_with_pattern = ->(_name) { true }
@@ -69,7 +69,7 @@ md5 = "#{tmp}/md5#{version}"
69
69
  if File.exist?(tmp_dir) && File.exist?(md5)
70
70
  old_sig = File.read(md5)
71
71
  hash = Digest::MD5.new
72
- Dir["#{tmp_dir}/**/*"].each do |f|
72
+ Dir["#{tmp_dir}/**/{*,.*}"].each do |f|
73
73
  hash << File.read(f) unless File.directory?(f)
74
74
  end
75
75
  new_sig = hash.hexdigest
@@ -99,7 +99,7 @@ unless all_present
99
99
  end
100
100
 
101
101
  hash = Digest::MD5.new
102
- Dir["#{tmp_dir}/**/*"].each do |f|
102
+ Dir["#{tmp_dir}/**/{*,.*}"].each do |f|
103
103
  hash << File.read(f) unless File.directory?(f)
104
104
  end
105
105
  File.open(md5, 'w') { |f| f.write(hash.hexdigest) }
@@ -40,7 +40,11 @@ The following options are available:
40
40
  opts.on('-t', '--target NAME', String, 'Override the default target, NAME can be a full path or a fragment of a target file name') { |t| options[:target] = t }
41
41
  opts.on('-r', '--remote', 'Use in conjunction with the compile command to deploy files to a remote web server') { options[:remote] = true }
42
42
  opts.on('-a', '--api', 'Generate API documentation after compiling') { options[:api] = true }
43
- opts.on('--archive ID', String, 'Archive the documents after compiling or deploying remotely') { |id| options[:archive] = id }
43
+ opts.on('--archive ID', String, 'Archive the documents after compiling or deploying remotely') do |id|
44
+ options[:archive] = id
45
+ require "#{Origen.top}/helpers/url"
46
+ Origen::Generator::Compiler::Helpers.archive_name = id
47
+ end
44
48
  opts.on('-d', '--debugger', 'Enable the debugger') { options[:debugger] = true }
45
49
  opts.on('-m', '--mode MODE', Origen::Mode::MODES, 'Force the Origen operating mode:', ' ' + Origen::Mode::MODES.join(', ')) { |_m| }
46
50
  opts.on('--no-serve', "Don't serve the website after compiling without the remote option") { options[:no_serve] = true }
@@ -22,7 +22,9 @@ module Origen
22
22
  if sub_flow
23
23
  interface = Origen.interface
24
24
  opts = Origen.generator.option_pipeline.pop || {}
25
+ Origen.interface.startup(options) if Origen.interface.respond_to?(:startup)
25
26
  interface.instance_exec(opts, &block)
27
+ Origen.interface.shutdown(options) if Origen.interface.respond_to?(:shutdown)
26
28
  if Origen.tester.doc?
27
29
  Origen.interface.flow.stop_section
28
30
  end
@@ -32,7 +34,10 @@ module Origen
32
34
  interface = Origen.reset_interface(options)
33
35
  Origen.interface.set_top_level_flow
34
36
  Origen.interface.flow_generator.set_flow_description(Origen.interface.consume_comments)
37
+ options[:top_level] = true
38
+ Origen.interface.startup(options) if Origen.interface.respond_to?(:startup)
35
39
  interface.instance_eval(&block)
40
+ Origen.interface.shutdown(options) if Origen.interface.respond_to?(:shutdown)
36
41
  interface.close(flow: true)
37
42
  end
38
43
  end
@@ -59,11 +59,25 @@ module Origen
59
59
  end
60
60
 
61
61
  def output_pattern_directory
62
- Origen.file_handler.output_directory
62
+ @output_pattern_directory ||= begin
63
+ dir = Origen.app.config.pattern_output_directory
64
+ if tester.respond_to?(:subdirectory)
65
+ dir = File.join(dir, tester.subdirectory)
66
+ end
67
+ FileUtils.mkdir_p(dir) unless File.exist?(dir)
68
+ dir
69
+ end
63
70
  end
64
71
 
65
72
  def reference_pattern_directory
66
- Origen.file_handler.reference_directory
73
+ @reference_pattern_directory ||= begin
74
+ dir = Origen.file_handler.reference_directory
75
+ if tester.respond_to?(:subdirectory)
76
+ dir = File.join(dir, tester.subdirectory)
77
+ end
78
+ FileUtils.mkdir_p(dir) unless File.exist?(dir)
79
+ dir
80
+ end
67
81
  end
68
82
 
69
83
  def output_prefix
@@ -220,7 +220,11 @@ module Origen
220
220
  c2 'GENERATED:'
221
221
  c2 " Time: #{Origen.launch_time}"
222
222
  c2 " By: #{Origen.current_user.name}"
223
- c2 " Command: origen g #{job.requested_pattern} -t #{Origen.target.file.basename}"
223
+ l = " Command: origen g #{job.requested_pattern} -t #{Origen.target.file.basename}"
224
+ if Origen.environment && Origen.environment.file
225
+ l += " -e #{Origen.environment.file.basename}"
226
+ end
227
+ c2(l)
224
228
  c2 '*' * 75
225
229
  c2 'ENVIRONMENT:'
226
230
  c2 ' Application'
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.7.13
4
+ version: 0.7.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-02 00:00:00.000000000 Z
11
+ date: 2016-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -652,7 +652,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
652
652
  version: 1.8.11
653
653
  requirements: []
654
654
  rubyforge_project:
655
- rubygems_version: 2.2.2
655
+ rubygems_version: 2.6.2
656
656
  signing_key:
657
657
  specification_version: 4
658
658
  summary: The Semiconductor Developer's Kit