origen 0.34.3 → 0.52.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/origen +1 -231
- data/config/application.rb +12 -3
- data/config/boot.rb +2 -7
- data/config/commands.rb +3 -74
- data/config/rubocop/easy_disabled.yml +4 -0
- data/config/rubocop/easy_enabled.yml +0 -4
- data/config/rubocop/strict_disabled.yml +4 -0
- data/config/rubocop/strict_enabled.yml +0 -4
- data/config/version.rb +2 -3
- data/lib/origen.rb +27 -14
- data/lib/origen/application.rb +88 -2
- data/lib/origen/application/deployer.rb +3 -1
- data/lib/origen/application/release.rb +2 -2
- data/lib/origen/application/runner.rb +35 -20
- data/lib/origen/boot.rb +302 -0
- data/lib/origen/boot/api.rb +13 -0
- data/lib/origen/boot/app.rb +284 -0
- data/lib/origen/code_generators.rb +30 -10
- data/lib/origen/code_generators/actions.rb +244 -34
- data/lib/origen/code_generators/base.rb +9 -2
- data/lib/origen/code_generators/block.rb +203 -0
- data/lib/origen/code_generators/block_common.rb +100 -0
- data/lib/origen/code_generators/dut.rb +62 -0
- data/lib/origen/code_generators/feature.rb +50 -0
- data/lib/origen/code_generators/klass.rb +41 -0
- data/lib/origen/code_generators/model.rb +60 -0
- data/lib/origen/code_generators/module.rb +92 -0
- data/lib/origen/commands.rb +30 -13
- data/lib/origen/commands/archive.rb +175 -0
- data/lib/origen/commands/extract.rb +43 -0
- data/lib/origen/commands/generate.rb +1 -0
- data/lib/origen/commands/lint.rb +6 -1
- data/lib/origen/commands/new.rb +48 -24
- data/lib/origen/commands/new_resource.rb +41 -0
- data/lib/origen/commands/site.rb +52 -0
- data/lib/origen/commands/web.rb +11 -6
- data/lib/origen/commands_global.rb +9 -7
- data/lib/origen/core_ext/numeric.rb +20 -0
- data/lib/{option_parser → origen/core_ext/option_parser}/optparse.rb +0 -0
- data/lib/origen/dependencies.rb +0 -0
- data/lib/origen/file_handler.rb +18 -6
- data/lib/origen/generator.rb +19 -10
- data/lib/origen/generator/comparator.rb +2 -1
- data/lib/origen/generator/flow.rb +3 -1
- data/lib/origen/generator/job.rb +60 -16
- data/lib/origen/generator/pattern.rb +132 -72
- data/lib/origen/generator/pattern_finder.rb +3 -3
- data/lib/origen/generator/pattern_sequence.rb +201 -0
- data/lib/origen/generator/pattern_sequencer.rb +99 -0
- data/lib/origen/generator/pattern_thread.rb +175 -0
- data/lib/origen/loader.rb +381 -0
- data/lib/origen/log.rb +250 -108
- data/lib/origen/model.rb +22 -1
- data/lib/origen/model/exporter.rb +50 -10
- data/lib/origen/model_initializer.rb +5 -1
- data/lib/origen/operating_systems.rb +4 -0
- data/lib/origen/parameters.rb +96 -4
- data/lib/origen/parameters/set.rb +4 -3
- data/lib/origen/pins.rb +10 -8
- data/lib/origen/pins/pin.rb +61 -46
- data/lib/origen/ports/port.rb +5 -0
- data/lib/origen/registers.rb +5 -0
- data/lib/origen/registers/bit.rb +57 -53
- data/lib/origen/registers/bit_collection.rb +100 -43
- data/lib/origen/registers/msb0_delegator.rb +47 -0
- data/lib/origen/registers/reg.rb +114 -99
- data/lib/origen/revision_control.rb +1 -1
- data/lib/origen/revision_control/git.rb +23 -3
- data/lib/origen/site_config.rb +251 -60
- data/lib/origen/site_config/config.rb +217 -0
- data/lib/origen/sub_blocks.rb +106 -31
- data/lib/origen/top_level.rb +11 -0
- data/lib/origen/users/user.rb +3 -2
- data/lib/origen/utility/mailer.rb +42 -9
- data/lib/origen/value/bin_str_val.rb +1 -1
- data/lib/origen/value/hex_str_val.rb +1 -1
- data/lib/origen/version_string.rb +6 -1
- data/lib/tasks/gem.rake +6 -1
- data/origen_app_generators/Gemfile +19 -0
- data/origen_app_generators/Gemfile.lock +152 -0
- data/origen_app_generators/LICENSE +21 -0
- data/origen_app_generators/README.md +368 -0
- data/{templates/code_generators/rakefile.rb → origen_app_generators/Rakefile} +0 -0
- data/origen_app_generators/bin/boot.rb +39 -0
- data/origen_app_generators/config/application.rb +153 -0
- data/origen_app_generators/config/boot.rb +1 -0
- data/origen_app_generators/config/commands.rb +63 -0
- data/origen_app_generators/config/shared_commands.rb +177 -0
- data/origen_app_generators/config/version.rb +8 -0
- data/origen_app_generators/doc/history +223 -0
- data/origen_app_generators/lbin/bundle +105 -0
- data/origen_app_generators/lbin/byebug +29 -0
- data/origen_app_generators/lbin/coderay +29 -0
- data/origen_app_generators/lbin/htmldiff +29 -0
- data/origen_app_generators/lbin/httparty +29 -0
- data/origen_app_generators/lbin/httpclient +29 -0
- data/origen_app_generators/lbin/kramdown +29 -0
- data/origen_app_generators/lbin/ldiff +29 -0
- data/origen_app_generators/lbin/nanoc +29 -0
- data/origen_app_generators/lbin/nokogiri +29 -0
- data/origen_app_generators/lbin/origen +62 -0
- data/origen_app_generators/lbin/pry +29 -0
- data/origen_app_generators/lbin/rackup +29 -0
- data/origen_app_generators/lbin/rake +29 -0
- data/origen_app_generators/lbin/rspec +29 -0
- data/origen_app_generators/lbin/rubocop +29 -0
- data/origen_app_generators/lbin/ruby-parse +29 -0
- data/origen_app_generators/lbin/ruby-rewrite +29 -0
- data/origen_app_generators/lbin/thor +29 -0
- data/origen_app_generators/lbin/tilt +29 -0
- data/origen_app_generators/lbin/yard +29 -0
- data/origen_app_generators/lbin/yardoc +29 -0
- data/origen_app_generators/lbin/yri +29 -0
- data/origen_app_generators/lib/origen_app_generators.rb +125 -0
- data/origen_app_generators/lib/origen_app_generators/application.rb +62 -0
- data/origen_app_generators/lib/origen_app_generators/base.rb +257 -0
- data/origen_app_generators/lib/origen_app_generators/empty_application.rb +15 -0
- data/origen_app_generators/lib/origen_app_generators/empty_plugin.rb +15 -0
- data/origen_app_generators/lib/origen_app_generators/new.rb +170 -0
- data/origen_app_generators/lib/origen_app_generators/new_app_tests.rb +4 -0
- data/origen_app_generators/lib/origen_app_generators/origen_infrastructure/app_generator_plugin.rb +107 -0
- data/origen_app_generators/lib/origen_app_generators/plugin.rb +55 -0
- data/origen_app_generators/lib/origen_app_generators/test_engineering/common.rb +29 -0
- data/origen_app_generators/lib/origen_app_generators/test_engineering/stand_alone_application.rb +64 -0
- data/origen_app_generators/lib/origen_app_generators/test_engineering/test_block.rb +61 -0
- data/origen_app_generators/origen_app_generators.gemspec +33 -0
- data/{templates/code_generators → origen_app_generators/spec}/spec_helper.rb +0 -0
- data/origen_app_generators/target/debug.rb +8 -0
- data/origen_app_generators/target/default.rb +8 -0
- data/origen_app_generators/target/production.rb +0 -0
- data/origen_app_generators/templates/app_generators/application/.gitignore +37 -0
- data/origen_app_generators/templates/app_generators/application/.irbrc +9 -0
- data/origen_app_generators/templates/app_generators/application/.rspec +1 -0
- data/origen_app_generators/templates/app_generators/application/.travis.yml +11 -0
- data/origen_app_generators/templates/app_generators/application/Gemfile +34 -0
- data/origen_app_generators/templates/app_generators/application/Rakefile +7 -0
- data/origen_app_generators/templates/app_generators/application/app/blocks/top_level.rb +12 -0
- data/origen_app_generators/templates/app_generators/application/app/lib/module.rb +6 -0
- data/origen_app_generators/templates/app_generators/application/app/templates/web/index.md.erb +19 -0
- data/origen_app_generators/templates/app_generators/application/app/templates/web/layouts/_basic.html.erb +13 -0
- data/origen_app_generators/templates/app_generators/application/app/templates/web/partials/_navbar.html.erb +20 -0
- data/origen_app_generators/templates/app_generators/application/app/templates/web/release_notes.md.erb +5 -0
- data/origen_app_generators/templates/app_generators/application/config/application.rb +121 -0
- data/origen_app_generators/templates/app_generators/application/config/boot.rb +4 -0
- data/origen_app_generators/templates/app_generators/application/config/commands.rb +79 -0
- data/origen_app_generators/templates/app_generators/application/config/maillist_dev.txt +4 -0
- data/origen_app_generators/templates/app_generators/application/config/maillist_prod.txt +3 -0
- data/origen_app_generators/templates/app_generators/application/config/version.rb +8 -0
- data/origen_app_generators/templates/app_generators/application/doc/history +0 -0
- data/origen_app_generators/templates/app_generators/application/dot_keep +0 -0
- data/origen_app_generators/templates/app_generators/application/origen_core_session +2 -0
- data/origen_app_generators/templates/app_generators/application/spec/spec_helper.rb +44 -0
- data/origen_app_generators/templates/app_generators/application/target/debug.rb +8 -0
- data/origen_app_generators/templates/app_generators/application/target/default.rb +1 -0
- data/origen_app_generators/templates/app_generators/application/target/production.rb +4 -0
- data/origen_app_generators/templates/app_generators/new/generator.rb +102 -0
- data/origen_app_generators/templates/app_generators/new/info.md.erb +9 -0
- data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/application.rb +54 -0
- data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/base.rb +55 -0
- data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/module.rb +28 -0
- data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/plugin.rb +64 -0
- data/origen_app_generators/templates/app_generators/origen_infrastructure/app_generator_plugin/config/load_generators.rb +6 -0
- data/origen_app_generators/templates/app_generators/plugin/Gemfile +32 -0
- data/origen_app_generators/templates/app_generators/plugin/Rakefile +10 -0
- data/origen_app_generators/templates/app_generators/plugin/app/templates/web/index.md.erb +37 -0
- data/origen_app_generators/templates/app_generators/plugin/app/templates/web/partials/_navbar_external.html.erb +20 -0
- data/origen_app_generators/templates/app_generators/plugin/app/templates/web/partials/_navbar_internal.html.erb +20 -0
- data/origen_app_generators/templates/app_generators/plugin/config/boot.rb +24 -0
- data/origen_app_generators/templates/app_generators/plugin/gemspec.rb +43 -0
- data/origen_app_generators/templates/app_generators/test_engineering/environment/j750.rb +1 -0
- data/origen_app_generators/templates/app_generators/test_engineering/environment/uflex.rb +1 -0
- data/origen_app_generators/templates/app_generators/test_engineering/environment/v93k.rb +1 -0
- data/origen_app_generators/templates/app_generators/test_engineering/stand_alone_application/.keep +0 -0
- data/origen_app_generators/templates/app_generators/test_engineering/test_block/.keep +0 -0
- data/origen_site_config.yml +55 -5
- data/templates/code_generators/attributes.rb +20 -0
- data/templates/code_generators/class.rb +9 -0
- data/templates/code_generators/controller.rb +87 -0
- data/templates/code_generators/model.rb +21 -0
- data/templates/code_generators/module.rb +4 -0
- data/templates/code_generators/parameters.rb +19 -0
- data/templates/code_generators/pins.rb +28 -0
- data/templates/code_generators/registers.rb +20 -0
- data/templates/code_generators/sub_blocks.rb +24 -0
- data/templates/code_generators/timesets.rb +24 -0
- data/templates/code_generators/version.rb +0 -1
- data/templates/git/gitignore.erb +0 -1
- data/vendor/lib/models/origen/export1.rb +77 -0
- data/vendor/lib/models/origen/export1/block1.rb +13 -0
- data/vendor/lib/models/origen/export1/block1/x.rb +36 -0
- data/vendor/lib/models/origen/non_origen_meta_data.md +1 -0
- metadata +149 -68
- data/bin/fix_my_workspace +0 -100
- data/lib/c99/ate_interface.rb +0 -77
- data/lib/c99/nvm.rb +0 -110
- data/lib/c99/target/mock2.rb +0 -1
- data/lib/c99/target/subdir/mock3.rb +0 -1
- data/lib/origen/code_generators/bundler.rb +0 -17
- data/lib/origen/code_generators/gem_setup.rb +0 -49
- data/lib/origen/code_generators/rake.rb +0 -13
- data/lib/origen/code_generators/rspec.rb +0 -12
- data/lib/origen/commands/add.rb +0 -12
- data/lib/tasks/private/build.rake +0 -8
- data/templates/code_generators/gemfile_app.rb +0 -4
- data/templates/code_generators/gemfile_plugin.rb +0 -6
- data/templates/code_generators/gemspec.rb +0 -33
@@ -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
|
@@ -0,0 +1 @@
|
|
1
|
+
OrigenTesters::J750.new
|
@@ -0,0 +1 @@
|
|
1
|
+
OrigenTesters::UltraFLEX.new
|
@@ -0,0 +1 @@
|
|
1
|
+
OrigenTesters::V93K.new
|
data/origen_app_generators/templates/app_generators/test_engineering/stand_alone_application/.keep
ADDED
File without changes
|
File without changes
|
data/origen_site_config.yml
CHANGED
@@ -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:
|
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
|