origen 0.0.1 → 0.0.2
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/ctags +0 -0
- data/bin/origen +165 -1
- data/bin/rgen +2 -0
- data/config/application.rb +141 -0
- data/config/commands.rb +72 -0
- data/config/development.rb +7 -0
- data/config/environment.rb +0 -0
- data/config/rgen.policy +7 -0
- data/config/rubocop/easy.yml +620 -0
- data/config/rubocop/easy_disabled.yml +271 -0
- data/config/rubocop/easy_enabled.yml +731 -0
- data/config/rubocop/strict.yml +620 -0
- data/config/rubocop/strict_disabled.yml +247 -0
- data/config/rubocop/strict_enabled.yml +755 -0
- data/config/users.rb +20 -0
- data/config/version.rb +1 -1
- data/helpers/url.rb +68 -0
- data/lib/c99/doc_interface.rb +56 -0
- data/lib/c99/j750_interface.rb +85 -0
- data/lib/c99/nvm.rb +89 -0
- data/lib/c99/target/mock2.rb +1 -0
- data/lib/c99/target/subdir/mock3.rb +1 -0
- data/lib/option_parser/optparse.rb +12 -0
- data/lib/origen/acronyms.rb +60 -0
- data/lib/origen/application/command_dispatcher.rb +12 -0
- data/lib/origen/application/configuration.rb +206 -0
- data/lib/origen/application/configuration_manager.rb +78 -0
- data/lib/origen/application/deployer.rb +367 -0
- data/lib/origen/application/environment.rb +186 -0
- data/lib/origen/application/lsf.rb +145 -0
- data/lib/origen/application/lsf_manager.rb +657 -0
- data/lib/origen/application/plugins_manager.rb +280 -0
- data/lib/origen/application/release.rb +359 -0
- data/lib/origen/application/runner.rb +246 -0
- data/lib/origen/application/statistics.rb +191 -0
- data/lib/origen/application/target.rb +374 -0
- data/lib/origen/application/version_tracker.rb +59 -0
- data/lib/origen/application/workspace_manager.rb +151 -0
- data/lib/origen/application.rb +746 -0
- data/lib/origen/bugs/bug.rb +36 -0
- data/lib/origen/bugs.rb +45 -0
- data/lib/origen/callbacks.rb +35 -0
- data/lib/origen/chip_mode.rb +118 -0
- data/lib/origen/chip_package.rb +461 -0
- data/lib/origen/client.rb +87 -0
- data/lib/origen/code_generators/actions.rb +258 -0
- data/lib/origen/code_generators/base.rb +57 -0
- data/lib/origen/code_generators/bundler.rb +17 -0
- data/lib/origen/code_generators/gem_setup.rb +49 -0
- data/lib/origen/code_generators/rake.rb +13 -0
- data/lib/origen/code_generators/rspec.rb +12 -0
- data/lib/origen/code_generators/semver.rb +39 -0
- data/lib/origen/code_generators/timever.rb +37 -0
- data/lib/origen/code_generators.rb +111 -0
- data/lib/origen/commands/add.rb +12 -0
- data/lib/origen/commands/compile.rb +62 -0
- data/lib/origen/commands/ctags.rb +9 -0
- data/lib/origen/commands/dispatch.rb +22 -0
- data/lib/origen/commands/environment.rb +11 -0
- data/lib/origen/commands/fetch.rb +63 -0
- data/lib/origen/commands/generate.rb +130 -0
- data/lib/origen/commands/interactive.rb +73 -0
- data/lib/origen/commands/lint.rb +82 -0
- data/lib/origen/commands/lsf.rb +93 -0
- data/lib/origen/commands/merge.rb +55 -0
- data/lib/origen/commands/modifications.rb +12 -0
- data/lib/origen/commands/new.rb +113 -0
- data/lib/origen/commands/plugin.rb +105 -0
- data/lib/origen/commands/program.rb +70 -0
- data/lib/origen/commands/rc.rb +442 -0
- data/lib/origen/commands/save.rb +56 -0
- data/lib/origen/commands/target.rb +27 -0
- data/lib/origen/commands/time.rb +127 -0
- data/lib/origen/commands/version.rb +17 -0
- data/lib/origen/commands/web.rb +221 -0
- data/lib/origen/commands.rb +272 -0
- data/lib/origen/commands_global.rb +76 -0
- data/lib/origen/controller.rb +94 -0
- data/lib/origen/core_ext/array.rb +23 -0
- data/lib/origen/core_ext/bignum.rb +36 -0
- data/lib/origen/core_ext/enumerable.rb +76 -0
- data/lib/origen/core_ext/fixnum.rb +46 -0
- data/lib/origen/core_ext/hash.rb +52 -0
- data/lib/origen/core_ext/module.rb +14 -0
- data/lib/origen/core_ext/numeric.rb +126 -0
- data/lib/origen/core_ext/object.rb +13 -0
- data/lib/origen/core_ext/range.rb +7 -0
- data/lib/origen/core_ext/string.rb +124 -0
- data/lib/origen/core_ext.rb +10 -0
- data/lib/origen/database/key_value_store.rb +111 -0
- data/lib/origen/database/key_value_stores.rb +108 -0
- data/lib/origen/database.rb +6 -0
- data/lib/origen/encodings.rb +102 -0
- data/lib/origen/features/feature.rb +22 -0
- data/lib/origen/features.rb +104 -0
- data/lib/origen/file_handler.rb +429 -0
- data/lib/origen/generator/comparator.rb +56 -0
- data/lib/origen/generator/compiler.rb +277 -0
- data/lib/origen/generator/flow.rb +49 -0
- data/lib/origen/generator/job.rb +131 -0
- data/lib/origen/generator/pattern.rb +356 -0
- data/lib/origen/generator/pattern_finder.rb +155 -0
- data/lib/origen/generator/pattern_iterator.rb +55 -0
- data/lib/origen/generator/renderer.rb +113 -0
- data/lib/origen/generator/resources.rb +40 -0
- data/lib/origen/generator/stage.rb +89 -0
- data/lib/origen/generator.rb +85 -0
- data/lib/origen/global_methods.rb +205 -0
- data/lib/origen/import_manager.rb +596 -0
- data/lib/origen/location/base.rb +116 -0
- data/lib/origen/location/map.rb +83 -0
- data/lib/origen/location.rb +6 -0
- data/lib/origen/log.rb +217 -0
- data/lib/origen/logger_methods.rb +56 -0
- data/lib/origen/mode.rb +61 -0
- data/lib/origen/model.rb +267 -0
- data/lib/origen/model_initializer.rb +45 -0
- data/lib/origen/nvm/block_array.rb +72 -0
- data/lib/origen/nvm.rb +6 -0
- data/lib/origen/parameters/live.rb +22 -0
- data/lib/origen/parameters/missing.rb +28 -0
- data/lib/origen/parameters/set.rb +144 -0
- data/lib/origen/parameters.rb +107 -0
- data/lib/origen/pdm.rb +218 -0
- data/lib/origen/pins/function_proxy.rb +36 -0
- data/lib/origen/pins/ground_pin.rb +6 -0
- data/lib/origen/pins/pin.rb +860 -0
- data/lib/origen/pins/pin_bank.rb +349 -0
- data/lib/origen/pins/pin_clock.rb +124 -0
- data/lib/origen/pins/pin_collection.rb +492 -0
- data/lib/origen/pins/pin_common.rb +206 -0
- data/lib/origen/pins/port.rb +268 -0
- data/lib/origen/pins/power_pin.rb +30 -0
- data/lib/origen/pins.rb +696 -0
- data/lib/origen/registers/bit.rb +562 -0
- data/lib/origen/registers/bit_collection.rb +787 -0
- data/lib/origen/registers/container.rb +288 -0
- data/lib/origen/registers/domain.rb +16 -0
- data/lib/origen/registers/reg.rb +1406 -0
- data/lib/origen/registers/reg_collection.rb +24 -0
- data/lib/origen/registers.rb +652 -0
- data/lib/origen/regression_manager.rb +251 -0
- data/lib/origen/remote_manager.rb +340 -0
- data/lib/origen/revision_control/base.rb +257 -0
- data/lib/origen/revision_control/design_sync.rb +276 -0
- data/lib/origen/revision_control/git.rb +243 -0
- data/lib/origen/revision_control/subversion.rb +6 -0
- data/lib/origen/revision_control.rb +44 -0
- data/lib/origen/ruby_version_check.rb +131 -0
- data/lib/origen/site_config.rb +61 -0
- data/lib/origen/specs/checkers.rb +103 -0
- data/lib/origen/specs/creation_info.rb +17 -0
- data/lib/origen/specs/doc_resource.rb +91 -0
- data/lib/origen/specs/exhibit.rb +17 -0
- data/lib/origen/specs/mode_select.rb +16 -0
- data/lib/origen/specs/note.rb +17 -0
- data/lib/origen/specs/override.rb +21 -0
- data/lib/origen/specs/power_supply.rb +13 -0
- data/lib/origen/specs/spec.rb +226 -0
- data/lib/origen/specs/version_history.rb +14 -0
- data/lib/origen/specs.rb +552 -0
- data/lib/origen/sub_blocks.rb +298 -0
- data/lib/origen/tester/api.rb +277 -0
- data/lib/origen/tester/bdm/bdm.rb +25 -0
- data/lib/origen/tester/command_based_tester.rb +46 -0
- data/lib/origen/tester/doc/doc.rb +226 -0
- data/lib/origen/tester/doc/generator/flow.rb +71 -0
- data/lib/origen/tester/doc/generator/flow_line.rb +203 -0
- data/lib/origen/tester/doc/generator/test.rb +68 -0
- data/lib/origen/tester/doc/generator/test_group.rb +66 -0
- data/lib/origen/tester/doc/generator/tests.rb +47 -0
- data/lib/origen/tester/doc/generator.rb +126 -0
- data/lib/origen/tester/doc/model.rb +162 -0
- data/lib/origen/tester/generator/flow_control_api.rb +606 -0
- data/lib/origen/tester/generator/identity_map.rb +25 -0
- data/lib/origen/tester/generator/placeholder.rb +13 -0
- data/lib/origen/tester/generator/test_numberer.rb +25 -0
- data/lib/origen/tester/generator.rb +271 -0
- data/lib/origen/tester/interface.rb +154 -0
- data/lib/origen/tester/j750/files.rb +45 -0
- data/lib/origen/tester/j750/generator/flow.rb +123 -0
- data/lib/origen/tester/j750/generator/flow_line.rb +288 -0
- data/lib/origen/tester/j750/generator/patgroup.rb +111 -0
- data/lib/origen/tester/j750/generator/patgroups.rb +41 -0
- data/lib/origen/tester/j750/generator/patset.rb +111 -0
- data/lib/origen/tester/j750/generator/patsets.rb +41 -0
- data/lib/origen/tester/j750/generator/templates/flow.txt.erb +9 -0
- data/lib/origen/tester/j750/generator/templates/instances.txt.erb +16 -0
- data/lib/origen/tester/j750/generator/templates/patgroups.txt.erb +8 -0
- data/lib/origen/tester/j750/generator/templates/patsets.txt.erb +10 -0
- data/lib/origen/tester/j750/generator/test_instance.rb +846 -0
- data/lib/origen/tester/j750/generator/test_instance_group.rb +60 -0
- data/lib/origen/tester/j750/generator/test_instances.rb +182 -0
- data/lib/origen/tester/j750/generator.rb +203 -0
- data/lib/origen/tester/j750/j750.rb +845 -0
- data/lib/origen/tester/j750/j750_hpt.rb +35 -0
- data/lib/origen/tester/j750/parser/ac_spec.rb +11 -0
- data/lib/origen/tester/j750/parser/ac_specs.rb +0 -0
- data/lib/origen/tester/j750/parser/dc_spec.rb +36 -0
- data/lib/origen/tester/j750/parser/dc_specs.rb +50 -0
- data/lib/origen/tester/j750/parser/descriptions.rb +340 -0
- data/lib/origen/tester/j750/parser/flow.rb +111 -0
- data/lib/origen/tester/j750/parser/flow_line.rb +207 -0
- data/lib/origen/tester/j750/parser/flows.rb +23 -0
- data/lib/origen/tester/j750/parser/pattern_set.rb +94 -0
- data/lib/origen/tester/j750/parser/pattern_sets.rb +33 -0
- data/lib/origen/tester/j750/parser/test_instance.rb +322 -0
- data/lib/origen/tester/j750/parser/test_instances.rb +26 -0
- data/lib/origen/tester/j750/parser/timeset.rb +15 -0
- data/lib/origen/tester/j750/parser/timesets.rb +0 -0
- data/lib/origen/tester/j750/parser.rb +104 -0
- data/lib/origen/tester/jlink/jlink.rb +33 -0
- data/lib/origen/tester/parser/description_lookup.rb +64 -0
- data/lib/origen/tester/parser/searchable_array.rb +32 -0
- data/lib/origen/tester/parser/searchable_hash.rb +32 -0
- data/lib/origen/tester/parser.rb +24 -0
- data/lib/origen/tester/time.rb +338 -0
- data/lib/origen/tester/timing.rb +253 -0
- data/lib/origen/tester/ultraflex/files.rb +45 -0
- data/lib/origen/tester/ultraflex/generator/flow.rb +119 -0
- data/lib/origen/tester/ultraflex/generator/flow_line.rb +269 -0
- data/lib/origen/tester/ultraflex/generator/patgroup.rb +111 -0
- data/lib/origen/tester/ultraflex/generator/patgroups.rb +41 -0
- data/lib/origen/tester/ultraflex/generator/patset.rb +111 -0
- data/lib/origen/tester/ultraflex/generator/patsets.rb +41 -0
- data/lib/origen/tester/ultraflex/generator/templates/flow.txt.erb +9 -0
- data/lib/origen/tester/ultraflex/generator/templates/instances.txt.erb +16 -0
- data/lib/origen/tester/ultraflex/generator/templates/patgroups.txt.erb +8 -0
- data/lib/origen/tester/ultraflex/generator/templates/patsets.txt.erb +10 -0
- data/lib/origen/tester/ultraflex/generator/test_instance.rb +622 -0
- data/lib/origen/tester/ultraflex/generator/test_instance_group.rb +60 -0
- data/lib/origen/tester/ultraflex/generator/test_instances.rb +174 -0
- data/lib/origen/tester/ultraflex/generator.rb +200 -0
- data/lib/origen/tester/ultraflex/parser/ac_spec.rb +11 -0
- data/lib/origen/tester/ultraflex/parser/ac_specs.rb +0 -0
- data/lib/origen/tester/ultraflex/parser/dc_spec.rb +36 -0
- data/lib/origen/tester/ultraflex/parser/dc_specs.rb +50 -0
- data/lib/origen/tester/ultraflex/parser/descriptions.rb +342 -0
- data/lib/origen/tester/ultraflex/parser/flow.rb +111 -0
- data/lib/origen/tester/ultraflex/parser/flow_line.rb +207 -0
- data/lib/origen/tester/ultraflex/parser/flows.rb +23 -0
- data/lib/origen/tester/ultraflex/parser/pattern_set.rb +94 -0
- data/lib/origen/tester/ultraflex/parser/pattern_sets.rb +33 -0
- data/lib/origen/tester/ultraflex/parser/test_instance.rb +262 -0
- data/lib/origen/tester/ultraflex/parser/test_instances.rb +26 -0
- data/lib/origen/tester/ultraflex/parser/timeset.rb +15 -0
- data/lib/origen/tester/ultraflex/parser/timesets.rb +0 -0
- data/lib/origen/tester/ultraflex/parser.rb +104 -0
- data/lib/origen/tester/ultraflex/ultraflex.rb +759 -0
- data/lib/origen/tester/v93k/generator/flow.rb +63 -0
- data/lib/origen/tester/v93k/generator/flow_node/print.rb +10 -0
- data/lib/origen/tester/v93k/generator/flow_node.rb +17 -0
- data/lib/origen/tester/v93k/generator/pattern.rb +16 -0
- data/lib/origen/tester/v93k/generator/pattern_master.rb +54 -0
- data/lib/origen/tester/v93k/generator/templates/_test_method.txt.erb +6 -0
- data/lib/origen/tester/v93k/generator/templates/_test_suite.txt.erb +11 -0
- data/lib/origen/tester/v93k/generator/templates/template.flow.erb +121 -0
- data/lib/origen/tester/v93k/generator/templates/template.pmfl.erb +9 -0
- data/lib/origen/tester/v93k/generator/test_function.rb +103 -0
- data/lib/origen/tester/v93k/generator/test_functions.rb +79 -0
- data/lib/origen/tester/v93k/generator/test_method.rb +46 -0
- data/lib/origen/tester/v93k/generator/test_methods.rb +75 -0
- data/lib/origen/tester/v93k/generator/test_suite.rb +54 -0
- data/lib/origen/tester/v93k/generator/test_suites.rb +65 -0
- data/lib/origen/tester/v93k/generator.rb +80 -0
- data/lib/origen/tester/v93k/v93k.rb +420 -0
- data/lib/origen/tester/vector.rb +86 -0
- data/lib/origen/tester/vector_generator.rb +633 -0
- data/lib/origen/tester/vector_pipeline.rb +150 -0
- data/lib/origen/tester.rb +56 -0
- data/lib/origen/top_level.rb +134 -0
- data/lib/origen/users/ldap.rb +65 -0
- data/lib/origen/users/user.rb +149 -0
- data/lib/origen/users.rb +30 -0
- data/lib/origen/utility/block_args.rb +93 -0
- data/lib/origen/utility/csv_data.rb +110 -0
- data/lib/origen/utility/design_sync.rb +494 -0
- data/lib/origen/utility/diff.rb +158 -0
- data/lib/origen/utility/input_capture.rb +121 -0
- data/lib/origen/utility/mailer.rb +143 -0
- data/lib/origen/utility/s_record.rb +205 -0
- data/lib/origen/utility/time_and_date.rb +30 -0
- data/lib/origen/utility.rb +12 -0
- data/lib/origen/version_checker.rb +117 -0
- data/lib/origen/version_string.rb +356 -0
- data/lib/origen.rb +648 -0
- data/lib/tasks/gem.rake +27 -22
- data/origen_site_config.yml +36 -0
- data/source_setup +17 -0
- data/spec/format/rgen_formatter.rb +14 -0
- data/templates/api_doc/README.txt.erb +24 -0
- data/templates/code_generators/gemfile_app.rb +4 -0
- data/templates/code_generators/gemfile_plugin.rb +6 -0
- data/templates/code_generators/gemspec.rb +33 -0
- data/templates/code_generators/rakefile.rb +10 -0
- data/templates/code_generators/spec_helper.rb +49 -0
- data/templates/code_generators/version.rb +8 -0
- data/templates/code_generators/version_time.rb +3 -0
- data/templates/git/gitignore.erb +33 -0
- data/templates/j750/_vt_flow.txt.erb +8 -0
- data/templates/j750/_vt_instances.txt.erb +4 -0
- data/templates/j750/program_sheet.txt.erb +9 -0
- data/templates/nanoc/Rules +74 -0
- data/templates/nanoc/config.yaml +77 -0
- data/templates/nanoc/content/favicon.ico +0 -0
- data/templates/nanoc/layouts/bootstrap.html.erb +63 -0
- data/templates/nanoc/layouts/bootstrap3.html.erb +71 -0
- data/templates/nanoc/layouts/freescale.html.erb +79 -0
- data/templates/nanoc/lib/bootstrap_filter.rb +49 -0
- data/templates/nanoc/lib/codeblocks_filter.rb +41 -0
- data/templates/nanoc/lib/default.rb +2 -0
- data/templates/nanoc/lib/gzip_filter.rb +16 -0
- data/templates/nanoc/lib/haml_code_filter.rb +41 -0
- data/templates/nanoc/lib/helpers.rb +1 -0
- data/templates/nanoc/lib/search_filter.rb +62 -0
- data/templates/nanoc_dynamic/content/search.js.erb +92 -0
- data/templates/shared/web/_logo.html +10 -0
- data/templates/test/_inline_sub.txt.erb +2 -0
- data/templates/test/environment.txt.erb +1 -0
- data/templates/test/inline.txt.erb +11 -0
- data/templates/test/inspections.txt.erb +19 -0
- data/templates/test/set1/_sub1.txt.erb +12 -0
- data/templates/test/set1/_sub4.txt.erb +1 -0
- data/templates/test/set1/_sub5.txt.erb +1 -0
- data/templates/test/set1/main.txt.erb +53 -0
- data/templates/test/set1/sub_dir/_sub2.txt.erb +20 -0
- data/templates/test/set1/sub_dir/_sub3.txt.erb +12 -0
- data/templates/test/set1/sub_dir/main2.txt.erb +4 -0
- data/templates/test/set2/template_with_no_erb_1.txt +9 -0
- data/templates/test/set2/template_with_no_erb_2.txt +9 -0
- data/templates/test/set3/_layout.html.erb +4 -0
- data/templates/test/set3/content.html.erb +6 -0
- data/templates/time/filter.rb.erb +15 -0
- data/templates/time/rules.rb.erb +45 -0
- metadata +639 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0bfc62817a98cc10ecff1e306c5711c29cfb83fd
|
|
4
|
+
data.tar.gz: fa98a50f5be546a086019bf9ca026d714761bead
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 44360323da0fe46e28eead6e4b6e48ef90adc03fe07f37ca6db2b708ddf61e5ae0c0601b10f13815677861fa2b4e40c52fd4f7f9f9f74503cb0b8e0d1cd17851
|
|
7
|
+
data.tar.gz: 60f45f9498615b81a9eeac1dc626327724e0d39a72f53a74d37085d73b4f80942c6b7541c8d0caea551977d5251c01a06e3de9def283e81addd0598777d40bcd
|
data/bin/ctags
ADDED
|
Binary file
|
data/bin/origen
CHANGED
|
@@ -1,3 +1,167 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
$VERBOSE=nil # Don't care about world writable dir warnings and the like
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
require "pathname"
|
|
5
|
+
require "fileutils"
|
|
6
|
+
|
|
7
|
+
class OrigenBootError < StandardError
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
ORIGEN_MIN_GCC_VERSION = "4.7.3"
|
|
11
|
+
|
|
12
|
+
load File.expand_path('../../lib/origen/site_config.rb', __FILE__)
|
|
13
|
+
|
|
14
|
+
# This will be referenced later in ruby_version_check, the origen used to launch
|
|
15
|
+
# the process is different than the one that actually runs under bundler
|
|
16
|
+
$origen_launch_root = Pathname.new(File.dirname(__FILE__)).parent
|
|
17
|
+
|
|
18
|
+
# Override any influence from $LANG in the users environment
|
|
19
|
+
Encoding.default_external = Encoding::UTF_8
|
|
20
|
+
Encoding.default_internal = Encoding::UTF_8
|
|
21
|
+
ENV['LC_ALL'] = nil
|
|
22
|
+
ENV['LANG'] = nil
|
|
23
|
+
ENV['LANG'] = 'en_US.UTF-8'
|
|
24
|
+
|
|
25
|
+
# Work out what Origen.root is if we are running inside an Origen application, this will be
|
|
26
|
+
# later used to execute from that app's bundle even if the origen executable lives somewhere
|
|
27
|
+
# else (e.g. in the tools repository)
|
|
28
|
+
app_config = File.join('config', 'application.rb')
|
|
29
|
+
if File.exist?(app_config)
|
|
30
|
+
origen_root = Dir.pwd
|
|
31
|
+
else
|
|
32
|
+
path = Pathname.new(Dir.pwd)
|
|
33
|
+
until path.root? || origen_root
|
|
34
|
+
if File.exist?(File.join(path, app_config))
|
|
35
|
+
origen_root = path.to_s
|
|
36
|
+
else
|
|
37
|
+
path = path.parent
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
if origen_root
|
|
43
|
+
# Force everyone to have a consistent way of installing gems with bundler
|
|
44
|
+
ENV['BUNDLE_GEMFILE'] = File.join(origen_root, "Gemfile")
|
|
45
|
+
ENV['BUNDLE_PATH'] = File.expand_path(Origen.site_config.gem_install_dir)
|
|
46
|
+
ENV['BUNDLE_BIN'] = File.join(origen_root, "lbin")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
if origen_root && File.exist?(ENV['BUNDLE_GEMFILE'])
|
|
50
|
+
# Overriding bundler here so that bundle install can be automated as required
|
|
51
|
+
require 'bundler/shared_helpers'
|
|
52
|
+
if Bundler::SharedHelpers.in_bundle?
|
|
53
|
+
require 'bundler'
|
|
54
|
+
if STDOUT.tty?
|
|
55
|
+
begin
|
|
56
|
+
Bundler.setup
|
|
57
|
+
fail OrigenBootError unless File.exist?(ENV['BUNDLE_BIN'])
|
|
58
|
+
rescue Gem::LoadError, Bundler::BundlerError, OrigenBootError => e
|
|
59
|
+
cmd = "bundle install --gemfile #{ENV["BUNDLE_GEMFILE"]} --binstubs #{ENV["BUNDLE_BIN"]} --path #{ENV["BUNDLE_PATH"]}"
|
|
60
|
+
#puts cmd
|
|
61
|
+
puts "Installing required gems..."
|
|
62
|
+
puts
|
|
63
|
+
`chmod o-w #{origen_root}` # Stops some annoying world writable warnings during install
|
|
64
|
+
`chmod o-w #{origen_root}/bin` if File.exist?("#{origen_root}/bin")
|
|
65
|
+
`chmod o-w #{origen_root}/.bin` if File.exist?("#{origen_root}/.bin")
|
|
66
|
+
result = false
|
|
67
|
+
local_gem_dir = "#{ENV['BUNDLE_PATH']}/ruby/2.1.0"
|
|
68
|
+
system_gem_dir = "/run/pkg/fs-ruby-/2.1.5-p273/lib/ruby/gems/2.1.0"
|
|
69
|
+
Bundler.with_clean_env do
|
|
70
|
+
if RUBY_PLATFORM == "x86_64-linux"
|
|
71
|
+
if Origen.site_config.gem_build_switches
|
|
72
|
+
Origen.site_config.gem_build_switches.each do |switches|
|
|
73
|
+
`bundle config build.#{switches}`
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
gcc_version = begin
|
|
77
|
+
begin
|
|
78
|
+
line = %x[gcc --version].split("\n").first
|
|
79
|
+
rescue
|
|
80
|
+
puts "You don't seem to have gcc available, make sure you following the Origen installation instructions:"
|
|
81
|
+
puts "http://origen-sdk.org/origen/latest/guides/starting/installing/"
|
|
82
|
+
exit 1
|
|
83
|
+
end
|
|
84
|
+
if line =~ /(\d+\.\d+\.\d+)/
|
|
85
|
+
$1
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
if gcc_version
|
|
89
|
+
if gcc_version < ORIGEN_MIN_GCC_VERSION
|
|
90
|
+
puts "Origen requires a minimum of GCC version #{ORIGEN_MIN_GCC_VERSION}, but you have #{gcc_version}."
|
|
91
|
+
exit 1
|
|
92
|
+
end
|
|
93
|
+
else
|
|
94
|
+
puts "Unable to determine gcc version, proceeding with fingers crossed..."
|
|
95
|
+
end
|
|
96
|
+
# Some gems (particularly those with C extensions that need to be built), can be hard to install reliably
|
|
97
|
+
# across a large user base. Initially seed the user's local gem area with the system-installed gems,
|
|
98
|
+
# this means that the system Ruby owner can provide an installation for these hard-to-install gems.
|
|
99
|
+
unless File.exist?("#{local_gem_dir}/.seeded_from_system")
|
|
100
|
+
puts "Installing gems that are available from the system Ruby, this can take a few minutes, please be patient..."
|
|
101
|
+
FileUtils.mkdir_p(local_gem_dir) unless File.exist?(local_gem_dir) # Make the full path the the local gems
|
|
102
|
+
FileUtils.rm_rf(local_gem_dir) # Then clear the end directory
|
|
103
|
+
FileUtils.cp_r(system_gem_dir, local_gem_dir)
|
|
104
|
+
FileUtils.touch "#{local_gem_dir}/.seeded_from_system"
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
result = system(cmd)
|
|
108
|
+
end
|
|
109
|
+
`chmod o-w #{ENV["BUNDLE_BIN"]}`
|
|
110
|
+
# Make .bat versions of all executables, Bundler should really be doing this when running
|
|
111
|
+
# on windows
|
|
112
|
+
if RUBY_PLATFORM == 'i386-mingw32'
|
|
113
|
+
bat_present = File.exist? "#{origen_root}/lbin/origen.bat"
|
|
114
|
+
Dir.glob("#{origen_root}/lbin/*").each do |bin|
|
|
115
|
+
unless bin =~ /.bat$/
|
|
116
|
+
bat = "#{bin}.bat"
|
|
117
|
+
unless File.exist?(bat)
|
|
118
|
+
File.open(bat, 'w') { |f| f.write('@"ruby.exe" "%~dpn0" %*') }
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
if !bat_present && !result
|
|
123
|
+
puts "Some Windows specific updates to your workspace were required, please re-run the last command"
|
|
124
|
+
exit 0
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
if result
|
|
128
|
+
puts
|
|
129
|
+
puts "The required gems have been installed, please re-run the previous command"
|
|
130
|
+
exit 0
|
|
131
|
+
else
|
|
132
|
+
puts
|
|
133
|
+
puts "If you have just updated a gem version and are now getting an error that Bundler cannot find compatible versions for it then first try running 'bundle update <gemname>'."
|
|
134
|
+
puts "For example if you have just changed the version of origen_core run 'bundle update origen_core'."
|
|
135
|
+
exit 1
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
else
|
|
139
|
+
Bundler.setup
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
require "bundler/setup"
|
|
143
|
+
require "origen"
|
|
144
|
+
else
|
|
145
|
+
$LOAD_PATH.unshift "#{File.expand_path(File.dirname(__FILE__))}/../lib"
|
|
146
|
+
require "origen"
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
# If this script has been invoked from within an Origen application then open
|
|
150
|
+
# up all commands, if not then only allow the command to create a new Origen
|
|
151
|
+
# application.
|
|
152
|
+
# Note that the Origen core workspace is now a fully fledged Origen application in
|
|
153
|
+
# its own right.
|
|
154
|
+
begin
|
|
155
|
+
if origen_root
|
|
156
|
+
require "origen/commands"
|
|
157
|
+
else
|
|
158
|
+
require "origen/commands_global"
|
|
159
|
+
end
|
|
160
|
+
ensure
|
|
161
|
+
if Origen.app_loaded?
|
|
162
|
+
Origen.app.listeners_for(:on_origen_shutdown).each do |listener|
|
|
163
|
+
listener.on_origen_shutdown
|
|
164
|
+
end
|
|
165
|
+
Origen.app.runner.shutdown
|
|
166
|
+
end
|
|
167
|
+
end
|
data/bin/rgen
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
class OrigenCoreApplication < Origen::Application
|
|
2
|
+
|
|
3
|
+
self.name = "Origen Core"
|
|
4
|
+
self.namespace = "Origen"
|
|
5
|
+
|
|
6
|
+
config.name = "Origen Core"
|
|
7
|
+
config.initials = "Origen"
|
|
8
|
+
config.rc_url = "ssh://git@github.com:Origen-SDK/origen.git"
|
|
9
|
+
config.semantically_version = true
|
|
10
|
+
config.release_externally = true
|
|
11
|
+
config.gem_name = "origen"
|
|
12
|
+
|
|
13
|
+
config.production_targets = {
|
|
14
|
+
"1m79x" => "production",
|
|
15
|
+
"2m79x" => "debug",
|
|
16
|
+
"3m79x" => "mock.rb",
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
config.lint_test = {
|
|
20
|
+
# Require the lint tests to pass before allowing a release to proceed
|
|
21
|
+
:run_on_tag => true,
|
|
22
|
+
# Auto correct violations where possible whenever 'origen lint' is run
|
|
23
|
+
:auto_correct => true,
|
|
24
|
+
# Limit the testing for large legacy applications
|
|
25
|
+
#:level => :easy,
|
|
26
|
+
# Run on these directories/files by default
|
|
27
|
+
#:files => ["lib", "config/application.rb"],
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
#config.lsf.project = "origen core"
|
|
31
|
+
|
|
32
|
+
config.web_directory = "/proj/.web_origen/html/origen"
|
|
33
|
+
|
|
34
|
+
config.web_domain = "http://origen-sdk.org/origen"
|
|
35
|
+
|
|
36
|
+
config.pattern_prefix = "nvm"
|
|
37
|
+
|
|
38
|
+
config.pattern_header do
|
|
39
|
+
cc "This is a dummy pattern created by the Origen test environment"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Add any directories or files not intended to be under change management control
|
|
43
|
+
# standard Origen files/dirs already included
|
|
44
|
+
# config.unmanaged_dirs = %w{dir1 dir2}
|
|
45
|
+
# config.unamanged_files = %w{file1 file2 *.swp}
|
|
46
|
+
|
|
47
|
+
config.output_directory do
|
|
48
|
+
dir = "#{Origen.root}/output/#{$top.class}"
|
|
49
|
+
dir.gsub!("::","_") if Origen.running_on_windows?
|
|
50
|
+
dir
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
config.reference_directory do
|
|
54
|
+
dir = "#{Origen.root}/.ref/#{$top.class}"
|
|
55
|
+
dir.gsub!("::","_") if Origen.running_on_windows?
|
|
56
|
+
dir
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Help Origen to find patterns based on an iterator
|
|
60
|
+
config.pattern_name_translator do |name|
|
|
61
|
+
if name == "dummy_name"
|
|
62
|
+
{:source => "timing", :output => "timing"}
|
|
63
|
+
else
|
|
64
|
+
name.gsub(/_b\d/, "_bx")
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# By block iterator
|
|
69
|
+
config.pattern_iterator do |iterator|
|
|
70
|
+
iterator.key = :by_block
|
|
71
|
+
|
|
72
|
+
iterator.loop do |&pattern|
|
|
73
|
+
$nvm.blocks.each do |block|
|
|
74
|
+
pattern.call(block)
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
iterator.setup do |block|
|
|
79
|
+
blk = $nvm.find_block_by_id(block.id)
|
|
80
|
+
blk.select
|
|
81
|
+
blk
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
iterator.pattern_name do |name, block|
|
|
85
|
+
name.gsub("_bx", "_b#{block.id}")
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# By setting iterator
|
|
90
|
+
config.pattern_iterator do |iterator|
|
|
91
|
+
iterator.key = :by_setting
|
|
92
|
+
|
|
93
|
+
iterator.loop do |settings, &pattern|
|
|
94
|
+
settings.each do |setting|
|
|
95
|
+
pattern.call(setting)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
iterator.pattern_name do |name, setting|
|
|
100
|
+
name.gsub("_x", "_#{setting}")
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Ensure that all tests pass before allowing a release to continue
|
|
105
|
+
def validate_release
|
|
106
|
+
#if !system("origen specs") || !system("origen examples")
|
|
107
|
+
# puts "Sorry but you can't release with failing tests, please fix them and try again."
|
|
108
|
+
# exit 1
|
|
109
|
+
#else
|
|
110
|
+
# puts "All tests passing, proceeding with release process!"
|
|
111
|
+
#end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def before_deploy_site
|
|
115
|
+
Dir.chdir Origen.root do
|
|
116
|
+
system "origen specs -c"
|
|
117
|
+
system "origen examples -c"
|
|
118
|
+
dir = "#{Origen.root}/web/output/coverage"
|
|
119
|
+
FileUtils.remove_dir(dir, true) if File.exists?(dir)
|
|
120
|
+
system "mv #{Origen.root}/coverage #{dir}"
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def after_release_email(tag, note, type, selector, options)
|
|
125
|
+
#begin
|
|
126
|
+
# deployer = Origen.app.deployer
|
|
127
|
+
# if deployer.running_on_cde? && deployer.user_belongs_to_origen?
|
|
128
|
+
# command = "origen web compile --remote --api"
|
|
129
|
+
# # If an external release
|
|
130
|
+
# if Origen.version.production?
|
|
131
|
+
# command += " --archive #{Origen.app.version.prefixed}"
|
|
132
|
+
# end
|
|
133
|
+
# Dir.chdir Origen.root do
|
|
134
|
+
# system command
|
|
135
|
+
# end
|
|
136
|
+
# end
|
|
137
|
+
#rescue
|
|
138
|
+
# Origen.log.error "Web deploy failed"
|
|
139
|
+
#end
|
|
140
|
+
end
|
|
141
|
+
end
|
data/config/commands.rb
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# This file should be used to extend origen with application specific tasks
|
|
2
|
+
|
|
3
|
+
aliases ={
|
|
4
|
+
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@command = aliases[@command] || @command
|
|
8
|
+
|
|
9
|
+
case @command
|
|
10
|
+
|
|
11
|
+
when "specs"
|
|
12
|
+
ARGV.unshift "spec"
|
|
13
|
+
require "rspec"
|
|
14
|
+
# For some unidentified reason Rspec does not autorun on this version
|
|
15
|
+
if RSpec::Core::Version::STRING && RSpec::Core::Version::STRING == "2.11.1"
|
|
16
|
+
RSpec::Core::Runner.run ARGV
|
|
17
|
+
else
|
|
18
|
+
require "rspec/autorun"
|
|
19
|
+
end
|
|
20
|
+
exit 0 # RSpec will exit 1 automatically if a test fails
|
|
21
|
+
|
|
22
|
+
when "examples"
|
|
23
|
+
$enable_testers = true if ARGV.delete("--testers")
|
|
24
|
+
Origen.load_application
|
|
25
|
+
status = 0
|
|
26
|
+
Dir["#{Origen.root}/examples/*.rb"].each do |example|
|
|
27
|
+
require example
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
if Origen.app.stats.changed_files == 0 &&
|
|
31
|
+
Origen.app.stats.new_files == 0 &&
|
|
32
|
+
Origen.app.stats.changed_patterns == 0 &&
|
|
33
|
+
Origen.app.stats.new_patterns == 0
|
|
34
|
+
|
|
35
|
+
Origen.app.stats.report_pass
|
|
36
|
+
else
|
|
37
|
+
Origen.app.stats.report_fail
|
|
38
|
+
status = 1
|
|
39
|
+
end
|
|
40
|
+
puts
|
|
41
|
+
exit status
|
|
42
|
+
|
|
43
|
+
when "regression"
|
|
44
|
+
# You must tell the regression manager up front what target will be run within
|
|
45
|
+
# the block
|
|
46
|
+
options[:targets] = %w(debug v93k jlink bdm)
|
|
47
|
+
Origen.regression_manager.run(options) do |options|
|
|
48
|
+
Origen.lsf.submit_origen_job "generate j750.list -t debug --plugin origen_core_support"
|
|
49
|
+
Origen.lsf.submit_origen_job "generate v93k_workout -t v93k --plugin none"
|
|
50
|
+
Origen.lsf.submit_origen_job "generate dummy_name port -t debug --plugin none"
|
|
51
|
+
Origen.lsf.submit_origen_job "generate jlink.list -t jlink --plugin none"
|
|
52
|
+
Origen.lsf.submit_origen_job "generate bdm.list -t bdm --plugin none"
|
|
53
|
+
Origen.lsf.submit_origen_job "compile templates/test/set3 -t debug --plugin none"
|
|
54
|
+
Origen.lsf.submit_origen_job "compile templates/test/inspections.txt.erb -t debug --plugin none"
|
|
55
|
+
Origen.lsf.submit_origen_job "program program -t debug --plugin none"
|
|
56
|
+
Origen.lsf.submit_origen_job "program program -t debug --doc --plugin none"
|
|
57
|
+
end
|
|
58
|
+
exit 0
|
|
59
|
+
|
|
60
|
+
when "make_file"
|
|
61
|
+
Origen.load_application
|
|
62
|
+
system "touch #{Origen.root}/#{ARGV.first}"
|
|
63
|
+
exit 0
|
|
64
|
+
|
|
65
|
+
else
|
|
66
|
+
@application_commands = <<-EOT
|
|
67
|
+
specs Run the specs (tests), -c will enable coverage
|
|
68
|
+
examples Run the examples, -c will enable coverage
|
|
69
|
+
regression Test the regression manager (runs a subset of examples)
|
|
70
|
+
EOT
|
|
71
|
+
|
|
72
|
+
end
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Interfaces must be required, can't autoload
|
|
2
|
+
require "c99/j750_interface"
|
|
3
|
+
require "c99/doc_interface"
|
|
4
|
+
# The majority of this class is defined in the support application,
|
|
5
|
+
# this is to test that the importing application can override and
|
|
6
|
+
# extend imported classes.
|
|
7
|
+
require "#{Origen.root}/lib/c99/nvm"
|
|
File without changes
|