origen 0.34.3 → 0.52.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +5 -5
  2. data/bin/origen +1 -231
  3. data/config/application.rb +12 -3
  4. data/config/boot.rb +2 -7
  5. data/config/commands.rb +3 -74
  6. data/config/rubocop/easy_disabled.yml +4 -0
  7. data/config/rubocop/easy_enabled.yml +0 -4
  8. data/config/rubocop/strict_disabled.yml +4 -0
  9. data/config/rubocop/strict_enabled.yml +0 -4
  10. data/config/version.rb +2 -3
  11. data/lib/origen.rb +27 -14
  12. data/lib/origen/application.rb +88 -2
  13. data/lib/origen/application/deployer.rb +3 -1
  14. data/lib/origen/application/release.rb +2 -2
  15. data/lib/origen/application/runner.rb +35 -20
  16. data/lib/origen/boot.rb +302 -0
  17. data/lib/origen/boot/api.rb +13 -0
  18. data/lib/origen/boot/app.rb +284 -0
  19. data/lib/origen/code_generators.rb +30 -10
  20. data/lib/origen/code_generators/actions.rb +244 -34
  21. data/lib/origen/code_generators/base.rb +9 -2
  22. data/lib/origen/code_generators/block.rb +203 -0
  23. data/lib/origen/code_generators/block_common.rb +100 -0
  24. data/lib/origen/code_generators/dut.rb +62 -0
  25. data/lib/origen/code_generators/feature.rb +50 -0
  26. data/lib/origen/code_generators/klass.rb +41 -0
  27. data/lib/origen/code_generators/model.rb +60 -0
  28. data/lib/origen/code_generators/module.rb +92 -0
  29. data/lib/origen/commands.rb +30 -13
  30. data/lib/origen/commands/archive.rb +175 -0
  31. data/lib/origen/commands/extract.rb +43 -0
  32. data/lib/origen/commands/generate.rb +1 -0
  33. data/lib/origen/commands/lint.rb +6 -1
  34. data/lib/origen/commands/new.rb +48 -24
  35. data/lib/origen/commands/new_resource.rb +41 -0
  36. data/lib/origen/commands/site.rb +52 -0
  37. data/lib/origen/commands/web.rb +11 -6
  38. data/lib/origen/commands_global.rb +9 -7
  39. data/lib/origen/core_ext/numeric.rb +20 -0
  40. data/lib/{option_parser → origen/core_ext/option_parser}/optparse.rb +0 -0
  41. data/lib/origen/dependencies.rb +0 -0
  42. data/lib/origen/file_handler.rb +18 -6
  43. data/lib/origen/generator.rb +19 -10
  44. data/lib/origen/generator/comparator.rb +2 -1
  45. data/lib/origen/generator/flow.rb +3 -1
  46. data/lib/origen/generator/job.rb +60 -16
  47. data/lib/origen/generator/pattern.rb +132 -72
  48. data/lib/origen/generator/pattern_finder.rb +3 -3
  49. data/lib/origen/generator/pattern_sequence.rb +201 -0
  50. data/lib/origen/generator/pattern_sequencer.rb +99 -0
  51. data/lib/origen/generator/pattern_thread.rb +175 -0
  52. data/lib/origen/loader.rb +381 -0
  53. data/lib/origen/log.rb +250 -108
  54. data/lib/origen/model.rb +22 -1
  55. data/lib/origen/model/exporter.rb +50 -10
  56. data/lib/origen/model_initializer.rb +5 -1
  57. data/lib/origen/operating_systems.rb +4 -0
  58. data/lib/origen/parameters.rb +96 -4
  59. data/lib/origen/parameters/set.rb +4 -3
  60. data/lib/origen/pins.rb +10 -8
  61. data/lib/origen/pins/pin.rb +61 -46
  62. data/lib/origen/ports/port.rb +5 -0
  63. data/lib/origen/registers.rb +5 -0
  64. data/lib/origen/registers/bit.rb +57 -53
  65. data/lib/origen/registers/bit_collection.rb +100 -43
  66. data/lib/origen/registers/msb0_delegator.rb +47 -0
  67. data/lib/origen/registers/reg.rb +114 -99
  68. data/lib/origen/revision_control.rb +1 -1
  69. data/lib/origen/revision_control/git.rb +23 -3
  70. data/lib/origen/site_config.rb +251 -60
  71. data/lib/origen/site_config/config.rb +217 -0
  72. data/lib/origen/sub_blocks.rb +106 -31
  73. data/lib/origen/top_level.rb +11 -0
  74. data/lib/origen/users/user.rb +3 -2
  75. data/lib/origen/utility/mailer.rb +42 -9
  76. data/lib/origen/value/bin_str_val.rb +1 -1
  77. data/lib/origen/value/hex_str_val.rb +1 -1
  78. data/lib/origen/version_string.rb +6 -1
  79. data/lib/tasks/gem.rake +6 -1
  80. data/origen_app_generators/Gemfile +19 -0
  81. data/origen_app_generators/Gemfile.lock +152 -0
  82. data/origen_app_generators/LICENSE +21 -0
  83. data/origen_app_generators/README.md +368 -0
  84. data/{templates/code_generators/rakefile.rb → origen_app_generators/Rakefile} +0 -0
  85. data/origen_app_generators/bin/boot.rb +39 -0
  86. data/origen_app_generators/config/application.rb +153 -0
  87. data/origen_app_generators/config/boot.rb +1 -0
  88. data/origen_app_generators/config/commands.rb +63 -0
  89. data/origen_app_generators/config/shared_commands.rb +177 -0
  90. data/origen_app_generators/config/version.rb +8 -0
  91. data/origen_app_generators/doc/history +223 -0
  92. data/origen_app_generators/lbin/bundle +105 -0
  93. data/origen_app_generators/lbin/byebug +29 -0
  94. data/origen_app_generators/lbin/coderay +29 -0
  95. data/origen_app_generators/lbin/htmldiff +29 -0
  96. data/origen_app_generators/lbin/httparty +29 -0
  97. data/origen_app_generators/lbin/httpclient +29 -0
  98. data/origen_app_generators/lbin/kramdown +29 -0
  99. data/origen_app_generators/lbin/ldiff +29 -0
  100. data/origen_app_generators/lbin/nanoc +29 -0
  101. data/origen_app_generators/lbin/nokogiri +29 -0
  102. data/origen_app_generators/lbin/origen +62 -0
  103. data/origen_app_generators/lbin/pry +29 -0
  104. data/origen_app_generators/lbin/rackup +29 -0
  105. data/origen_app_generators/lbin/rake +29 -0
  106. data/origen_app_generators/lbin/rspec +29 -0
  107. data/origen_app_generators/lbin/rubocop +29 -0
  108. data/origen_app_generators/lbin/ruby-parse +29 -0
  109. data/origen_app_generators/lbin/ruby-rewrite +29 -0
  110. data/origen_app_generators/lbin/thor +29 -0
  111. data/origen_app_generators/lbin/tilt +29 -0
  112. data/origen_app_generators/lbin/yard +29 -0
  113. data/origen_app_generators/lbin/yardoc +29 -0
  114. data/origen_app_generators/lbin/yri +29 -0
  115. data/origen_app_generators/lib/origen_app_generators.rb +125 -0
  116. data/origen_app_generators/lib/origen_app_generators/application.rb +62 -0
  117. data/origen_app_generators/lib/origen_app_generators/base.rb +257 -0
  118. data/origen_app_generators/lib/origen_app_generators/empty_application.rb +15 -0
  119. data/origen_app_generators/lib/origen_app_generators/empty_plugin.rb +15 -0
  120. data/origen_app_generators/lib/origen_app_generators/new.rb +170 -0
  121. data/origen_app_generators/lib/origen_app_generators/new_app_tests.rb +4 -0
  122. data/origen_app_generators/lib/origen_app_generators/origen_infrastructure/app_generator_plugin.rb +107 -0
  123. data/origen_app_generators/lib/origen_app_generators/plugin.rb +55 -0
  124. data/origen_app_generators/lib/origen_app_generators/test_engineering/common.rb +29 -0
  125. data/origen_app_generators/lib/origen_app_generators/test_engineering/stand_alone_application.rb +64 -0
  126. data/origen_app_generators/lib/origen_app_generators/test_engineering/test_block.rb +61 -0
  127. data/origen_app_generators/origen_app_generators.gemspec +33 -0
  128. data/{templates/code_generators → origen_app_generators/spec}/spec_helper.rb +0 -0
  129. data/origen_app_generators/target/debug.rb +8 -0
  130. data/origen_app_generators/target/default.rb +8 -0
  131. data/origen_app_generators/target/production.rb +0 -0
  132. data/origen_app_generators/templates/app_generators/application/.gitignore +37 -0
  133. data/origen_app_generators/templates/app_generators/application/.irbrc +9 -0
  134. data/origen_app_generators/templates/app_generators/application/.rspec +1 -0
  135. data/origen_app_generators/templates/app_generators/application/.travis.yml +11 -0
  136. data/origen_app_generators/templates/app_generators/application/Gemfile +34 -0
  137. data/origen_app_generators/templates/app_generators/application/Rakefile +7 -0
  138. data/origen_app_generators/templates/app_generators/application/app/blocks/top_level.rb +12 -0
  139. data/origen_app_generators/templates/app_generators/application/app/lib/module.rb +6 -0
  140. data/origen_app_generators/templates/app_generators/application/app/templates/web/index.md.erb +19 -0
  141. data/origen_app_generators/templates/app_generators/application/app/templates/web/layouts/_basic.html.erb +13 -0
  142. data/origen_app_generators/templates/app_generators/application/app/templates/web/partials/_navbar.html.erb +20 -0
  143. data/origen_app_generators/templates/app_generators/application/app/templates/web/release_notes.md.erb +5 -0
  144. data/origen_app_generators/templates/app_generators/application/config/application.rb +121 -0
  145. data/origen_app_generators/templates/app_generators/application/config/boot.rb +4 -0
  146. data/origen_app_generators/templates/app_generators/application/config/commands.rb +79 -0
  147. data/origen_app_generators/templates/app_generators/application/config/maillist_dev.txt +4 -0
  148. data/origen_app_generators/templates/app_generators/application/config/maillist_prod.txt +3 -0
  149. data/origen_app_generators/templates/app_generators/application/config/version.rb +8 -0
  150. data/origen_app_generators/templates/app_generators/application/doc/history +0 -0
  151. data/origen_app_generators/templates/app_generators/application/dot_keep +0 -0
  152. data/origen_app_generators/templates/app_generators/application/origen_core_session +2 -0
  153. data/origen_app_generators/templates/app_generators/application/spec/spec_helper.rb +44 -0
  154. data/origen_app_generators/templates/app_generators/application/target/debug.rb +8 -0
  155. data/origen_app_generators/templates/app_generators/application/target/default.rb +1 -0
  156. data/origen_app_generators/templates/app_generators/application/target/production.rb +4 -0
  157. data/origen_app_generators/templates/app_generators/new/generator.rb +102 -0
  158. data/origen_app_generators/templates/app_generators/new/info.md.erb +9 -0
  159. data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/application.rb +54 -0
  160. data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/base.rb +55 -0
  161. data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/module.rb +28 -0
  162. data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/plugin.rb +64 -0
  163. data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/config/load_generators.rb +6 -0
  164. data/origen_app_generators/templates/app_generators/plugin/Gemfile +32 -0
  165. data/origen_app_generators/templates/app_generators/plugin/Rakefile +10 -0
  166. data/origen_app_generators/templates/app_generators/plugin/app/templates/web/index.md.erb +37 -0
  167. data/origen_app_generators/templates/app_generators/plugin/app/templates/web/partials/_navbar_external.html.erb +20 -0
  168. data/origen_app_generators/templates/app_generators/plugin/app/templates/web/partials/_navbar_internal.html.erb +20 -0
  169. data/origen_app_generators/templates/app_generators/plugin/config/boot.rb +24 -0
  170. data/origen_app_generators/templates/app_generators/plugin/gemspec.rb +43 -0
  171. data/origen_app_generators/templates/app_generators/test_engineering/environment/j750.rb +1 -0
  172. data/origen_app_generators/templates/app_generators/test_engineering/environment/uflex.rb +1 -0
  173. data/origen_app_generators/templates/app_generators/test_engineering/environment/v93k.rb +1 -0
  174. data/origen_app_generators/templates/app_generators/test_engineering/stand_alone_application/.keep +0 -0
  175. data/origen_app_generators/templates/app_generators/test_engineering/test_block/.keep +0 -0
  176. data/origen_site_config.yml +55 -5
  177. data/templates/code_generators/attributes.rb +20 -0
  178. data/templates/code_generators/class.rb +9 -0
  179. data/templates/code_generators/controller.rb +87 -0
  180. data/templates/code_generators/model.rb +21 -0
  181. data/templates/code_generators/module.rb +4 -0
  182. data/templates/code_generators/parameters.rb +19 -0
  183. data/templates/code_generators/pins.rb +28 -0
  184. data/templates/code_generators/registers.rb +20 -0
  185. data/templates/code_generators/sub_blocks.rb +24 -0
  186. data/templates/code_generators/timesets.rb +24 -0
  187. data/templates/code_generators/version.rb +0 -1
  188. data/templates/git/gitignore.erb +0 -1
  189. data/vendor/lib/models/origen/export1.rb +77 -0
  190. data/vendor/lib/models/origen/export1/block1.rb +13 -0
  191. data/vendor/lib/models/origen/export1/block1/x.rb +36 -0
  192. data/vendor/lib/models/origen/non_origen_meta_data.md +1 -0
  193. metadata +149 -68
  194. data/bin/fix_my_workspace +0 -100
  195. data/lib/c99/ate_interface.rb +0 -77
  196. data/lib/c99/nvm.rb +0 -110
  197. data/lib/c99/target/mock2.rb +0 -1
  198. data/lib/c99/target/subdir/mock3.rb +0 -1
  199. data/lib/origen/code_generators/bundler.rb +0 -17
  200. data/lib/origen/code_generators/gem_setup.rb +0 -49
  201. data/lib/origen/code_generators/rake.rb +0 -13
  202. data/lib/origen/code_generators/rspec.rb +0 -12
  203. data/lib/origen/commands/add.rb +0 -12
  204. data/lib/tasks/private/build.rake +0 -8
  205. data/templates/code_generators/gemfile_app.rb +0 -4
  206. data/templates/code_generators/gemfile_plugin.rb +0 -6
  207. data/templates/code_generators/gemspec.rb +0 -33
@@ -0,0 +1,9 @@
1
+ % render "templates/web/layouts/basic.html" do
2
+
3
+ ### OrigenAppGenerators
4
+
5
+ ## TITLE_GOES_HERE
6
+
7
+ INTRO_GOES_HERE
8
+
9
+ % end
@@ -0,0 +1,54 @@
1
+ module <%= @namespace %>
2
+ # This will be the parent class of all of your application generators, it provides a place
3
+ # to add anything that you want to be added to all of your applications
4
+ class Application < OrigenAppGenerators::Application
5
+ include Base
6
+
7
+ # Any methods added above the protected line will get automatically invoked
8
+ # at the start of *all* of your application generators.
9
+
10
+ protected
11
+
12
+ # You can add helper methods that you want to make available to all of your application
13
+ # generators here, these will not get called unless a child generator calls them.
14
+
15
+ # Here you can modify the default list of files that are included in all of your applications.
16
+ #
17
+ # See here for the default list of files:
18
+ # https://github.com/Origen-SDK/origen_app_generators/blob/master/lib/origen_app_generators/application.rb
19
+ #
20
+ # The filelist can contain references to generate files, directories or symlinks in the
21
+ # new application.
22
+ #
23
+ # To make your generators more maintainable, try and re-use as much as possible
24
+ # from the parent generator, this means that your generator will automatically stay up
25
+ # to date with the latest conventions.
26
+ #
27
+ # Additional files can be added or removed from the filelist as shown below.
28
+ def filelist
29
+ @filelist ||= begin
30
+ list = super # Always pick up the parent list
31
+ # Example of how to remove a file from the parent list
32
+ # list.delete(:web_doc_layout)
33
+ # Example of how to add a file, in this case the file will be compiled and copied to
34
+ # the same location in the new app
35
+ # list[:config_shared_commands] = { source: 'config/shared_commands.rb' }
36
+ # Alternatively specifying a different destination, typically you would do this when
37
+ # the final location is dynamic
38
+ # list[:gemspec] = { source: 'gemspec.rb', dest: "#{@name}.gemspec" }
39
+ # Example of how to recursively copy a directory
40
+ # list[:copy_dir] = { source: 'src_dir', dest: 'dest_dir', type: :directory, copy: true }
41
+ # Example of how to create a directory
42
+ # list[:pattern_dir] = { dest: "pattern", type: :directory }
43
+ # By default, directories created in this way will contain a .keep file, to inhibit this:
44
+ # list[:pattern_dir] = { dest: "pattern", type: :directory, nokeep: true }
45
+ # Example of how to create a symlink
46
+ # list[:target_default] = { source: 'debug.rb', # Relative to the file being linked to
47
+ # dest: 'target/default.rb', # Relative to destination_root
48
+ # type: :symlink }
49
+ # Remember to return the final list
50
+ list
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,55 @@
1
+ module <%= @namespace %>
2
+ # This is a mixin that is included in both the application and plugin
3
+ # generators, it provides a place to add things that should apply to
4
+ # all of your applications and plugins
5
+ module Base
6
+ # Any helper methods added to this base module will not be automatically invoked,
7
+ # you must call them from either the top-level application or plugin generators,
8
+ # or from a child generator.
9
+
10
+ protected
11
+
12
+ # Here you can modify the default list of files that are included in all of your
13
+ # applications AND plugins.
14
+ #
15
+ # See here for the default list of files:
16
+ # https://github.com/Origen-SDK/origen_app_generators/blob/master/lib/origen_app_generators/application.rb
17
+ # If the child generator is a plugin, then this list is then modified by the base plugin generator which
18
+ # you can see here:
19
+ # https://github.com/Origen-SDK/origen_app_generators/blob/master/lib/origen_app_generators/plugin.rb
20
+ #
21
+ # The filelist can contain references to generate files, directories or symlinks in the
22
+ # new application.
23
+ #
24
+ # To make your generators more maintainable, try and re-use as much as possible
25
+ # from the parent generators, this means that your generator will automatically stay up
26
+ # to date with the latest conventions.
27
+ #
28
+ # Additional files can be added or removed from the filelist as shown below.
29
+ def filelist
30
+ @filelist ||= begin
31
+ list = super # Always pick up the parent list
32
+ # Example of how to remove a file from the parent list
33
+ # list.delete(:web_doc_layout)
34
+ # Example of how to add a file, in this case the file will be compiled and copied to
35
+ # the same location in the new app
36
+ # list[:config_shared_commands] = { source: 'config/shared_commands.rb' }
37
+ # Alternatively specifying a different destination, typically you would do this when
38
+ # the final location is dynamic
39
+ # list[:gemspec] = { source: 'gemspec.rb', dest: "#{@name}.gemspec" }
40
+ # Example of how to recursively copy a directory
41
+ # list[:copy_dir] = { source: 'src_dir', dest: 'dest_dir', type: :directory, copy: true }
42
+ # Example of how to create a directory
43
+ # list[:pattern_dir] = { dest: "pattern", type: :directory }
44
+ # By default, directories created in this way will contain a .keep file, to inhibit this:
45
+ # list[:pattern_dir] = { dest: "pattern", type: :directory, nokeep: true }
46
+ # Example of how to create a symlink
47
+ # list[:target_default] = { source: 'debug.rb', # Relative to the file being linked to
48
+ # dest: 'target/default.rb', # Relative to destination_root
49
+ # type: :symlink }
50
+ # Remember to return the final list
51
+ list
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,28 @@
1
+ require 'origen_app_generators'
2
+ require '<%= @name %>/base'
3
+ require '<%= @name %>/application'
4
+ require '<%= @name %>/plugin'
5
+
6
+ module <%= @namespace %>
7
+ # Define test sets of inputs to test your generators. The last item in each array is
8
+ # required and always indicates what action should be taken once the application has
9
+ # been built. nil means take no action, :default means to run a default set of test
10
+ # operations, and an array of Origen command strings gives you control of exactly
11
+ # what to run.
12
+ #
13
+ # These inputs can be executed individually by running 'origen app_gen:test -i INDEX',
14
+ # where INDEX is the index number of the set you want to execute from the TEST_INPUTS
15
+ # array.
16
+ #
17
+ # You can also execute all sets of test inputs by running: 'origen app_gen:test -r'
18
+ TEST_INPUTS = [
19
+ ] # END_OF_TEST_INPUTS Don't remove this comment, it is used by the app_gen:new command!
20
+
21
+ # As you add new generators to this app they will be entered here, this enables the
22
+ # mechanism to register them with the 'origen new' command.
23
+ # You should generally not modify this by hand, instead use the 'origen app_gen:new'
24
+ # command every time you want to create a new generator, and this will be filled in
25
+ # for you.
26
+ AVAILABLE = {
27
+ }
28
+ end
@@ -0,0 +1,64 @@
1
+ module <%= @namespace %>
2
+ # This will be the parent class of all of your plugin generators, it provides a place
3
+ # to add anything that you want to be added to all of your plugins
4
+ class Plugin < OrigenAppGenerators::Plugin
5
+ include Base
6
+
7
+ def initialize(*args)
8
+ # This makes all of your plugins be configured for internal distribution, i.e. rather
9
+ # than via rubygems.org
10
+ @audience = :internal
11
+ super
12
+ end
13
+
14
+ # Any methods added above the protected line will get automatically invoked
15
+ # at the start of *all* of your plugin generators.
16
+
17
+ protected
18
+
19
+ # You can add helper methods that you want to make available to all of your plugin
20
+ # generators here, these will not get called unless a child generator calls them.
21
+
22
+ # Here you can modify the default list of files that are included in all of your plugins.
23
+ #
24
+ # Since this is a plugin generator, the default list of files comprises the application list,
25
+ # which you can see here:
26
+ # https://github.com/Origen-SDK/origen_app_generators/blob/master/lib/origen_app_generators/application.rb
27
+ # And this is then modified by the base plugin generator which you can see here:
28
+ # https://github.com/Origen-SDK/origen_app_generators/blob/master/lib/origen_app_generators/plugin.rb
29
+ #
30
+ # The filelist can contain references to generate files, directories or symlinks in the
31
+ # new plugin.
32
+ #
33
+ # To make your generators more maintainable, try and re-use as much as possible
34
+ # from the parent generator, this means that your generators will automatically stay up
35
+ # to date with the latest conventions.
36
+ #
37
+ # Additional files can be added or removed from the filelist as shown below.
38
+ def filelist
39
+ @filelist ||= begin
40
+ list = super # Always pick up the parent list
41
+ # Example of how to remove a file from the parent list
42
+ # list.delete(:web_doc_layout)
43
+ # Example of how to add a file, in this case the file will be compiled and copied to
44
+ # the same location in the new app
45
+ # list[:config_shared_commands] = { source: 'config/shared_commands.rb' }
46
+ # Alternatively specifying a different destination, typically you would do this when
47
+ # the final location is dynamic
48
+ # list[:gemspec] = { source: 'gemspec.rb', dest: "#{@name}.gemspec" }
49
+ # Example of how to recursively copy a directory
50
+ # list[:copy_dir] = { source: 'src_dir', dest: 'dest_dir', type: :directory, copy: true }
51
+ # Example of how to create a directory
52
+ # list[:pattern_dir] = { dest: "pattern", type: :directory }
53
+ # By default, directories created in this way will contain a .keep file, to inhibit this:
54
+ # list[:pattern_dir] = { dest: "pattern", type: :directory, nokeep: true }
55
+ # Example of how to create a symlink
56
+ # list[:target_default] = { source: 'debug.rb', # Relative to the file being linked to
57
+ # dest: 'target/default.rb', # Relative to destination_root
58
+ # type: :symlink }
59
+ # Remember to return the final list
60
+ list
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,6 @@
1
+ # This file is used to hook the generators defined in this plugin into the
2
+ # 'origen new' command, it must not be removed or modified
3
+ require 'origen_app_generators'
4
+ require "<%= @name %>"
5
+ template_dir = File.expand_path('../../app/templates/app_generators', __FILE__)
6
+ OrigenAppGenerators.add_generators(<%= @namespace %>::AVAILABLE, template_dir: template_dir)
@@ -0,0 +1,32 @@
1
+ <% if (@audience != :external) && (Origen.site_config.gem_server_pull || Origen.site_config.gem_server) -%>
2
+ <% Array(Origen.site_config.gem_server_pull || Origen.site_config.gem_server).each do |server| -%>
3
+ source '<%= server %>'
4
+ <% end -%>
5
+ <% else %>
6
+ source 'https://rubygems.org'
7
+ <% end -%>
8
+
9
+ # Only development dependencies (things your plugin needs only when it is running in its own workspace)
10
+ # should be listed here in the Gemfile
11
+ <% if @audience == :external -%>
12
+ # This gem provides integration with https://coveralls.io/ to monitor
13
+ # your application's test coverage
14
+ gem 'coveralls', require: false
15
+ <% end -%>
16
+ gem 'byebug', '~>8' # You can remove this version constraint if you don't care about your app
17
+ # supporting earlier versions of Ruby 2
18
+ gem 'ripper-tags'
19
+ gem 'origen_doc_helpers'
20
+ <% if (@audience != :external) && Origen.site_config.gem_push_plugins -%>
21
+ <% Array(Origen.site_config.gem_push_plugins).each do |plugin| -%>
22
+ gem <%= plugin.map{ |d| "\"#{d}\"" }.join(', ') %>
23
+ <% end -%>
24
+ <% end -%>
25
+
26
+ # Uncomment these if you want to use a visual debugger (e.g. Visual Studio Code) to debug your app
27
+ #gem 'ruby-debug-ide'
28
+ #gem 'debase'
29
+
30
+ # Specify your gem's runtime dependencies in <%= @name %>.gemspec
31
+ # THIS LINE SHOULD BE LEFT AT THE END
32
+ gemspec
@@ -0,0 +1,10 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/<%= @name %>.rake, and they will automatically
3
+ # be available to Rake.
4
+ #
5
+ # Any task files found in lib/tasks/shared/*.rake will be made available to 3rd party
6
+ # apps that use this plugin
7
+ require "bundler/setup"
8
+ require "origen"
9
+
10
+ Origen.app.load_tasks
@@ -0,0 +1,37 @@
1
+ % render "layouts/basic.html" do
2
+
3
+ %# HTML tags can be embedded in mark down files if you want to do specific custom
4
+ %# formatting like this, but in most cases that is not required.
5
+ <h1><%= Origen.app.namespace %> <span style="font-size: 14px">(<%= Origen.app.version %>)</span></h1>
6
+
7
+ ### Purpose
8
+
9
+ This plugin...
10
+
11
+ ### How To Install
12
+
13
+ In your Gemfile add:
14
+
15
+ ~~~ruby
16
+ gem "<%= Origen.app.name %>"
17
+ ~~~
18
+
19
+ or if your application is a plugin, then add this to your <code>.gemspec</code>
20
+
21
+ ~~~ruby
22
+ spec.add_runtime_dependency "<%= Origen.app.name %>", ">= <%= Origen.app.version %>"
23
+ ~~~
24
+
25
+ __NOTE:__ In the case of a plugin, you will also need to <code>require '<%= Origen.app.name %>'</code> somewhere in your environment.
26
+
27
+
28
+ ### How To Use
29
+
30
+ Add quickstart documentation here...
31
+
32
+
33
+ ### How To Setup a Development Environment
34
+
35
+ Describe how a developer would setup a new workspace for this plugin...
36
+
37
+ % end
@@ -0,0 +1,20 @@
1
+ <nav class="navbar navbar-inverse navbar-fixed-top">
2
+ <div class="container">
3
+ <div class="navbar-header">
4
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
5
+ <span class="sr-only">Toggle navigation</span>
6
+ <span class="icon-bar"></span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ </button>
10
+ <a class="navbar-brand" href="<%= path "/" %>">Home</a>
11
+ </div>
12
+ <div id="navbar" class="collapse navbar-collapse">
13
+ <ul class="nav navbar-nav">
14
+ <li class="<%= options[:tab] == :api ? 'active' : '' %>"><a href="<%= path "/api/" %>">API</a></li>
15
+ <li class="<%= options[:tab] == :release ? 'active' : '' %>"><a href="<%= path "/release_notes" %>">Release Notes</a></li>
16
+ </ul>
17
+ <%= import "origen/web/logo.html" %>
18
+ </div><!--/.nav-collapse -->
19
+ </div>
20
+ </nav>
@@ -0,0 +1,20 @@
1
+ <nav class="navbar navbar-inverse navbar-fixed-top">
2
+ <div class="container">
3
+ <div class="navbar-header">
4
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
5
+ <span class="sr-only">Toggle navigation</span>
6
+ <span class="icon-bar"></span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ </button>
10
+ <a class="navbar-brand" href="<%= path "/" %>">Home</a>
11
+ </div>
12
+ <div id="navbar" class="collapse navbar-collapse">
13
+ <ul class="nav navbar-nav">
14
+ <li class="<%= options[:tab] == :api ? 'active' : '' %>"><a href="<%= path "/api/" %>">API</a></li>
15
+ <li class="<%= options[:tab] == :release ? 'active' : '' %>"><a href="<%= path "/release_notes" %>">Release Notes</a></li>
16
+ </ul>
17
+ <%= import "origen/web/logo.html" %>
18
+ </div><!--/.nav-collapse -->
19
+ </div>
20
+ </nav>
@@ -0,0 +1,24 @@
1
+ # This file is used to boot your plugin when it is running in standalone mode
2
+ # from its own workspace - i.e. when the plugin is being developed.
3
+ #
4
+ # It will not be loaded when the plugin is imported by a 3rd party app - in that
5
+ # case only lib/<%= @name %>.rb is loaded.
6
+ #
7
+ # Therefore this file can be used to load anything extra that you need to boot
8
+ # the development environment for this app. For example, this is typically used
9
+ # to load some additional test classes to use your plugin APIs so that they can
10
+ # be tested and/or interacted with in the console.
11
+ require "<%= @name %>"
12
+
13
+ module <%= @namespace %>Dev
14
+ # Example of how to explicitly require a file
15
+ # require "<%= @name %>_dev/my_file"
16
+
17
+ # Load all files in the lib/<%= @name %>_dev directory.
18
+ # Note that there is no problem from requiring a file twice (Ruby will ignore
19
+ # the second require), so if you have a file that must be required first, then
20
+ # explicitly require it up above and then let this take care of the rest.
21
+ Dir.glob("#{File.dirname(__FILE__)}/../lib/<%= @name %>_dev/**/*.rb").sort.each do |file|
22
+ require file
23
+ end
24
+ end
@@ -0,0 +1,43 @@
1
+ # coding: utf-8
2
+ config = File.expand_path('../config', __FILE__)
3
+ require "#{config}/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "<%= @name %>"
7
+ spec.version = <%= @namespace %>::VERSION
8
+ spec.authors = ["<%= User.current.name %>"]
9
+ spec.email = ["<%= User.current.email %>"]
10
+ spec.summary = "<%= @summary %>"
11
+ <% if @audience == :external -%>
12
+ #spec.homepage = "http://origen-sdk.org/<%= @name %>"
13
+ <% else -%>
14
+ #spec.homepage = "http://origen.mycompany.net/<%= @name %>"
15
+ <% end -%>
16
+
17
+ spec.required_ruby_version = '>= 2'
18
+ spec.required_rubygems_version = '>= 1.8.11'
19
+
20
+ # Only the files that are hit by these wildcards will be included in the
21
+ # packaged gem, the default should hit everything in most cases but this will
22
+ # need to be added to if you have any custom directories
23
+ spec.files = Dir["lib/<%= @name %>.rb", "lib/<%= @name %>/**/*.rb", "templates/**/*", "config/**/*.rb",
24
+ "bin/*", "lib/tasks/**/*.rake", "pattern/**/*.rb", "program/**/*.rb",
25
+ "app/lib/**/*.rb", "app/templates/**/*",
26
+ "app/patterns/**/*.rb", "app/flows/**/*.rb", "app/blocks/**/*.rb"
27
+ ]
28
+ spec.executables = []
29
+ spec.require_paths = ["lib", "app/lib"]
30
+
31
+ # Add any gems that your plugin needs to run within a host application
32
+ spec.add_runtime_dependency "origen", ">= <%= @latest_origen_version %>"
33
+ <% if @runtime_dependencies -%>
34
+ <% @runtime_dependencies.each do |dep| -%>
35
+ spec.add_runtime_dependency <%= dep.map{ |d| "\"#{d}\"" }.join(', ') %>
36
+ <% end -%>
37
+ <% end -%>
38
+ <% if @post_runtime_dependency_comments -%>
39
+ <% @post_runtime_dependency_comments.each do |line| -%>
40
+ # <%= line %>
41
+ <% end -%>
42
+ <% end -%>
43
+ end
@@ -1,3 +1,15 @@
1
+ # BROADCAST MESSAGES
2
+
3
+ # All broadcast messages will output to the console for all users every time Origen is invoked
4
+ #broadcast_info:
5
+ # - These lines will be output to the console in regular text
6
+ #broadcast_warning:
7
+ # - These lines will be output to the console in amber text
8
+ #broadcast_danger:
9
+ # - These lines will be output to the console in red text
10
+ #broadcast_success:
11
+ # - These lines will be output to the console in green text
12
+
1
13
  # GENERAL SETUP
2
14
 
3
15
  # Application generator plugins can be used to extend the available new application templates
@@ -12,10 +24,43 @@
12
24
  # # Or a reference to a plugin's Git repository can be used
13
25
  # - "http://bitbucket.mycompany.net/origen/my_app_generators.git"
14
26
 
27
+ # Centralized Site Config
28
+ # Origen +0.36 (versions after 36.0) supports a centralized site config. This site config will be implicitly read and
29
+ # injected into the site config following the default site configs from Origen.
30
+ # To surpress the number of requests and possible load time delays, the site config can be cached and read on each
31
+ # startup for :centralized_site_config_refresh number of hours.
32
+ centralized_site_config_cache_dir: '~/.origen/cache/site_config'
33
+
34
+ # Indicates how many hours should pass before the cached site config is refreshed (refetched, redownloaded)
35
+ # The default is to refresh once per day (every 24 hours). Decimal values can be used here to get more granularity
36
+ # if needed.
37
+ # 0 indidcates 'always refresh' (cache will still occur though)
38
+ # -1 indicates never refresh.
39
+ centralized_site_config_refresh: 24
40
+
41
+ # Indicates whether the SSL certificate should be verified when pulling the centralized site config
42
+ centralized_site_config_verify_ssl: true
43
+
15
44
  # GEM SETUP
16
45
 
17
- # If your company has an internal gem server enter it here
18
- #gem_server: http://gems.company.net:9292
46
+ # If your company has an internal gem server enter it here:
47
+ #gem_server: https://gems.company.net:9292
48
+ # or here, if you need to use different urls for push and pull (write and read):
49
+ #gem_server_push: https://gems.company.net:9292
50
+ #gem_server_pull: https://gems.company.net:9292
51
+
52
+ # By default, the Origen 'rake gem:release' task (called by the 'origen rc tag' command), will use
53
+ # the standard Ruby 'gem push' command to push gems to your company gem server.
54
+ # If you need to use a different command, define it here as a string using, +GEM+ where you want
55
+ # the gem name to be referenced, and +URL+ to reference your company gem server.
56
+ #gem_push_cmd: "gem inabox --host +URL+ +GEM+"
57
+ #gem_push_cmd: "gem nexus +GEM+ --url +URL+ --clear-repo --ignore-ssl-errors"
58
+
59
+ # If your custom gem_push_cmd requires a gem plugin(s), add the gem names here and they will be
60
+ # included in new applications generated via the 'origen new' command.
61
+ #gem_push_plugins:
62
+ # - geminabox
63
+ # - nexus
19
64
 
20
65
  # When true Origen will configure and run Bundler in a consistent way for every
21
66
  # user (recommended)
@@ -62,9 +107,8 @@ gems_use_tool_repo: true
62
107
  # it fresh for each user.
63
108
  # Note that this option will only be applied if gem_manage_bundler is set to true.
64
109
  gem_use_from_system:
65
- - [nokogiri, 1.6.4.1] # Only required for earlier versions of Origen
66
- - [nokogiri, 1.6.7.2] # Only required for earlier versions of Origen
67
110
  - [nokogiri, 1.7.2]
111
+ - [nokogiri, 1.8.5]
68
112
 
69
113
  # Additionally any build switches/options that are required to build specific gems
70
114
  # in your user environment can be defined here.
@@ -81,10 +125,16 @@ gem_use_from_system:
81
125
  # User.new("ax1234").email # => "ax1234@company.com"
82
126
  #
83
127
  # # Without email_domain specified
84
- # User.new("ax1234@company.com").email # => "ax1234@company.com"
128
+ # User.new("ax1234@company.com").email # => "ax1234@company.com"
129
+ # If authentication is needed to use the given server, email_authentication can be set to login.
130
+ # If a service user is used to access this account on behalf of the sending users, email_auth_user and email_auth_password
131
+ # can be set. If authentication is indicated but no auth user is given, the current user's email and password are used instead.
85
132
  #email_domain: company.com
86
133
  #email_server: smtp.company.net
87
134
  #email_port: 25
135
+ #email_authentication: login
136
+ #email_auth_user: service_email
137
+ #email_auth_password: service_password
88
138
 
89
139
  # Required parameters to connect to your company's LDAP system
90
140
  #ldap_username: cn=manager,dc=example,dc=com