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
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require 'nokogiri'
|
|
2
|
+
#require "byebug"
|
|
3
|
+
|
|
4
|
+
class BootstrapFilter < Nanoc::Filter
|
|
5
|
+
identifier :bootstrap
|
|
6
|
+
|
|
7
|
+
def run(content, params={})
|
|
8
|
+
doc = Nokogiri::HTML.fragment(content)
|
|
9
|
+
|
|
10
|
+
# Add table class to all tables so that they are formatted by bootstrap
|
|
11
|
+
doc.search('table').tap{ |ns| ns.add_class('table') }.each do |n|
|
|
12
|
+
n.text
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Add an anchor to all headers
|
|
16
|
+
if item[:header_anchors].nil? || item[:header_anchors]
|
|
17
|
+
tags = "h1, h2, h3, h4"
|
|
18
|
+
first_done = false
|
|
19
|
+
doc.css(tags).each do |header|
|
|
20
|
+
# Skip the first header in the doc, looks better and no advantage to having an anchor on it
|
|
21
|
+
if first_done
|
|
22
|
+
# Don't add an anchor link to headers that already contain a link
|
|
23
|
+
unless header.at_css("a")
|
|
24
|
+
tag = header.name
|
|
25
|
+
cls = header.attr("class")
|
|
26
|
+
unless cls && cls =~ /(topic-title|topic-subtitle|no-anchor)/
|
|
27
|
+
header.replace anchor(tag, header.text)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
first_done = true
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
doc.to_html
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def anchor(tag, msg)
|
|
39
|
+
id = msg.gsub(" ", "_")
|
|
40
|
+
html = <<-END
|
|
41
|
+
<div>
|
|
42
|
+
<a class="anchor" name="#{id}"></a>
|
|
43
|
+
<#{tag}><a href="##{id}">#{msg}</a></#{tag}>
|
|
44
|
+
</div>
|
|
45
|
+
END
|
|
46
|
+
# Need to pass back a node, couldn't work out better syntax to do this
|
|
47
|
+
Nokogiri::HTML(html).css("div")
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'nokogiri'
|
|
2
|
+
require "coderay"
|
|
3
|
+
|
|
4
|
+
module CodeRay
|
|
5
|
+
class << self
|
|
6
|
+
alias :orig_scan :scan
|
|
7
|
+
# Override the coderay scan method to remove escaped underscores prior
|
|
8
|
+
# to passing over
|
|
9
|
+
def scan(*args)
|
|
10
|
+
args.first.gsub!("\\_", "_")
|
|
11
|
+
orig_scan(*args)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
class CodeblocksFilter < Nanoc::Filter
|
|
17
|
+
identifier :codeblocks
|
|
18
|
+
|
|
19
|
+
def run(content, params={})
|
|
20
|
+
doc = Nokogiri::HTML.fragment(content)
|
|
21
|
+
# Remove any escaped underscores from code blocks that are not marked
|
|
22
|
+
# up by coderay
|
|
23
|
+
doc.search('code').each do |n|
|
|
24
|
+
n.content = n.content.gsub("\\_", "_")
|
|
25
|
+
end
|
|
26
|
+
# Same for coderay markup, not sure if this will apply always,
|
|
27
|
+
# but seems to deal with highlighted Ruby
|
|
28
|
+
# Keeping for future reference, but now replaced by remove underscores
|
|
29
|
+
# prior to passing to coderay above
|
|
30
|
+
#doc.search('.CodeRay .code').each do |n|
|
|
31
|
+
# n.xpath("//text()[. = '\\_']").each do |n|
|
|
32
|
+
# n.content = n.content.gsub("\\_", "_")
|
|
33
|
+
# end
|
|
34
|
+
# n.xpath("//text()[. = '\\']").each do |n|
|
|
35
|
+
# n.content = n.content.gsub("\\", "")
|
|
36
|
+
# end
|
|
37
|
+
#end
|
|
38
|
+
doc.to_html
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require "zlib"
|
|
2
|
+
|
|
3
|
+
class GzipFilter < Nanoc::Filter
|
|
4
|
+
identifier :gzip
|
|
5
|
+
|
|
6
|
+
type text: :binary
|
|
7
|
+
|
|
8
|
+
def run(content, params = {})
|
|
9
|
+
Zlib::GzipWriter.open(output_filename, Zlib::BEST_COMPRESSION) do |gz|
|
|
10
|
+
gz.orig_name = "index.html"
|
|
11
|
+
gz.mtime = File.mtime(item[:filename]).to_i
|
|
12
|
+
gz.write content
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Disabled this for now, don't think anyone uses it.
|
|
2
|
+
# Problem is that the HAML gem seems to have changed in the upgrade to
|
|
3
|
+
# Ruby v2.1.0 and the below will need to be updated accordingly.
|
|
4
|
+
#
|
|
5
|
+
#require "haml"
|
|
6
|
+
#
|
|
7
|
+
## This adds a :code filter to allow code snippets to be embedded in HAML
|
|
8
|
+
## docs which are then highlighted by Coderay. Ruby is the default language, select
|
|
9
|
+
## another by including #!language in the code snippet.
|
|
10
|
+
##
|
|
11
|
+
## :code
|
|
12
|
+
## def say(msg)
|
|
13
|
+
## puts "#{msg}"
|
|
14
|
+
## end
|
|
15
|
+
#module Haml::Filters::Code
|
|
16
|
+
#
|
|
17
|
+
# include Haml::Filters::Base
|
|
18
|
+
# lazy_require "coderay"
|
|
19
|
+
#
|
|
20
|
+
# def render(content, options={})
|
|
21
|
+
# ::CodeRay.scan(*prepare(content)).send(:div, {})
|
|
22
|
+
# end
|
|
23
|
+
#
|
|
24
|
+
# # Prepares the text for passing to `::CodeRay.scan`.
|
|
25
|
+
# #
|
|
26
|
+
# # @param [String] text
|
|
27
|
+
# # @return [Array<String, Symbol>] code and language
|
|
28
|
+
# def prepare(text)
|
|
29
|
+
# if text =~ /#!(\S+)/
|
|
30
|
+
# [ text.sub(/\A\s*#!(\S+)\s*\n+/, ""), $1.downcase.to_sym ]
|
|
31
|
+
# else
|
|
32
|
+
# [ text, :ruby ]
|
|
33
|
+
# end
|
|
34
|
+
# end
|
|
35
|
+
#
|
|
36
|
+
# def compile(precompiler, text)
|
|
37
|
+
# text = Haml::Helpers::find_and_preserve(render(text).rstrip, precompiler.options[:preserve])
|
|
38
|
+
# precompiler.send(:push_text, text)
|
|
39
|
+
# end
|
|
40
|
+
#
|
|
41
|
+
#end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include Nanoc::Helpers::Rendering
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Modified from: https://github.com/severinh/nanoc-lunr-js-search/blob/master/lib/nanoc/filters/lunr_js_search.rb
|
|
2
|
+
require 'json'
|
|
3
|
+
require 'nokogiri'
|
|
4
|
+
|
|
5
|
+
class SearchFilter < Nanoc::Filter
|
|
6
|
+
identifier :search
|
|
7
|
+
|
|
8
|
+
def run(content, params={})
|
|
9
|
+
doc = Nokogiri::HTML(content)
|
|
10
|
+
url = assigns[:item_rep].path
|
|
11
|
+
#first_image = doc.xpath('//img/@src').to_a[0]
|
|
12
|
+
document = {
|
|
13
|
+
title: extract_first(doc, '//article//*[self::h1 or self::h2]/text()'),
|
|
14
|
+
subtitle: extract_first(doc, '//article//*[self::h3]/text()'),
|
|
15
|
+
body: extract_all(doc, '//article//*/text()'),
|
|
16
|
+
#img: (first_image.nil?) ? '' : first_image.value(),
|
|
17
|
+
#alt: extract_values(doc, '//article//img/@alt')
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if File.exist?(search_file)
|
|
21
|
+
documents = JSON.parse(File.read(search_file))
|
|
22
|
+
else
|
|
23
|
+
documents = {}
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
documents[url] = document
|
|
27
|
+
|
|
28
|
+
File.open(search_file, 'w') do |file|
|
|
29
|
+
file.write(JSON.pretty_generate(documents))
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
content
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def search_file
|
|
36
|
+
@search_file ||= File.join(@site.config[:output_dir],
|
|
37
|
+
@site.config[:search_file] || 'search.json')
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def extract_first(doc, path)
|
|
41
|
+
extract_text(doc, path).first
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def extract_all(doc, path)
|
|
45
|
+
extract_text(doc, path).join(' ')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def extract_text(doc, path)
|
|
49
|
+
doc.xpath(path).to_a.map { |t|
|
|
50
|
+
t.content.gsub('\r', ' ').gsub('\n', ' ').squeeze(' ').strip
|
|
51
|
+
}.reject { |t|
|
|
52
|
+
t.empty?
|
|
53
|
+
}
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def extract_values(doc, path)
|
|
57
|
+
tokens = doc.xpath(path).to_a.map { |t|
|
|
58
|
+
t.value().gsub('\r', ' ').gsub('\n', ' ').squeeze(' ').strip
|
|
59
|
+
}
|
|
60
|
+
tokens.join(' ')
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
$.getJSON("<%= path 'search.json' %>", function(json) {
|
|
2
|
+
window.index = lunr(function() {
|
|
3
|
+
this.field("title", {boost: 10});
|
|
4
|
+
this.field("subtitle", {boost: 5});
|
|
5
|
+
this.field("body");
|
|
6
|
+
this.ref("id");
|
|
7
|
+
});
|
|
8
|
+
window.articles = json;
|
|
9
|
+
$.each(json, function(id, content) {
|
|
10
|
+
window.index.add({
|
|
11
|
+
id: id,
|
|
12
|
+
title: content.title,
|
|
13
|
+
subtitle: content.subtitle,
|
|
14
|
+
body: content.body
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
$(function() {
|
|
20
|
+
$("#search button").click(function() {
|
|
21
|
+
search(true);
|
|
22
|
+
});
|
|
23
|
+
$("#search input").keypress(function(e) {
|
|
24
|
+
if(e.which == 13) {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
search(false);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
function search(go) {
|
|
32
|
+
var term = $("#search input").val();
|
|
33
|
+
// Wait for search index to populate
|
|
34
|
+
while (!window.index) {};
|
|
35
|
+
var results = window.index.search(term);
|
|
36
|
+
|
|
37
|
+
if(results && results.length == 1) {
|
|
38
|
+
window.location.replace("<%= path "" %>" + results[0].ref + "?highlight=" + escape(term));
|
|
39
|
+
} else if(results && results.length > 1) {
|
|
40
|
+
if (go) {
|
|
41
|
+
window.location.replace("<%= path "" %>" + results[0].ref + "?highlight=" + escape(term));
|
|
42
|
+
} else {
|
|
43
|
+
displayResults(results, term);
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
alert("Found nothing");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function displayResults(results, term) {
|
|
51
|
+
var resultTemplate = $("search-view-template");
|
|
52
|
+
var container = $("article");
|
|
53
|
+
|
|
54
|
+
container.empty();
|
|
55
|
+
container.append("<h2>Results</h2>");
|
|
56
|
+
|
|
57
|
+
$.each(results, function(i, result) {
|
|
58
|
+
var article = window.articles[result.ref];
|
|
59
|
+
container.append("<p><a href=\"<%= path "" %>" + result.ref + "?highlight=" + escape(term) + "\">" + article.title + " - " + article.subtitle + "</a></p>");
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function getParams() {
|
|
64
|
+
var query_string = {};
|
|
65
|
+
var query = window.location.search.substring(1);
|
|
66
|
+
var vars = query.split("&");
|
|
67
|
+
for (var i=0;i<vars.length;i++) {
|
|
68
|
+
var pair = vars[i].split("=");
|
|
69
|
+
// If first entry with this name
|
|
70
|
+
if (typeof query_string[pair[0]] === "undefined") {
|
|
71
|
+
query_string[pair[0]] = pair[1];
|
|
72
|
+
// If second entry with this name
|
|
73
|
+
} else if (typeof query_string[pair[0]] === "string") {
|
|
74
|
+
var arr = [ query_string[pair[0]], pair[1] ];
|
|
75
|
+
query_string[pair[0]] = arr;
|
|
76
|
+
// If third or later entry with this name
|
|
77
|
+
} else {
|
|
78
|
+
query_string[pair[0]].push(pair[1]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return query_string;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
$(document).ready(function() {
|
|
85
|
+
var params = getParams();
|
|
86
|
+
$("#search input").focus();
|
|
87
|
+
|
|
88
|
+
if (params.highlight) {
|
|
89
|
+
var term = unescape(params.highlight);
|
|
90
|
+
$('article').highlight(term);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<div class="pull-right logo-rgen" style="margin-top: 18px; margin-left: 10px">
|
|
2
|
+
<a href="http://rgen.freescale.net" style="text-decoration: none; color: #e66a08; font-weight: bold; font-size: 20px;">
|
|
3
|
+
<span>RGen</span>
|
|
4
|
+
</a>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="pull-right">
|
|
7
|
+
<a href="http://rgen.freescale.net">
|
|
8
|
+
<img src="http://rgen.freescale.net/img/fsl_logo.png" style="height:40px">
|
|
9
|
+
</a>
|
|
10
|
+
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Current environment: <%= RGen.environment.name %>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
This template is used to test that the custom inspect methods of the various RGen datatypes work
|
|
2
|
+
|
|
3
|
+
Should display a list of registers:
|
|
4
|
+
|
|
5
|
+
<%= $nvm.regs.inspect %>
|
|
6
|
+
|
|
7
|
+
Should display an actual register:
|
|
8
|
+
|
|
9
|
+
<%= $nvm.regs(:mclkdiv).inspect %>
|
|
10
|
+
|
|
11
|
+
This one had problems in real life:
|
|
12
|
+
|
|
13
|
+
% $nvm.add_proth_reg
|
|
14
|
+
<%= $nvm.regs(:proth).inspect %>
|
|
15
|
+
|
|
16
|
+
Check the multi bitgroups scattered through the register
|
|
17
|
+
|
|
18
|
+
% $nvm.add_multi_split_reg
|
|
19
|
+
<%= $nvm.regs(:multi_group).inspect %>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
sub1: This is content from sub1
|
|
2
|
+
sub1:
|
|
3
|
+
sub1: This data value should be 0 to prove that it has not
|
|
4
|
+
sub1: been influenced by the calling context:
|
|
5
|
+
sub1:
|
|
6
|
+
sub1: Data: 0x<%= $nvm.reg(:data).val.to_s(16).upcase %>
|
|
7
|
+
sub1:
|
|
8
|
+
% if options[:data]
|
|
9
|
+
sub1: Data values passed in: 0x<%= options[:data].to_s(16).upcase %>
|
|
10
|
+
% else
|
|
11
|
+
sub1: No data value passed in!
|
|
12
|
+
% end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
sub4: This is a single line from sub4!
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
sub5: The value of $nvm.attribute_x is: <%= $nvm.attribute_x %>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
main: This is a basic template example to test the RGen template compiler.
|
|
2
|
+
main:
|
|
3
|
+
main: Verify that the target objects can be accessed:
|
|
4
|
+
main:
|
|
5
|
+
% $nvm.reg(:data).write(0x5555)
|
|
6
|
+
main: Data: 0x<%= $nvm.reg(:data).val.to_s(16).upcase %>
|
|
7
|
+
main:
|
|
8
|
+
main: Verify that sub templates can be rendered and executed within their own context:
|
|
9
|
+
main:
|
|
10
|
+
<%= render "sub1" %>
|
|
11
|
+
main: Verify that import is an alias for render
|
|
12
|
+
main:
|
|
13
|
+
<%= import "sub1" %>
|
|
14
|
+
main:
|
|
15
|
+
main: Rendering the template should not disrupt the current context, verify that the
|
|
16
|
+
main: data is still 0x5555:
|
|
17
|
+
main:
|
|
18
|
+
main: Data: 0x<%= $nvm.reg(:data).val.to_s(16).upcase %>
|
|
19
|
+
main:
|
|
20
|
+
main: Verify that option data can be passed to rendered templates, the data
|
|
21
|
+
main: printed here should be 0x1234:
|
|
22
|
+
main:
|
|
23
|
+
<%= render "sub1", data: 0x1234 %>
|
|
24
|
+
main:
|
|
25
|
+
main: Again verify that the current context is still intact:
|
|
26
|
+
main: Data: 0x<%= $nvm.reg(:data).val.to_s(16).upcase %>
|
|
27
|
+
main:
|
|
28
|
+
main: Verify that templates from sub directories can be rendered:
|
|
29
|
+
main:
|
|
30
|
+
<%= render "sub_dir/sub2" %>
|
|
31
|
+
main:
|
|
32
|
+
main: Again verify that the current context is still intact:
|
|
33
|
+
main: Data: 0x<%= $nvm.reg(:data).val.to_s(16).upcase %>
|
|
34
|
+
main:
|
|
35
|
+
main: Verify that no extra linebreaks are added:
|
|
36
|
+
<%= render "sub4.txt.erb" %>
|
|
37
|
+
main: This should butt up against the sub 4 line
|
|
38
|
+
main:
|
|
39
|
+
main: And that leading spaces are stripped, there should be
|
|
40
|
+
main: no leading whitespace before the sub 4 line:
|
|
41
|
+
<%= render "sub4.txt.erb" %>
|
|
42
|
+
main: This is a test that helpers can compile templates inline
|
|
43
|
+
<%= test_compile_inline_from_helper %>
|
|
44
|
+
main: This is a test that indent works
|
|
45
|
+
<%= render "sub1", indent: 10 %>
|
|
46
|
+
main: Verify by default that render will reload the target,
|
|
47
|
+
main: the value here should be blank
|
|
48
|
+
% $nvm.attribute_x = "X"
|
|
49
|
+
<%= render "sub5" %>
|
|
50
|
+
main: Verify that target reload can optionally be inhibited,
|
|
51
|
+
main: the value here should be X
|
|
52
|
+
% $nvm.attribute_x = "X"
|
|
53
|
+
<%= render "sub5", preserve_target: true %>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
sub2: This is content from sub2
|
|
2
|
+
sub2:
|
|
3
|
+
sub2: This data value should be 0 to prove that it has not
|
|
4
|
+
sub2: been influenced by the calling context:
|
|
5
|
+
sub2:
|
|
6
|
+
sub2: Data: 0x<%= $nvm.reg(:data).val.to_s(16).upcase %>
|
|
7
|
+
sub2:
|
|
8
|
+
% if options[:data]
|
|
9
|
+
sub2: Data values passed in: 0x<%= options[:data].to_s(16).upcase %>
|
|
10
|
+
% else
|
|
11
|
+
sub2: No data value passed in!
|
|
12
|
+
% end
|
|
13
|
+
sub2:
|
|
14
|
+
sub2: Verify that templates can render additional sub-templates:
|
|
15
|
+
sub2:
|
|
16
|
+
% if options[:data]
|
|
17
|
+
<%= render "sub3", data: options[:data] * 2 %>
|
|
18
|
+
% else
|
|
19
|
+
<%= render "sub3" %>
|
|
20
|
+
% end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
sub3: This is content from sub3
|
|
2
|
+
sub3:
|
|
3
|
+
sub3: This data value should be 0 to prove that it has not
|
|
4
|
+
sub3: been influenced by the calling context:
|
|
5
|
+
sub3:
|
|
6
|
+
sub3: Data: 0x<%= $nvm.reg(:data).val.to_s(16).upcase %>
|
|
7
|
+
sub3:
|
|
8
|
+
% if options[:data]
|
|
9
|
+
sub3: Data values passed in: 0x<%= options[:data].to_s(16).upcase %>
|
|
10
|
+
% else
|
|
11
|
+
sub3: No data value passed in!
|
|
12
|
+
% end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
class TestTimeFilter
|
|
2
|
+
|
|
3
|
+
# All tests to be imported will be passed to this method, if it returns
|
|
4
|
+
# true then the test will be imported, if it returns false then it will not
|
|
5
|
+
def import?(test)
|
|
6
|
+
# For example to only import tests beginning with "nvm":
|
|
7
|
+
# if test =~ /^nvm/
|
|
8
|
+
# true
|
|
9
|
+
# else
|
|
10
|
+
# false
|
|
11
|
+
# end
|
|
12
|
+
true
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
class TestTimeRules
|
|
2
|
+
|
|
3
|
+
# All tests to be imported will be passed to this method after they have been filtered.
|
|
4
|
+
#
|
|
5
|
+
# Whatever this method returns will be assigned as the rule to be used to work out how
|
|
6
|
+
# that test scales from one target to another.
|
|
7
|
+
def assign(name, attrs, options={})
|
|
8
|
+
:constant
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# This method will be called to evaluate the result of the rule for the reference target -
|
|
12
|
+
# that is the target used when importing an execution time profile.
|
|
13
|
+
#
|
|
14
|
+
# The rule name can be obtained from attrs["rule"]
|
|
15
|
+
def evaluate(name, attrs, options={})
|
|
16
|
+
rule = attrs["rule"]
|
|
17
|
+
|
|
18
|
+
case rule
|
|
19
|
+
when :constant
|
|
20
|
+
1
|
|
21
|
+
else
|
|
22
|
+
raise "Rule not implemented - #{rule}"
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# This method will be called for each test to forecast what the time will be for the current
|
|
27
|
+
# target, it must return a numeric value in all cases.
|
|
28
|
+
#
|
|
29
|
+
# The rule name can obtained from attrs["rule"] and the results from the reference target can
|
|
30
|
+
# be obtained from attrs["reference"].
|
|
31
|
+
#
|
|
32
|
+
# The most basic way to forecast (and which could get you pretty far) is simply to ratio the rule
|
|
33
|
+
# result for the reference target with the result from the current target, and then multiply
|
|
34
|
+
# that by the reference time - an example of this is shown below.
|
|
35
|
+
def forecast(name, attrs, options={})
|
|
36
|
+
ref = attrs["reference"]
|
|
37
|
+
|
|
38
|
+
val_for_current_target = evaluate(name, attrs, options)
|
|
39
|
+
val_for_reference_target = ref["rule_result"]
|
|
40
|
+
|
|
41
|
+
ref["time"] * (val_for_current_target / val_for_reference_target.to_f) # Force to a float so the
|
|
42
|
+
# result is not an integer
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|