ceedling 1.1.9 → 1.2.0
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/.rspec +3 -0
- data/.simplecov +73 -0
- data/GIT_COMMIT_SHA +1 -1
- data/Gemfile +84 -8
- data/Gemfile.lock +38 -8
- data/README.md +53 -30
- data/Rakefile +768 -16
- data/assets/{project.yml → features/project.yml} +4 -1
- data/assets/fixtures/bullseye_branch_coverage/src/branchy.c +24 -0
- data/assets/fixtures/bullseye_branch_coverage/src/branchy.h +14 -0
- data/assets/fixtures/bullseye_branch_coverage/test/test_branchy.c +18 -0
- data/assets/fixtures/cppcheck_findings/findings.c +23 -0
- data/assets/fixtures/cppcheck_findings/findings.h +13 -0
- data/assets/fixtures/header_include_path_validation/alt_drivers/foo.h +6 -0
- data/assets/fixtures/header_include_path_validation/bar.h +6 -0
- data/assets/fixtures/header_include_path_validation/drivers/foo.h +6 -0
- data/assets/fixtures/header_include_path_validation/dup.h +6 -0
- data/assets/fixtures/header_include_path_validation/other_inc/dup.h +6 -0
- data/assets/fixtures/header_include_path_validation/test_ambiguous_mock.c +15 -0
- data/assets/fixtures/header_include_path_validation/test_bare_mock.c +11 -0
- data/assets/fixtures/header_include_path_validation/test_bogus_mock_path.c +11 -0
- data/assets/fixtures/header_include_path_validation/test_bogus_vanilla_path.c +10 -0
- data/assets/fixtures/header_include_path_validation/test_include_outranks_test_include_path.c +16 -0
- data/assets/fixtures/header_include_path_validation/test_pathed_mock.c +11 -0
- data/assets/fixtures/header_include_path_validation/test_pathed_mock_ambiguous.c +14 -0
- data/assets/fixtures/header_include_path_validation/test_test_include_path_outranks_include.c +17 -0
- data/assets/fixtures/implicit_source_header_correspondence/alpha/dup.c +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/alpha/dup.h +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/beta/dup.c +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/beta/dup.h +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/gamma/dup_gamma.c +6 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_alpha.c +10 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_bare.c +10 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_beta.c +10 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_override.c +19 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_subtractive.c +19 -0
- data/assets/fixtures/implicit_source_header_correspondence/test_dup_subtractive_noop.c +16 -0
- data/assets/fixtures/parent_directory_references/alpha/extra.c +4 -0
- data/assets/fixtures/parent_directory_references/common/helper.c +6 -0
- data/assets/fixtures/parent_directory_references/common/helper.h +6 -0
- data/assets/fixtures/parent_directory_references/unit/test_dotdot_include.c +10 -0
- data/assets/fixtures/parent_directory_references/unit/test_dotdot_source.c +16 -0
- data/assets/fixtures/plain_inline_module.h +9 -0
- data/assets/fixtures/same_named_modules/include/drivers/spi/config.h +6 -0
- data/assets/fixtures/same_named_modules/include/drivers/uart/config.h +6 -0
- data/assets/fixtures/same_named_modules/src/drivers/spi/config.c +8 -0
- data/assets/fixtures/same_named_modules/src/drivers/uart/config.c +10 -0
- data/assets/fixtures/same_named_modules/test/test_both_configs.c +26 -0
- data/assets/fixtures/same_named_modules/test/test_both_configs_mocked.c +20 -0
- data/assets/fixtures/same_named_modules/test/test_both_configs_mocked_traditional.c +19 -0
- data/assets/fixtures/same_named_modules/test/test_both_modules.c +19 -0
- data/assets/fixtures/same_named_modules/test/test_uart_config_bare.c +19 -0
- data/assets/fixtures/same_named_modules/test/test_uart_config_partial_only.c +20 -0
- data/assets/fixtures/sources_with_duplicate_basenames/baz/bar.c +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/baz/bar.h +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/foo/bar.c +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/foo/bar.h +6 -0
- data/assets/fixtures/sources_with_duplicate_basenames/main.c +11 -0
- data/assets/fixtures/sources_with_duplicate_basenames/test_baz_bar.c +10 -0
- data/assets/fixtures/sources_with_duplicate_basenames/test_both_bars.c +12 -0
- data/assets/fixtures/sources_with_duplicate_basenames/test_foo_bar.c +10 -0
- data/assets/{test_example_file_boom.c → fixtures/test_nosanitize_boom.c} +9 -0
- data/assets/{test_example_file_crash_assert.c → fixtures/test_nosanitize_crash_assert.c} +8 -0
- data/assets/{test_example_file_crash_sigsegv.c → fixtures/test_nosanitize_crash_sigsegv.c} +8 -0
- data/assets/{test_example_file_crash_sigsegv_with_param.c → fixtures/test_nosanitize_crash_sigsegv_with_param.c} +8 -0
- data/assets/fixtures/test_nosanitize_heap_buffer_overflow.c +31 -0
- data/assets/fixtures/test_nosanitize_leak.c +34 -0
- data/assets/fixtures/test_nosanitize_two_findings.c +36 -0
- data/assets/{test_example_file_ub_shift_overflow.c → fixtures/test_nosanitize_ub_shift_overflow.c} +9 -0
- data/assets/fixtures/test_plain_inline_module.c +15 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/alpha/calc.c +4 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/beta/calc.c +4 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_alpha.c +15 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_ambiguous.c +15 -0
- data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_beta.c +15 -0
- data/assets/fixtures/tests_with_conditional_includes/src/feature_extra2.h +13 -0
- data/assets/fixtures/tests_with_conditional_includes/src/macro_target_extra.h +13 -0
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget.c +19 -3
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget.h +1 -0
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget_feature.c +17 -1
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/test/test_widget.c +12 -4
- data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/test/test_widget_feature.c +8 -5
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_01.c +7 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_01.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_02.c +16 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Case_02.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/FeatureConfig.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/Gpt.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/MyModuleConfig.h +17 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/MyModulePart1.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/MyModulePart2.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/drivers/widget.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/reader.c +7 -0
- data/assets/fixtures/tests_with_conditional_mocks/src/reader.h +6 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_01.c +21 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_01_legacy.c +16 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_Case_02.c +31 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_FeatureConfig.c +15 -0
- data/assets/fixtures/tests_with_conditional_mocks/test/test_reader.c +13 -0
- data/assets/fixtures/tests_with_duplicate_test_names/integration/test_foo.c +21 -0
- data/assets/fixtures/tests_with_duplicate_test_names/unit/test_foo.c +21 -0
- data/assets/fixtures/tests_with_fallback_conditionals/src/conditional_module.c +28 -0
- data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/test/test_conditionals.c +8 -1
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/asm_helper_lower.s +2 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/asm_helper_upper.S +13 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/counter_module.c +13 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/src/counter_module.h +13 -0
- data/assets/fixtures/tests_with_multiple_assembly_extensions/test/test_counter_module.c +27 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/app/config.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/drivers/config.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/sensor.c +30 -0
- data/assets/fixtures/tests_with_subdir_includes/src/module/sensor.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/src/shared/config.h +13 -0
- data/assets/fixtures/tests_with_subdir_includes/test/test_sensor.c +32 -0
- data/bin/actionator.rb +234 -0
- data/bin/app_cfg.rb +7 -0
- data/bin/cli.rb +78 -47
- data/bin/cli_handler.rb +89 -57
- data/bin/cli_helper.rb +90 -49
- data/bin/cli_options_transform.rb +22 -0
- data/bin/{configinator.rb → composinator.rb} +39 -32
- data/bin/mixin_resolvinator.rb +124 -0
- data/bin/mixin_standardizer.rb +31 -61
- data/bin/mixinator.rb +27 -29
- data/bin/mixins.rb +0 -5
- data/bin/objects.yml +20 -7
- data/bin/path_validator.rb +6 -5
- data/bin/projectinator.rb +51 -142
- data/bin/rake_patches.rb +36 -2
- data/bin/recursive_merger.rb +7 -1
- data/bin/versionator.rb +2 -3
- data/ceedling.gemspec +83 -12
- data/docs/BreakingChanges.md +46 -2
- data/docs/CONTRIBUTING.md +45 -29
- data/docs/CeedlingPullRequestChecklist.md +10 -9
- data/docs/Changelog.md +337 -37
- data/docs/KnownIssues.md +39 -4
- data/docs/ReleaseNotes.md +288 -12
- data/docs/SECURITY.md +86 -4
- data/docs/ThrowTheSwitchCodingStandard.md +21 -3
- data/docs/overrides/main.html +32 -0
- data/examples/temp_sensor/mixin/add_bullseye.yml +19 -0
- data/examples/wondrous_forest/README.md +3 -0
- data/examples/wondrous_forest/src/sensors/light/Calibration.c +21 -0
- data/examples/wondrous_forest/src/sensors/light/Calibration.h +14 -0
- data/examples/wondrous_forest/src/sensors/soil/Calibration.c +23 -0
- data/examples/wondrous_forest/src/sensors/soil/Calibration.h +14 -0
- data/examples/wondrous_forest/test/TestCalibration.c +39 -0
- data/lib/ceedling/batchinator.rb +81 -22
- data/lib/ceedling/c_extractor/README.md +61 -0
- data/lib/ceedling/c_extractor/c_extractor.rb +33 -2
- data/lib/ceedling/c_extractor/c_extractor_code_text.rb +18 -10
- data/lib/ceedling/c_extractor/c_extractor_constants.rb +10 -10
- data/lib/ceedling/c_extractor/c_extractor_declarations.rb +14 -14
- data/lib/ceedling/c_extractor/c_extractor_functions.rb +10 -13
- data/lib/ceedling/c_extractor/c_extractor_preprocessing.rb +77 -0
- data/lib/ceedling/c_extractor/c_extractor_types.rb +8 -5
- data/lib/ceedling/ceedling.h +33 -0
- data/lib/ceedling/config/config_matchinator.rb +36 -13
- data/lib/ceedling/config/configurator.rb +366 -530
- data/lib/ceedling/config/configurator_builder.rb +253 -365
- data/lib/ceedling/config/configurator_plugins.rb +68 -102
- data/lib/ceedling/config/configurator_setup.rb +343 -610
- data/lib/ceedling/config/configurator_validator.rb +114 -142
- data/lib/ceedling/config/line_marker_suppressors.rb +67 -0
- data/lib/ceedling/constants.rb +60 -6
- data/lib/ceedling/defaults.rb +28 -14
- data/lib/ceedling/defineinator.rb +9 -4
- data/lib/ceedling/dependencies/README.md +69 -0
- data/lib/ceedling/dependencies/dependency_cache_store.rb +160 -0
- data/lib/ceedling/dependencies/dependency_debug_tree.rb +129 -0
- data/lib/ceedling/dependencies/dependency_differ.rb +127 -0
- data/lib/ceedling/dependencies/dependency_hasher.rb +94 -0
- data/lib/ceedling/dependencies/dependency_path_normalizer.rb +80 -0
- data/lib/ceedling/dependencies/dependency_tracker.rb +405 -0
- data/lib/ceedling/dependencies/dependinator.rb +65 -0
- data/lib/ceedling/dependencies/gcc_dependency_parser.rb +86 -0
- data/lib/ceedling/encodinator.rb +23 -11
- data/lib/ceedling/file_finder.rb +373 -89
- data/lib/ceedling/file_finder_helper.rb +44 -33
- data/lib/ceedling/file_path_collection_utils.rb +17 -4
- data/lib/ceedling/file_path_utils.rb +310 -52
- data/lib/ceedling/file_wrapper.rb +245 -8
- data/lib/ceedling/filename_extension.rb +91 -0
- data/lib/ceedling/flaginator.rb +6 -2
- data/lib/ceedling/generators/generator.rb +202 -75
- data/lib/ceedling/generators/generator_helper.rb +116 -69
- data/lib/ceedling/generators/generator_mocks.rb +13 -8
- data/lib/ceedling/generators/generator_partials.rb +93 -25
- data/lib/ceedling/generators/generator_test_results.rb +29 -17
- data/lib/ceedling/generators/generator_test_results_backtrace.rb +199 -107
- data/lib/ceedling/generators/generator_test_results_sanity_checker.rb +1 -1
- data/lib/ceedling/includes/include_factory.rb +21 -6
- data/lib/ceedling/includes/include_pathinator.rb +40 -4
- data/lib/ceedling/includes/includes.rb +215 -61
- data/lib/ceedling/loginator.rb +13 -4
- data/lib/ceedling/objects.yml +218 -33
- data/lib/ceedling/parsing_parcels.rb +39 -13
- data/lib/ceedling/partials/README.md +53 -0
- data/lib/ceedling/partials/partializer.rb +272 -117
- data/lib/ceedling/partials/partializer_config.rb +141 -8
- data/lib/ceedling/partials/partializer_helper.rb +88 -2
- data/lib/ceedling/partials/partializer_utils.rb +1 -1
- data/lib/ceedling/partials/partials.rb +4 -4
- data/lib/ceedling/path_matcher.rb +163 -0
- data/lib/ceedling/path_mirror.rb +73 -0
- data/lib/ceedling/plugins/plugin.rb +1 -1
- data/lib/ceedling/plugins/plugin_manager.rb +31 -15
- data/lib/ceedling/plugins/plugin_manager_helper.rb +5 -1
- data/lib/ceedling/plugins/plugin_reportinator.rb +36 -7
- data/lib/ceedling/plugins/plugin_reportinator_helper.rb +3 -3
- data/lib/ceedling/plugins/report_log_writer_plugin.rb +66 -0
- data/lib/ceedling/plugins/report_tests_stdout_plugin.rb +18 -5
- data/lib/ceedling/preprocess/README.md +135 -120
- data/lib/ceedling/preprocess/c_comment_scanner.rb +9 -7
- data/lib/ceedling/preprocess/c_preprocessor_conditionals.rb +27 -10
- data/lib/ceedling/preprocess/preprocessinator.rb +253 -217
- data/lib/ceedling/preprocess/preprocessinator_bare_includes_extractor.rb +7 -10
- data/lib/ceedling/preprocess/preprocessinator_code_finder.rb +8 -6
- data/lib/ceedling/preprocess/preprocessinator_comment_stripper.rb +5 -3
- data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +86 -82
- data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +182 -163
- data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +174 -8
- data/lib/ceedling/preprocess/preprocessinator_reconstructor.rb +41 -20
- data/lib/ceedling/quote_include_isolator.rb +129 -0
- data/lib/ceedling/rake_app/rake_task_registry.rb +9 -9
- data/lib/ceedling/rake_app/rake_wrapper.rb +0 -13
- data/lib/ceedling/rake_app/rakefile_component_resolver.rb +24 -12
- data/lib/ceedling/rakefile.rb +2 -1
- data/lib/ceedling/{tasks_base.rake → rakefiles/base/tasks_base.rake} +1 -1
- data/lib/ceedling/{tasks_filesystem.rake → rakefiles/base/tasks_filesystem.rake} +3 -0
- data/lib/ceedling/rakefiles/release/rules_release.rake +52 -0
- data/lib/ceedling/{erb_wrapper.rb → rakefiles/release/tasks_release.rake} +5 -8
- data/lib/ceedling/rakefiles/tests/rules_tests.rake +43 -0
- data/lib/ceedling/rakefiles/tests/rules_tests_generate.rake +80 -0
- data/lib/ceedling/{tasks_tests.rake → rakefiles/tests/tasks_tests.rake} +11 -20
- data/lib/ceedling/rakefiles/tests/tasks_tests_generate.rake +55 -0
- data/lib/ceedling/release_invoker/README.md +35 -0
- data/lib/ceedling/release_invoker/release_build_executor.rb +263 -0
- data/lib/ceedling/release_invoker/release_build_planner.rb +80 -0
- data/lib/ceedling/release_invoker/release_invoker.rb +78 -0
- data/lib/ceedling/release_invoker/release_invoker_types.rb +40 -0
- data/lib/ceedling/reportinator.rb +18 -2
- data/lib/ceedling/ruby_expandinator.rb +40 -1
- data/lib/ceedling/setupinator.rb +9 -3
- data/lib/ceedling/system_wrapper.rb +17 -0
- data/lib/ceedling/templateinator.rb +146 -0
- data/lib/ceedling/test_context_extractor.rb +59 -28
- data/lib/ceedling/test_invoker/HEADER_COLLISIONS.md +41 -0
- data/lib/ceedling/test_invoker/PIPELINE.md +142 -0
- data/lib/ceedling/test_invoker/README.md +6 -0
- data/lib/ceedling/test_invoker/mock_locator.rb +49 -0
- data/lib/ceedling/test_invoker/partials_manager.rb +426 -0
- data/lib/ceedling/test_invoker/standin_headerinator.rb +136 -0
- data/lib/ceedling/test_invoker/test_bare_includes_extractinator.rb +117 -0
- data/lib/ceedling/test_invoker/test_build_executor.rb +783 -415
- data/lib/ceedling/test_invoker/test_build_planner.rb +175 -70
- data/lib/ceedling/test_invoker/test_build_setup.rb +132 -241
- data/lib/ceedling/test_invoker/test_build_validations.rb +102 -0
- data/lib/ceedling/test_invoker/test_file_preprocessinator.rb +148 -0
- data/lib/ceedling/test_invoker/test_includes_extractinator.rb +34 -0
- data/lib/ceedling/test_invoker/test_includes_preprocessinator.rb +118 -0
- data/lib/ceedling/test_invoker/test_includes_reconcilinator.rb +149 -0
- data/lib/ceedling/test_invoker/test_invoker.rb +16 -183
- data/lib/ceedling/test_invoker/test_invoker_types.rb +85 -16
- data/lib/ceedling/test_invoker/test_pipeline_helpers.rb +121 -0
- data/lib/ceedling/test_invoker/test_pipeline_manager.rb +303 -0
- data/lib/ceedling/test_invoker/test_runner_generatinator.rb +105 -0
- data/lib/ceedling/test_invoker/test_search_paths.rb +73 -0
- data/lib/ceedling/test_invoker/test_source_file_directive_resolver.rb +78 -0
- data/lib/ceedling/tool_executor.rb +42 -13
- data/lib/ceedling/tool_executor_helper.rb +1 -1
- data/lib/ceedling/tool_validator.rb +124 -123
- data/lib/ceedling/yaml_wrapper.rb +5 -3
- data/lib/version.rb +19 -2
- data/mkdocs.prerelease.yml +42 -0
- data/mkdocs.yml +10 -2
- data/plugins/bullseye/bullseye.rake +70 -107
- data/plugins/bullseye/config/defaults.yml +12 -54
- data/plugins/bullseye/config/defaults_bullseye.rb +182 -0
- data/plugins/bullseye/lib/bullseye.rb +511 -120
- data/plugins/bullseye/lib/bullseye_constants.rb +100 -0
- data/plugins/command_hooks/lib/command_hooks.rb +117 -199
- data/plugins/compile_commands_json_db/lib/compile_commands_json_db.rb +72 -27
- data/plugins/cppcheck/config/defaults.yml +6 -1
- data/plugins/cppcheck/config/defaults_cppcheck.rb +5 -1
- data/plugins/cppcheck/cppcheck.rake +7 -1
- data/plugins/cppcheck/lib/cppcheck.rb +175 -26
- data/plugins/cppcheck/lib/cppcheck_constants.rb +12 -0
- data/plugins/cppcheck/lib/cppcheck_reports.rb +5 -1
- data/plugins/dependencies/Rakefile +14 -2
- data/plugins/dependencies/config/defaults.yml +9 -6
- data/plugins/dependencies/dependencies.rake +46 -76
- data/plugins/dependencies/example/boss/project.yml +1 -1
- data/plugins/dependencies/example/supervisor/project.yml +1 -1
- data/plugins/dependencies/example/version.tar.gzip +0 -0
- data/plugins/dependencies/lib/dependencies.rb +232 -427
- data/plugins/dependencies/lib/dependency_commands.rb +72 -0
- data/plugins/dependencies/lib/dependency_environment.rb +57 -0
- data/plugins/dependencies/lib/dependency_spec.rb +145 -0
- data/plugins/fff/.rspec +1 -0
- data/plugins/fff/Rakefile +14 -2
- data/plugins/fff/examples/fff_example/project.yml +1 -1
- data/plugins/fff/lib/fff.rb +30 -9
- data/plugins/fff/lib/fff_mock_generator.rb +142 -128
- data/plugins/fff/spec/fff_mock_header_generator_spec.rb +15 -0
- data/plugins/fff/spec/fff_mock_source_generator_spec.rb +14 -0
- data/plugins/fff/spec/spec_helper.rb +45 -0
- data/plugins/fff/src/fff_unity_helper.h +5 -0
- data/plugins/fff/vendor/fff/fakegen.rb +5 -4
- data/plugins/fff/vendor/fff/fff.h +4 -4
- data/plugins/gcov/config/defaults.yml +5 -0
- data/plugins/gcov/gcov.rake +12 -8
- data/plugins/gcov/lib/console_reportinator.rb +140 -20
- data/plugins/gcov/lib/gcov.rb +155 -60
- data/plugins/gcov/lib/gcov_constants.rb +4 -7
- data/plugins/gcov/lib/gcov_reportinator.rb +90 -0
- data/plugins/gcov/lib/gcov_types.rb +62 -1
- data/plugins/gcov/lib/gcovr_reportinator.rb +255 -213
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +122 -44
- data/plugins/module_generator/Rakefile +4 -4
- data/plugins/module_generator/config/module_generator.yml +0 -1
- data/plugins/module_generator/example/project.yml +1 -1
- data/plugins/module_generator/lib/module_generator.rb +117 -87
- data/plugins/module_generator/lib/module_generator_options.rb +150 -0
- data/plugins/module_generator/lib/module_generator_project.rb +45 -0
- data/plugins/module_generator/lib/module_generator_request.rb +83 -0
- data/plugins/module_generator/lib/module_generator_test_file.rb +68 -0
- data/plugins/module_generator/lib/module_generator_unity.rb +24 -0
- data/plugins/module_generator/module_generator.rake +24 -46
- data/plugins/report_build_warnings_log/config/defaults.yml +4 -1
- data/plugins/report_build_warnings_log/lib/report_build_warnings_log.rb +47 -55
- data/plugins/report_build_warnings_log/lib/warning_collector.rb +140 -0
- data/plugins/report_build_warnings_log/lib/warning_reports.rb +135 -0
- data/plugins/report_tests_gtestlike_stdout/assets/test_results.template +3 -0
- data/{spec/units/configurator_builder_spec.rb → plugins/report_tests_gtestlike_stdout/config/defaults.yml} +6 -10
- data/plugins/report_tests_gtestlike_stdout/lib/gtestlike_report.rb +168 -0
- data/plugins/report_tests_gtestlike_stdout/lib/report_tests_gtestlike_stdout.rb +25 -1
- data/plugins/report_tests_ide_stdout/assets/test_results.template +50 -0
- data/plugins/report_tests_ide_stdout/config/defaults.yml +13 -0
- data/plugins/report_tests_ide_stdout/lib/ide_report_lines.rb +103 -0
- data/plugins/report_tests_ide_stdout/lib/report_tests_ide_stdout.rb +12 -4
- data/plugins/report_tests_log_factory/lib/cppunit_tests_reporter.rb +33 -51
- data/plugins/report_tests_log_factory/lib/html_tests_reporter.rb +286 -295
- data/plugins/report_tests_log_factory/lib/json_tests_reporter.rb +22 -35
- data/plugins/report_tests_log_factory/lib/junit_tests_reporter.rb +91 -133
- data/plugins/report_tests_log_factory/lib/report_tests_log_factory.rb +72 -86
- data/plugins/report_tests_log_factory/lib/tests_reporter.rb +31 -12
- data/plugins/report_tests_pretty_stdout/assets/{template.erb → test_results.template} +8 -8
- data/plugins/report_tests_raw_output_log/lib/report_tests_raw_output_log.rb +18 -48
- data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +13 -2
- data/plugins/sanitize/config/defaults.yml +44 -0
- data/plugins/sanitize/config/defaults_sanitize.rb +20 -0
- data/plugins/sanitize/lib/sanitize.rb +174 -0
- data/plugins/sanitize/lib/sanitize_config.rb +110 -0
- data/plugins/sanitize/lib/sanitize_constants.rb +13 -0
- data/plugins/sanitize/lib/sanitize_findings.rb +85 -0
- data/plugins/sanitize/lib/sanitize_records.rb +115 -0
- data/plugins/sanitize/lib/sanitize_reports.rb +135 -0
- data/plugins/sanitize/sanitize.rake +108 -0
- data/plugins/valgrind/config/defaults.yml +7 -1
- data/plugins/valgrind/config/defaults_valgrind.rb +6 -1
- data/plugins/valgrind/lib/valgrind.rb +202 -39
- data/plugins/valgrind/lib/valgrind_constants.rb +4 -0
- data/plugins/valgrind/lib/valgrind_report.rb +52 -0
- data/plugins/valgrind/valgrind.rake +33 -11
- data/site-local/404.html +248 -14
- data/site-local/configuration/environment-vars.html +248 -14
- data/site-local/configuration/global-collections.html +248 -19
- data/site-local/configuration/index.html +249 -15
- data/site-local/configuration/loading.html +260 -22
- data/site-local/configuration/mixins.html +252 -17
- data/site-local/configuration/parallel-builds.html +248 -14
- data/site-local/configuration/project-file.html +275 -30
- data/site-local/configuration/reference/cexception.html +255 -20
- data/site-local/configuration/reference/cmock.html +281 -14
- data/site-local/configuration/reference/defines.html +262 -19
- data/site-local/configuration/reference/environment.html +251 -17
- data/site-local/configuration/reference/extension.html +361 -16
- data/site-local/configuration/reference/files.html +262 -14
- data/site-local/configuration/reference/flags.html +270 -19
- data/site-local/configuration/reference/index.html +248 -14
- data/site-local/configuration/reference/libraries.html +248 -14
- data/site-local/configuration/reference/mixins.html +248 -14
- data/site-local/configuration/reference/partials.html +249 -19
- data/site-local/configuration/reference/paths.html +275 -15
- data/site-local/configuration/reference/plugins.html +248 -14
- data/site-local/configuration/reference/project.html +291 -14
- data/site-local/configuration/reference/release-build.html +256 -14
- data/site-local/configuration/reference/test-build.html +290 -24
- data/site-local/configuration/reference/test-runner.html +288 -17
- data/site-local/configuration/reference/tools.html +254 -14
- data/site-local/configuration/reference/unity.html +280 -15
- data/site-local/configuration/which-ceedling.html +248 -14
- data/site-local/development/index.html +261 -14
- data/site-local/development/plugins/configuration.html +269 -17
- data/site-local/development/plugins/index.html +267 -15
- data/site-local/development/plugins/plugin-subclass.html +906 -154
- data/site-local/development/plugins/rake-tasks.html +276 -14
- data/site-local/development/releases.html +4708 -0
- data/site-local/development/workflow.html +1030 -51
- data/site-local/getting-started/builds.html +4607 -0
- data/site-local/getting-started/command-line.html +418 -34
- data/site-local/getting-started/example-projects/cipher-quest.html +248 -14
- data/site-local/getting-started/example-projects/index.html +249 -15
- data/site-local/getting-started/example-projects/temp-sensor.html +248 -14
- data/site-local/getting-started/example-projects/wondrous-forest.html +248 -14
- data/site-local/getting-started/index.html +255 -14
- data/site-local/getting-started/installation.html +258 -22
- data/site-local/getting-started/quick-start.html +251 -15
- data/site-local/help.html +255 -14
- data/site-local/index.html +292 -22
- data/site-local/overview/build-system.html +249 -15
- data/site-local/overview/index.html +248 -14
- data/site-local/overview/test-environments.html +257 -14
- data/site-local/overview/tools-and-frameworks.html +248 -14
- data/site-local/plugins/beep.html +251 -14
- data/site-local/plugins/bullseye/index.html +5079 -0
- data/site-local/plugins/bullseye/licensing.html +4840 -0
- data/site-local/plugins/command-hooks.html +265 -27
- data/site-local/plugins/compile-commands-json-db.html +256 -17
- data/site-local/plugins/cppcheck.html +1081 -262
- data/site-local/plugins/dependencies.html +934 -242
- data/site-local/plugins/fff.html +297 -16
- data/site-local/plugins/gcov/examples.html +251 -14
- data/site-local/plugins/gcov/gcovr.html +686 -31
- data/site-local/plugins/gcov/index.html +251 -14
- data/site-local/plugins/gcov/overview.html +259 -18
- data/site-local/plugins/gcov/reportgenerator.html +563 -28
- data/site-local/plugins/gcov/reporting.html +348 -100
- data/site-local/plugins/gcov/setup.html +253 -15
- data/site-local/plugins/gcov/tool-versions.html +301 -19
- data/site-local/plugins/gcov/troubleshooting.html +273 -36
- data/site-local/plugins/index.html +294 -36
- data/site-local/plugins/module-generator.html +779 -195
- data/site-local/plugins/report-build-warnings-log.html +578 -33
- data/site-local/plugins/report-tests-gtestlike-stdout.html +467 -84
- data/site-local/plugins/report-tests-ide-stdout.html +654 -51
- data/site-local/plugins/report-tests-log-factory.html +337 -70
- data/site-local/plugins/report-tests-pretty-stdout.html +251 -14
- data/site-local/plugins/report-tests-raw-output-log.html +251 -14
- data/site-local/plugins/report-tests-teamcity-stdout.html +251 -14
- data/site-local/plugins/sanitize.html +5332 -0
- data/site-local/plugins/valgrind.html +416 -26
- data/site-local/{plugins/bullseye.html → project/index.html} +297 -217
- data/site-local/project/release-history.html +251 -17
- data/site-local/project/sbom.html +4726 -0
- data/site-local/project/upgrade.html +250 -16
- data/site-local/reference/build-directives.html +257 -14
- data/site-local/reference/command-line.html +373 -16
- data/site-local/reference/environment-vars.html +248 -14
- data/site-local/reference/gcov-plugin.html +492 -18
- data/site-local/reference/global-collections.html +249 -15
- data/site-local/reference/index.html +248 -14
- data/site-local/reference/partials-macros.html +258 -14
- data/site-local/reference/project-configuration.html +248 -14
- data/site-local/sitemap.xml.gz +0 -0
- data/site-local/snapshot/assets/{project.yml → features/project.yml} +4 -1
- data/site-local/snapshot/examples/cipher_quest/index.html +248 -14
- data/site-local/snapshot/examples/temp_sensor/index.html +248 -14
- data/site-local/snapshot/examples/wondrous_forest/index.html +265 -25
- data/site-local/snapshot/plugins/bullseye/config/defaults.yml +24 -0
- data/site-local/snapshot/plugins/bullseye/config/defaults_bullseye.rb +182 -0
- data/site-local/snapshot/plugins/gcov/config/defaults.yml +5 -0
- data/site-local/testing-guide/build-directives.html +332 -22
- data/site-local/testing-guide/conventions.html +678 -153
- data/site-local/testing-guide/frameworks.html +248 -14
- data/site-local/testing-guide/index.html +248 -21
- data/site-local/testing-guide/partials/configuration.html +248 -14
- data/site-local/testing-guide/partials/conventions.html +316 -17
- data/site-local/testing-guide/partials/directives.html +456 -48
- data/site-local/testing-guide/partials/example.html +248 -14
- data/site-local/testing-guide/partials/index.html +255 -14
- data/site-local/testing-guide/partials/overview.html +248 -14
- data/site-local/testing-guide/partials/variables.html +248 -14
- data/site-local/testing-guide/test-cases.html +248 -14
- data/site-local/testing-guide/test-sample.html +248 -14
- data/site-local/testing-guide/test-suite-anatomy.html +248 -14
- data/spec/integration/actionator_file_operations_spec.rb +287 -0
- data/spec/integration/analysis_tool_output_spec.rb +204 -0
- data/spec/{units/c_extractor/c_extractor_integration_spec.rb → integration/c_extractor_composition_spec.rb} +196 -17
- data/spec/integration/command_hooks_plugin_spec.rb +152 -0
- data/spec/integration/compile_commands_json_db_spec.rb +76 -0
- data/spec/integration/configurator_pipeline_spec.rb +180 -0
- data/spec/integration/configurator_plugins_spec.rb +122 -0
- data/spec/integration/configurator_validation_spec.rb +98 -0
- data/spec/integration/dependencies/dependency_tracker_cache_hardening_spec.rb +396 -0
- data/spec/integration/dependencies/dependency_tracker_core_spec.rb +244 -0
- data/spec/integration/dependencies/dependency_tracker_diagnose_spec.rb +224 -0
- data/spec/integration/dependencies/dependency_tracker_filename_handling_spec.rb +118 -0
- data/spec/integration/dependencies/dependency_tracker_gcc_deps_spec.rb +199 -0
- data/spec/integration/dependencies/dependency_tracker_pruning_spec.rb +167 -0
- data/spec/integration/dependencies_plugin_spec.rb +473 -0
- data/spec/integration/erb_dependency_removed_spec.rb +167 -0
- data/spec/integration/includes_extraction_spec.rb +612 -0
- data/spec/integration/mixin_loading_spec.rb +414 -0
- data/spec/integration/module_generator_spec.rb +436 -0
- data/spec/integration/partials_fallback_preprocessing_spec.rb +316 -0
- data/spec/integration/partials_header_composition_spec.rb +889 -0
- data/spec/integration/partials_module_resolution_spec.rb +372 -0
- data/spec/integration/partials_symbol_linkage_spec.rb +371 -0
- data/spec/integration/preprocessing_transient_io_retry_spec.rb +135 -0
- data/spec/integration/quote_include_isolator_spec.rb +167 -0
- data/spec/integration/report_build_warnings_log_spec.rb +170 -0
- data/spec/integration/report_tests_log_factory_spec.rb +100 -0
- data/spec/integration/sanitizer_exclusions_spec.rb +126 -0
- data/spec/integration/system_harness_sanitizers_spec.rb +104 -0
- data/spec/integration/test_build_parallel_barrier_spec.rb +89 -0
- data/spec/integration/test_executable_manifest_spec.rb +118 -0
- data/spec/integration/test_includes_extractinator_spec.rb +293 -0
- data/spec/integration/tool_executor_spec.rb +224 -0
- data/spec/integration/tool_validator_spec.rb +133 -0
- data/spec/integration/vendor_copy_transient_io_retry_spec.rb +130 -0
- data/spec/manual/stress_test.rb +1 -1
- data/spec/support/config_yaml_helper.rb +17 -0
- data/spec/support/fixtures/sanitizer_reports/clang_asan_heap.txt +45 -0
- data/spec/support/fixtures/sanitizer_reports/clang_ubsan_shift.txt +5 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_heap.txt +47 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_leak.txt +10 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_segv.txt +6 -0
- data/spec/support/fixtures/sanitizer_reports/gcc_ubsan_shift.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__all_pass.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__coverage_branches_only.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__coverage_functions_only.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__coverage_none.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__empty.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__gcov_context.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__mixed_all.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_matching.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_multiline.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_no_message.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_failure_nonmatching.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_ignore_no_message.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__one_ignore_with_message.txt +6 -0
- data/spec/support/fixtures/templates/bullseye__stdout_only.txt +6 -0
- data/spec/support/fixtures/templates/ide__all_pass.txt +10 -0
- data/spec/support/fixtures/templates/ide__coverage_branches_only.txt +10 -0
- data/spec/support/fixtures/templates/ide__coverage_functions_only.txt +10 -0
- data/spec/support/fixtures/templates/ide__coverage_none.txt +10 -0
- data/spec/support/fixtures/templates/ide__empty.txt +8 -0
- data/spec/support/fixtures/templates/ide__gcov_context.txt +28 -0
- data/spec/support/fixtures/templates/ide__mixed_all.txt +29 -0
- data/spec/support/fixtures/templates/ide__one_failure_matching.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_failure_multiline.txt +17 -0
- data/spec/support/fixtures/templates/ide__one_failure_no_message.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_failure_nonmatching.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_ignore_no_message.txt +15 -0
- data/spec/support/fixtures/templates/ide__one_ignore_with_message.txt +15 -0
- data/spec/support/fixtures/templates/ide__stdout_only.txt +16 -0
- data/spec/support/fixtures/templates/pretty__all_pass.txt +8 -0
- data/spec/support/fixtures/templates/pretty__coverage_branches_only.txt +8 -0
- data/spec/support/fixtures/templates/pretty__coverage_functions_only.txt +8 -0
- data/spec/support/fixtures/templates/pretty__coverage_none.txt +8 -0
- data/spec/support/fixtures/templates/pretty__empty.txt +6 -0
- data/spec/support/fixtures/templates/pretty__gcov_context.txt +31 -0
- data/spec/support/fixtures/templates/pretty__mixed_all.txt +35 -0
- data/spec/support/fixtures/templates/pretty__one_failure_matching.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_failure_multiline.txt +17 -0
- data/spec/support/fixtures/templates/pretty__one_failure_no_message.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_failure_nonmatching.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_ignore_no_message.txt +15 -0
- data/spec/support/fixtures/templates/pretty__one_ignore_with_message.txt +15 -0
- data/spec/support/fixtures/templates/pretty__stdout_only.txt +15 -0
- data/spec/support/fixtures/valgrind_reports/sigsegv.log +51 -0
- data/spec/support/fixtures/valgrind_reports/sigsegv.xml +182 -0
- data/spec/support/include_guard_helper.rb +20 -0
- data/spec/support/integration/configurator_integration_helper.rb +159 -0
- data/spec/support/integration/dependency_tracker_integration_helper.rb +136 -0
- data/spec/support/integration/partials_generation_integration_helper.rb +726 -0
- data/spec/support/integration/spec_integration_helper.rb +285 -0
- data/spec/support/integration/test_includes_harness.rb +259 -0
- data/spec/support/integration/tool_executor_integration_helper.rb +55 -0
- data/spec/support/spec_helper.rb +41 -0
- data/spec/support/system/sanitizers/asan_ubsan.yml +82 -0
- data/spec/support/system/sanitizers/asan_ubsan_leaks.yml +57 -0
- data/spec/support/system/simplecov_boot.rb +66 -0
- data/spec/support/system/spec_system_helper.rb +376 -16
- data/spec/support/system/system_context.rb +181 -59
- data/spec/support/template_render_cases.rb +166 -0
- data/spec/system/bracket_path_handling_spec.rb +175 -0
- data/spec/system/build_output_mirroring_spec.rb +89 -0
- data/spec/system/build_recovery_spec.rb +382 -0
- data/spec/system/bullseye_deployment_spec.rb +102 -0
- data/spec/system/cli_surface_spec.rb +245 -0
- data/spec/system/command_hooks_spec.rb +117 -0
- data/spec/system/conditional_include_macro_visibility_spec.rb +32 -124
- data/spec/system/conditional_mock_includes_spec.rb +181 -0
- data/spec/system/cppcheck_deployment_spec.rb +26 -8
- data/spec/system/delta_builds_spec.rb +751 -0
- data/spec/system/deployment_as_gem_spec.rb +7 -0
- data/spec/system/deployment_as_vendor_spec.rb +29 -145
- data/spec/system/dumpconfig_spec.rb +137 -0
- data/spec/system/encoding_stress_spec.rb +7 -4
- data/spec/system/example_cipher_quest_spec.rb +25 -100
- data/spec/system/example_temp_sensor_spec.rb +30 -172
- data/spec/system/example_wondrous_forest_spec.rb +25 -62
- data/spec/system/extension_multiple_values_spec.rb +75 -0
- data/spec/system/files_paths_reporting_spec.rb +154 -0
- data/spec/system/gcov_deployment_spec.rb +72 -3
- data/spec/system/header_include_path_validation_spec.rb +222 -0
- data/spec/system/implicit_source_header_correspondence_disambiguation_spec.rb +100 -0
- data/spec/system/include_path_reconciliation_spec.rb +64 -0
- data/spec/system/mixin_ordering_spec.rb +30 -415
- data/spec/system/mocks_partials_configuration_validation_spec.rb +126 -0
- data/spec/system/parent_directory_reference_spec.rb +114 -0
- data/spec/system/partials_module_disambiguation_spec.rb +143 -0
- data/spec/system/pinned_thread_count_spec.rb +102 -0
- data/spec/system/plugin_delta_builds_spec.rb +179 -0
- data/spec/system/preprocessing_encoding_spec.rb +87 -4
- data/spec/system/preprocessing_fallback_conditionals_spec.rb +19 -25
- data/spec/system/preprocessing_parameterized_tests_spec.rb +2 -2
- data/spec/system/rake_release_task_path_disambiguation_spec.rb +97 -0
- data/spec/system/rake_test_task_path_disambiguation_spec.rb +118 -0
- data/spec/system/report_and_tooling_plugins_spec.rb +327 -0
- data/spec/system/ruby_replacement_spec.rb +1 -1
- data/spec/system/same_named_modules_spec.rb +115 -0
- data/spec/system/sanitize_deployment_spec.rb +64 -0
- data/spec/system/shuffle_tests_spec.rb +139 -0
- data/spec/system/sibling_header_collision_spec.rb +620 -0
- data/spec/system/subdir_include_preservation_spec.rb +63 -0
- data/spec/system/support/bullseye_common_test_cases.rb +369 -0
- data/spec/system/support/bullseye_helpers.rb +70 -0
- data/spec/system/support/common_test_cases.rb +167 -43
- data/spec/system/support/cppcheck_common_test_cases.rb +80 -0
- data/spec/system/support/cppcheck_helpers.rb +10 -8
- data/spec/system/support/gcov_common_test_cases.rb +173 -37
- data/spec/system/support/gcov_helpers.rb +3 -3
- data/spec/system/support/gcov_partials_test_cases.rb +48 -2
- data/spec/system/support/sanitize_common_test_cases.rb +222 -0
- data/spec/system/support/sanitize_helpers.rb +27 -0
- data/spec/system/support/valgrind_common_test_cases.rb +116 -16
- data/spec/system/support/valgrind_helpers.rb +3 -4
- data/spec/system/test_pipeline_stop_points_spec.rb +160 -0
- data/spec/system/test_runner_system_include_spec.rb +19 -41
- data/spec/system/test_source_file_directive_spec.rb +235 -0
- data/spec/system/upgrade_as_vendor_spec.rb +25 -46
- data/spec/system/valgrind_deployment_spec.rb +41 -0
- data/spec/units/batchinator_spec.rb +314 -0
- data/spec/units/bin/actionator_spec.rb +412 -0
- data/spec/units/bin/app_cfg_spec.rb +90 -0
- data/spec/units/bin/cli_handler_spec.rb +204 -0
- data/spec/units/bin/cli_helper_spec.rb +238 -10
- data/spec/units/bin/cli_options_transform_spec.rb +49 -0
- data/spec/units/bin/composinator_spec.rb +236 -0
- data/spec/units/bin/{projectinator_mixin_spec.rb → mixin_resolvinator_spec.rb} +122 -83
- data/spec/units/bin/mixin_standardizer_spec.rb +4 -3
- data/spec/units/bin/mixinator_spec.rb +58 -22
- data/spec/units/bin/path_validator_spec.rb +112 -0
- data/spec/units/bin/projectinator_spec.rb +223 -0
- data/spec/units/bin/rake_patches_spec.rb +52 -0
- data/spec/units/bin/recursive_merger_spec.rb +22 -0
- data/spec/units/bin/versionator_spec.rb +104 -0
- data/spec/units/c_extractor/c_extractor_code_text_spec.rb +4 -4
- data/spec/units/c_extractor/c_extractor_declarations_spec.rb +70 -0
- data/spec/units/c_extractor/c_extractor_functions_spec.rb +75 -1
- data/spec/units/c_extractor/c_extractor_preprocessing_spec.rb +158 -0
- data/spec/units/c_extractor/c_extractor_spec.rb +236 -6
- data/spec/units/ceedling/templateinator_golden_spec.rb +84 -0
- data/spec/units/ceedling/templateinator_spec.rb +188 -0
- data/spec/units/config/configurator_builder_spec.rb +444 -0
- data/spec/units/config/configurator_plugins_spec.rb +160 -0
- data/spec/units/config/configurator_setup_spec.rb +706 -6
- data/spec/units/config/configurator_spec.rb +952 -0
- data/spec/units/config/configurator_validator_spec.rb +259 -0
- data/spec/units/config/line_marker_suppressors_spec.rb +89 -0
- data/spec/units/config_matchinator_spec.rb +103 -0
- data/spec/units/defineinator_spec.rb +158 -0
- data/spec/units/dependencies/dependency_cache_store_spec.rb +364 -0
- data/spec/units/dependencies/dependency_debug_tree_spec.rb +189 -0
- data/spec/units/dependencies/dependency_differ_spec.rb +139 -0
- data/spec/units/dependencies/dependency_hasher_spec.rb +141 -0
- data/spec/units/dependencies/dependency_path_normalizer_spec.rb +111 -0
- data/spec/units/dependencies/dependency_tracker_spec.rb +905 -0
- data/spec/units/dependencies/dependinator_spec.rb +99 -0
- data/spec/units/dependencies/gcc_dependency_parser_spec.rb +152 -0
- data/spec/units/encodinator_spec.rb +92 -0
- data/spec/units/file_finder_helper_spec.rb +99 -15
- data/spec/units/file_finder_spec.rb +495 -0
- data/spec/units/file_path_collection_utils_spec.rb +9 -0
- data/spec/units/file_path_utils_spec.rb +736 -0
- data/spec/units/file_wrapper_spec.rb +447 -0
- data/spec/units/filename_extension_spec.rb +120 -0
- data/spec/units/flaginator_spec.rb +114 -0
- data/spec/units/generators/generator_helper_spec.rb +113 -0
- data/spec/units/generators/generator_mocks_spec.rb +131 -0
- data/spec/units/generators/generator_partials_spec.rb +366 -77
- data/spec/units/generators/generator_spec.rb +317 -0
- data/spec/units/generators/generator_test_results_backtrace_spec.rb +169 -9
- data/spec/units/generators/generator_test_results_sanity_checker_spec.rb +14 -6
- data/spec/units/generators/generator_test_results_spec.rb +65 -8
- data/spec/units/generators/generator_test_runner_spec.rb +1 -1
- data/spec/units/includes/include_factory_spec.rb +53 -0
- data/spec/units/includes/include_pathinator_spec.rb +269 -0
- data/spec/units/includes/include_spec.rb +8 -4
- data/spec/units/includes/includes_spec.rb +326 -18
- data/spec/units/mock_locator_spec.rb +74 -0
- data/spec/units/parsing_parcels_spec.rb +65 -0
- data/spec/units/partials/partializer_config_spec.rb +284 -18
- data/spec/units/partials/partializer_helper_spec.rb +122 -0
- data/spec/units/partials/partializer_spec.rb +474 -36
- data/spec/units/partials/partializer_utils_spec.rb +4 -4
- data/spec/units/partials_manager_spec.rb +539 -0
- data/spec/units/path_matcher_spec.rb +193 -0
- data/spec/units/path_mirror_spec.rb +103 -0
- data/spec/units/plugin_manager_spec.rb +77 -0
- data/spec/units/plugin_reportinator_spec.rb +78 -3
- data/spec/units/plugins/bullseye_spec.rb +1068 -0
- data/spec/units/plugins/command_hooks_spec.rb +157 -0
- data/spec/units/plugins/compile_commands_json_db_spec.rb +145 -0
- data/spec/units/plugins/console_reportinator_spec.rb +370 -0
- data/spec/units/plugins/cppcheck_spec.rb +330 -4
- data/spec/units/plugins/cppunit_tests_reporter_spec.rb +118 -0
- data/spec/units/plugins/dependencies_spec.rb +295 -0
- data/spec/units/plugins/dependency_commands_spec.rb +83 -0
- data/spec/units/plugins/dependency_environment_spec.rb +64 -0
- data/spec/units/plugins/dependency_spec_spec.rb +170 -0
- data/spec/units/plugins/gcov_reportinator_spec.rb +272 -0
- data/spec/units/plugins/gcov_spec.rb +521 -0
- data/spec/units/plugins/gcovr_reportinator_spec.rb +795 -0
- data/spec/units/plugins/gtestlike_report_spec.rb +363 -0
- data/spec/units/plugins/html_tests_reporter_spec.rb +158 -0
- data/spec/units/plugins/ide_report_lines_spec.rb +229 -0
- data/spec/units/plugins/json_tests_reporter_spec.rb +87 -0
- data/spec/units/plugins/junit_tests_reporter_spec.rb +237 -0
- data/spec/units/plugins/module_generator_options_spec.rb +185 -0
- data/spec/units/plugins/module_generator_project_spec.rb +55 -0
- data/spec/units/plugins/module_generator_request_spec.rb +107 -0
- data/spec/units/plugins/module_generator_spec.rb +214 -0
- data/spec/units/plugins/module_generator_test_file_spec.rb +102 -0
- data/spec/units/plugins/module_generator_unity_spec.rb +37 -0
- data/spec/units/plugins/report_build_warnings_log_spec.rb +199 -0
- data/spec/units/plugins/report_log_writer_plugin_spec.rb +94 -0
- data/spec/units/plugins/report_tests_gtestlike_stdout_spec.rb +274 -0
- data/spec/units/plugins/report_tests_ide_stdout_spec.rb +140 -0
- data/spec/units/plugins/report_tests_log_factory_spec.rb +210 -0
- data/spec/units/plugins/report_tests_pretty_stdout_spec.rb +83 -0
- data/spec/units/plugins/report_tests_raw_output_log_spec.rb +98 -0
- data/spec/units/plugins/report_tests_stdout_plugin_spec.rb +145 -0
- data/spec/units/plugins/report_tests_teamcity_stdout_spec.rb +121 -0
- data/spec/units/plugins/reportgenerator_reportinator_spec.rb +410 -0
- data/spec/units/plugins/sanitize_config_spec.rb +119 -0
- data/spec/units/plugins/sanitize_findings_spec.rb +69 -0
- data/spec/units/plugins/sanitize_records_spec.rb +114 -0
- data/spec/units/plugins/sanitize_reports_spec.rb +84 -0
- data/spec/units/plugins/sanitize_spec.rb +300 -0
- data/spec/units/plugins/tests_reporter_spec.rb +89 -0
- data/spec/units/plugins/valgrind_spec.rb +560 -0
- data/spec/units/plugins/warning_collector_spec.rb +185 -0
- data/spec/units/plugins/warning_reports_spec.rb +150 -0
- data/spec/units/preprocess/c_comment_scanner_spec.rb +17 -17
- data/spec/units/preprocess/c_preprocessor_conditionals_spec.rb +94 -0
- data/spec/units/preprocess/preprocessinator_bare_includes_extractor_spec.rb +73 -0
- data/spec/units/preprocess/preprocessinator_code_finder_spec.rb +35 -16
- data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +129 -48
- data/spec/units/preprocess/preprocessinator_file_assembler_spec.rb +292 -9
- data/spec/units/preprocess/preprocessinator_includes_handler_spec.rb +294 -16
- data/spec/units/preprocess/preprocessinator_line_marker_includes_extractor_spec.rb +356 -6
- data/spec/units/preprocess/preprocessinator_reconstructor_spec.rb +58 -4
- data/spec/units/preprocess/preprocessinator_spec.rb +693 -5
- data/spec/units/quote_include_isolator_spec.rb +176 -0
- data/spec/units/rake_app/rake_invocation_tracker_spec.rb +94 -0
- data/spec/units/rake_app/rake_task_registry_spec.rb +263 -0
- data/spec/units/rake_app/rake_utils_spec.rb +54 -0
- data/spec/units/rake_app/rake_wrapper_spec.rb +64 -0
- data/spec/units/rake_app/rakefile_component_resolver_spec.rb +182 -0
- data/spec/units/release_build_executor_spec.rb +404 -0
- data/spec/units/release_build_planner_spec.rb +144 -0
- data/spec/units/release_invoker_spec.rb +127 -0
- data/spec/units/reportinator_spec.rb +35 -0
- data/spec/units/ruby_expandinator_spec.rb +36 -0
- data/spec/units/standin_headerinator_spec.rb +168 -0
- data/spec/units/system_wrapper_spec.rb +16 -0
- data/spec/units/test_build_executor_spec.rb +1653 -8
- data/spec/units/test_build_planner_spec.rb +878 -0
- data/spec/units/test_build_setup_spec.rb +583 -0
- data/spec/units/test_context_extractor_spec.rb +51 -3
- data/spec/units/test_file_preprocessinator_spec.rb +206 -0
- data/spec/units/test_includes_extractinator_spec.rb +764 -0
- data/spec/units/test_invoker/objects_wiring_spec.rb +31 -0
- data/spec/units/test_invoker_spec.rb +147 -0
- data/spec/units/test_invoker_types_spec.rb +182 -0
- data/spec/units/test_pipeline_helpers_spec.rb +100 -0
- data/spec/units/test_pipeline_manager_spec.rb +415 -0
- data/spec/units/test_runner_generatinator_spec.rb +215 -0
- data/spec/units/test_runner_manager_spec.rb +70 -0
- data/spec/units/test_search_paths_spec.rb +84 -0
- data/spec/units/test_source_file_directive_resolver_spec.rb +239 -0
- data/spec/units/tool_executor_helper_spec.rb +1 -1
- data/spec/units/tool_executor_spec.rb +571 -2
- data/spec/units/tool_validator_spec.rb +303 -24
- data/spec/units/version_spec.rb +74 -0
- data/spec/units/yaml_wrapper_spec.rb +4 -1
- data/vendor/cmock/docs/CMock_Summary.md +11 -0
- data/vendor/cmock/lib/cmock_config.rb +1 -0
- data/vendor/cmock/lib/cmock_generator.rb +5 -1
- data/vendor/cmock/test/unit/cmock_generator_main_test.rb +31 -0
- data/vendor/cmock/vendor/unity/auto/generate_module.rb +4 -4
- data/vendor/cmock/vendor/unity/auto/generate_test_runner.rb +8 -2
- data/vendor/cmock/vendor/unity/auto/unity_test_summary.rb +2 -2
- data/vendor/cmock/vendor/unity/docs/UnityChangeLog.md +7 -0
- data/vendor/cmock/vendor/unity/docs/UnityConfigurationGuide.md +4 -0
- data/vendor/cmock/vendor/unity/docs/UnityHelperScriptsGuide.md +9 -0
- data/vendor/cmock/vendor/unity/src/unity_internals.h +21 -7
- data/vendor/cmock/vendor/unity/test/Makefile +9 -2
- data/vendor/cmock/vendor/unity/test/rakefile_helper.rb +1 -0
- data/vendor/cmock/vendor/unity/test/spec/generate_module_naming_spec.rb +38 -0
- data/vendor/cmock/vendor/unity/test/testdata/spi/MockConfig.h +19 -0
- data/vendor/cmock/vendor/unity/test/testdata/testRunnerGeneratorWithSameNamedMocks.c +42 -0
- data/vendor/cmock/vendor/unity/test/testdata/uart/MockConfig.h +19 -0
- data/vendor/cmock/vendor/unity/test/tests/test_generate_test_runner.rb +78 -0
- data/vendor/cmock/vendor/unity/test/tests/test_unity_test_summary.rb +58 -0
- data/vendor/diy/lib/diy/factory.rb +5 -4
- data/vendor/diy/lib/diy.rb +5 -4
- data/vendor/diy/sample_code/car.rb +5 -4
- data/vendor/diy/sample_code/chassis.rb +5 -4
- data/vendor/diy/sample_code/diy_example.rb +5 -4
- data/vendor/diy/sample_code/engine.rb +5 -4
- data/vendor/diy/sample_code/objects.yml +5 -4
- data/vendor/diy/test/constructor.rb +5 -4
- data/vendor/diy/test/diy_test.rb +5 -4
- data/vendor/diy/test/factory_test.rb +5 -4
- data/vendor/diy/test/files/broken_construction.yml +5 -4
- data/vendor/diy/test/files/cat/cat.rb +5 -4
- data/vendor/diy/test/files/cat/extra_conflict.yml +5 -4
- data/vendor/diy/test/files/cat/heritage.rb +5 -4
- data/vendor/diy/test/files/cat/needs_input.yml +5 -4
- data/vendor/diy/test/files/cat/the_cat_lineage.rb +5 -4
- data/vendor/diy/test/files/dog/dog_model.rb +5 -4
- data/vendor/diy/test/files/dog/dog_presenter.rb +5 -4
- data/vendor/diy/test/files/dog/dog_view.rb +5 -4
- data/vendor/diy/test/files/dog/file_resolver.rb +5 -4
- data/vendor/diy/test/files/dog/other_thing.rb +5 -4
- data/vendor/diy/test/files/dog/simple.yml +5 -4
- data/vendor/diy/test/files/donkey/foo/bar/qux.rb +5 -4
- data/vendor/diy/test/files/donkey/foo.rb +5 -4
- data/vendor/diy/test/files/factory/beef.rb +5 -4
- data/vendor/diy/test/files/factory/dog.rb +5 -4
- data/vendor/diy/test/files/factory/factory.yml +5 -4
- data/vendor/diy/test/files/factory/farm/llama.rb +5 -4
- data/vendor/diy/test/files/factory/farm/pork.rb +5 -4
- data/vendor/diy/test/files/factory/kitten.rb +5 -4
- data/vendor/diy/test/files/fud/objects.yml +5 -4
- data/vendor/diy/test/files/fud/toy.rb +5 -4
- data/vendor/diy/test/files/functions/attached_things_builder.rb +5 -4
- data/vendor/diy/test/files/functions/invalid_method.yml +5 -4
- data/vendor/diy/test/files/functions/method_extractor.rb +5 -4
- data/vendor/diy/test/files/functions/nonsingleton_objects.yml +5 -4
- data/vendor/diy/test/files/functions/objects.yml +5 -4
- data/vendor/diy/test/files/functions/thing.rb +5 -4
- data/vendor/diy/test/files/functions/thing_builder.rb +5 -4
- data/vendor/diy/test/files/functions/things_builder.rb +5 -4
- data/vendor/diy/test/files/gnu/objects.yml +5 -4
- data/vendor/diy/test/files/gnu/thinger.rb +5 -4
- data/vendor/diy/test/files/goat/base.rb +5 -4
- data/vendor/diy/test/files/goat/can.rb +5 -4
- data/vendor/diy/test/files/goat/goat.rb +5 -4
- data/vendor/diy/test/files/goat/objects.yml +5 -4
- data/vendor/diy/test/files/goat/paper.rb +5 -4
- data/vendor/diy/test/files/goat/plane.rb +5 -4
- data/vendor/diy/test/files/goat/shirt.rb +5 -4
- data/vendor/diy/test/files/goat/wings.rb +5 -4
- data/vendor/diy/test/files/horse/holder_thing.rb +5 -4
- data/vendor/diy/test/files/horse/objects.yml +5 -4
- data/vendor/diy/test/files/namespace/animal/bird.rb +5 -4
- data/vendor/diy/test/files/namespace/animal/cat.rb +5 -4
- data/vendor/diy/test/files/namespace/animal/reptile/hardshell/turtle.rb +5 -4
- data/vendor/diy/test/files/namespace/animal/reptile/lizard.rb +5 -4
- data/vendor/diy/test/files/namespace/bad_module_specified.yml +5 -4
- data/vendor/diy/test/files/namespace/class_name_combine.yml +5 -4
- data/vendor/diy/test/files/namespace/no_module_specified.yml +5 -4
- data/vendor/diy/test/files/namespace/objects.yml +5 -4
- data/vendor/diy/test/files/namespace/road.rb +5 -4
- data/vendor/diy/test/files/namespace/sky.rb +5 -4
- data/vendor/diy/test/files/namespace/subcontext.yml +5 -4
- data/vendor/diy/test/files/non_singleton/air.rb +5 -4
- data/vendor/diy/test/files/non_singleton/fat_cat.rb +5 -4
- data/vendor/diy/test/files/non_singleton/objects.yml +5 -4
- data/vendor/diy/test/files/non_singleton/pig.rb +5 -4
- data/vendor/diy/test/files/non_singleton/thread_spinner.rb +5 -4
- data/vendor/diy/test/files/non_singleton/tick.rb +5 -4
- data/vendor/diy/test/files/non_singleton/yard.rb +5 -4
- data/vendor/diy/test/files/yak/core_model.rb +5 -4
- data/vendor/diy/test/files/yak/core_presenter.rb +5 -4
- data/vendor/diy/test/files/yak/core_view.rb +5 -4
- data/vendor/diy/test/files/yak/data_source.rb +5 -4
- data/vendor/diy/test/files/yak/fringe_model.rb +5 -4
- data/vendor/diy/test/files/yak/fringe_presenter.rb +5 -4
- data/vendor/diy/test/files/yak/fringe_view.rb +5 -4
- data/vendor/diy/test/files/yak/giant_squid.rb +5 -4
- data/vendor/diy/test/files/yak/krill.rb +5 -4
- data/vendor/diy/test/files/yak/my_objects.yml +5 -4
- data/vendor/diy/test/files/yak/sub_sub_context_test.yml +5 -4
- data/vendor/diy/test/test_helper.rb +5 -4
- data/vendor/unity/auto/generate_module.rb +4 -4
- data/vendor/unity/auto/generate_test_runner.rb +5 -1
- data/vendor/unity/docs/UnityHelperScriptsGuide.md +9 -0
- data/vendor/unity/test/spec/generate_module_naming_spec.rb +38 -0
- data/vendor/unity/test/testdata/spi/MockConfig.h +19 -0
- data/vendor/unity/test/testdata/testRunnerGeneratorWithSameNamedMocks.c +42 -0
- data/vendor/unity/test/testdata/uart/MockConfig.h +19 -0
- data/vendor/unity/test/tests/test_generate_test_runner.rb +29 -0
- metadata +770 -285
- data/assets/tests_with_fallback_conditionals/src/conditional_module.c +0 -18
- data/bin/actions_wrapper.rb +0 -51
- data/docs/mkdocs/assets/images/ceedling-logo-circle.png +0 -0
- data/docs/mkdocs/assets/images/ceedling.svg +0 -90
- data/docs/mkdocs/assets/images/favicon.png +0 -0
- data/docs/mkdocs/assets/stylesheets/admonitions.css +0 -152
- data/docs/mkdocs/assets/stylesheets/fixes-local.css +0 -15
- data/docs/mkdocs/assets/stylesheets/styling.css +0 -102
- data/docs/mkdocs/configuration/environment-vars.md +0 -14
- data/docs/mkdocs/configuration/global-collections.md +0 -156
- data/docs/mkdocs/configuration/index.md +0 -75
- data/docs/mkdocs/configuration/loading.md +0 -89
- data/docs/mkdocs/configuration/mixins.md +0 -607
- data/docs/mkdocs/configuration/parallel-builds.md +0 -97
- data/docs/mkdocs/configuration/project-file.md +0 -216
- data/docs/mkdocs/configuration/reference/cexception.md +0 -35
- data/docs/mkdocs/configuration/reference/cmock.md +0 -106
- data/docs/mkdocs/configuration/reference/defines.md +0 -352
- data/docs/mkdocs/configuration/reference/environment.md +0 -55
- data/docs/mkdocs/configuration/reference/extension.md +0 -63
- data/docs/mkdocs/configuration/reference/files.md +0 -154
- data/docs/mkdocs/configuration/reference/flags.md +0 -296
- data/docs/mkdocs/configuration/reference/index.md +0 -176
- data/docs/mkdocs/configuration/reference/libraries.md +0 -82
- data/docs/mkdocs/configuration/reference/mixins.md +0 -24
- data/docs/mkdocs/configuration/reference/partials.md +0 -38
- data/docs/mkdocs/configuration/reference/paths.md +0 -276
- data/docs/mkdocs/configuration/reference/plugins.md +0 -60
- data/docs/mkdocs/configuration/reference/project.md +0 -333
- data/docs/mkdocs/configuration/reference/release-build.md +0 -62
- data/docs/mkdocs/configuration/reference/test-build.md +0 -55
- data/docs/mkdocs/configuration/reference/test-runner.md +0 -61
- data/docs/mkdocs/configuration/reference/tools.md +0 -457
- data/docs/mkdocs/configuration/reference/unity.md +0 -49
- data/docs/mkdocs/configuration/which-ceedling.md +0 -77
- data/docs/mkdocs/development/index.md +0 -50
- data/docs/mkdocs/development/plugins/configuration.md +0 -164
- data/docs/mkdocs/development/plugins/index.md +0 -84
- data/docs/mkdocs/development/plugins/plugin-subclass.md +0 -513
- data/docs/mkdocs/development/plugins/rake-tasks.md +0 -54
- data/docs/mkdocs/development/workflow.md +0 -284
- data/docs/mkdocs/getting-started/command-line.md +0 -477
- data/docs/mkdocs/getting-started/example-projects/cipher-quest.md +0 -65
- data/docs/mkdocs/getting-started/example-projects/index.md +0 -49
- data/docs/mkdocs/getting-started/example-projects/temp-sensor.md +0 -60
- data/docs/mkdocs/getting-started/example-projects/wondrous-forest.md +0 -45
- data/docs/mkdocs/getting-started/index.md +0 -41
- data/docs/mkdocs/getting-started/installation.md +0 -179
- data/docs/mkdocs/getting-started/quick-start.md +0 -86
- data/docs/mkdocs/help.md +0 -49
- data/docs/mkdocs/index.md +0 -222
- data/docs/mkdocs/overview/build-system.md +0 -115
- data/docs/mkdocs/overview/index.md +0 -29
- data/docs/mkdocs/overview/test-environments.md +0 -33
- data/docs/mkdocs/overview/tools-and-frameworks.md +0 -115
- data/docs/mkdocs/plugins/beep.md +0 -134
- data/docs/mkdocs/plugins/bullseye.md +0 -83
- data/docs/mkdocs/plugins/command-hooks.md +0 -268
- data/docs/mkdocs/plugins/compile-commands-json-db.md +0 -42
- data/docs/mkdocs/plugins/cppcheck.md +0 -377
- data/docs/mkdocs/plugins/dependencies.md +0 -310
- data/docs/mkdocs/plugins/fff.md +0 -247
- data/docs/mkdocs/plugins/gcov/examples.md +0 -92
- data/docs/mkdocs/plugins/gcov/gcovr.md +0 -412
- data/docs/mkdocs/plugins/gcov/index.md +0 -74
- data/docs/mkdocs/plugins/gcov/overview.md +0 -145
- data/docs/mkdocs/plugins/gcov/reportgenerator.md +0 -140
- data/docs/mkdocs/plugins/gcov/reporting.md +0 -147
- data/docs/mkdocs/plugins/gcov/setup.md +0 -232
- data/docs/mkdocs/plugins/gcov/tool-versions.md +0 -60
- data/docs/mkdocs/plugins/gcov/troubleshooting.md +0 -78
- data/docs/mkdocs/plugins/index.md +0 -261
- data/docs/mkdocs/plugins/module-generator.md +0 -267
- data/docs/mkdocs/plugins/report-build-warnings-log.md +0 -42
- data/docs/mkdocs/plugins/report-tests-gtestlike-stdout.md +0 -98
- data/docs/mkdocs/plugins/report-tests-ide-stdout.md +0 -63
- data/docs/mkdocs/plugins/report-tests-log-factory.md +0 -454
- data/docs/mkdocs/plugins/report-tests-pretty-stdout.md +0 -56
- data/docs/mkdocs/plugins/report-tests-raw-output-log.md +0 -52
- data/docs/mkdocs/plugins/report-tests-teamcity-stdout.md +0 -96
- data/docs/mkdocs/plugins/sample_html_report.png +0 -0
- data/docs/mkdocs/plugins/valgrind.md +0 -198
- data/docs/mkdocs/project/release-history.md +0 -61
- data/docs/mkdocs/project/upgrade.md +0 -85
- data/docs/mkdocs/reference/build-directives.md +0 -37
- data/docs/mkdocs/reference/command-line.md +0 -323
- data/docs/mkdocs/reference/environment-vars.md +0 -60
- data/docs/mkdocs/reference/gcov-plugin.md +0 -600
- data/docs/mkdocs/reference/global-collections.md +0 -160
- data/docs/mkdocs/reference/index.md +0 -65
- data/docs/mkdocs/reference/partials-macros.md +0 -79
- data/docs/mkdocs/reference/project-configuration.md +0 -46
- data/docs/mkdocs/snapshot/assets/project.yml +0 -404
- data/docs/mkdocs/snapshot/examples/cipher_quest/README.md +0 -210
- data/docs/mkdocs/snapshot/examples/temp_sensor/README.md +0 -283
- data/docs/mkdocs/snapshot/examples/wondrous_forest/README.md +0 -92
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults.yml +0 -32
- data/docs/mkdocs/snapshot/plugins/gcov/config/defaults_gcov.rb +0 -136
- data/docs/mkdocs/snapshot.yml +0 -20
- data/docs/mkdocs/testing-guide/build-directives.md +0 -153
- data/docs/mkdocs/testing-guide/conventions.md +0 -616
- data/docs/mkdocs/testing-guide/frameworks.md +0 -192
- data/docs/mkdocs/testing-guide/index.md +0 -80
- data/docs/mkdocs/testing-guide/partials/configuration.md +0 -67
- data/docs/mkdocs/testing-guide/partials/conventions.md +0 -68
- data/docs/mkdocs/testing-guide/partials/directives.md +0 -212
- data/docs/mkdocs/testing-guide/partials/example.md +0 -149
- data/docs/mkdocs/testing-guide/partials/index.md +0 -88
- data/docs/mkdocs/testing-guide/partials/overview.md +0 -81
- data/docs/mkdocs/testing-guide/partials/variables.md +0 -244
- data/docs/mkdocs/testing-guide/test-cases.md +0 -194
- data/docs/mkdocs/testing-guide/test-sample.md +0 -94
- data/docs/mkdocs/testing-guide/test-suite-anatomy.md +0 -58
- data/lib/ceedling/cacheinator.rb +0 -53
- data/lib/ceedling/cacheinator_helper.rb +0 -60
- data/lib/ceedling/dependinator.rb +0 -31
- data/lib/ceedling/makefile.rb +0 -52
- data/lib/ceedling/release_invoker.rb +0 -112
- data/lib/ceedling/rules_release.rake +0 -109
- data/lib/ceedling/rules_tests.rake +0 -40
- data/lib/ceedling/tasks_release.rake +0 -36
- data/plugins/fff/vendor/fff/Makefile +0 -10
- data/plugins/fff/vendor/fff/buildandtest +0 -15
- data/plugins/fff/vendor/fff/examples/Makefile +0 -7
- data/plugins/fff/vendor/fff/examples/driver_testing/Makefile +0 -64
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.c +0 -32
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.h +0 -21
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.cpp +0 -58
- data/plugins/fff/vendor/fff/examples/driver_testing/driver.test.fff.cpp +0 -70
- data/plugins/fff/vendor/fff/examples/driver_testing/hardware_abstraction.h +0 -25
- data/plugins/fff/vendor/fff/examples/driver_testing/registers.h +0 -23
- data/plugins/fff/vendor/fff/examples/embedded_ui/DISPLAY.h +0 -27
- data/plugins/fff/vendor/fff/examples/embedded_ui/Kata.txt +0 -25
- data/plugins/fff/vendor/fff/examples/embedded_ui/Makefile +0 -67
- data/plugins/fff/vendor/fff/examples/embedded_ui/SYSTEM.h +0 -31
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.c +0 -56
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI.h +0 -22
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_ansic.c +0 -191
- data/plugins/fff/vendor/fff/examples/embedded_ui/UI_test_cpp.cpp +0 -144
- data/plugins/fff/vendor/fff/examples/embedded_ui/test_suite_template.c +0 -42
- data/plugins/fff/vendor/fff/gtest/Makefile +0 -22
- data/plugins/fff/vendor/fff/gtest/gtest-all.cc +0 -9118
- data/plugins/fff/vendor/fff/gtest/gtest-main.cc +0 -6
- data/plugins/fff/vendor/fff/gtest/gtest.h +0 -19547
- data/plugins/fff/vendor/fff/test/Makefile +0 -81
- data/plugins/fff/vendor/fff/test/c_test_framework.h +0 -25
- data/plugins/fff/vendor/fff/test/fff_test_c.c +0 -116
- data/plugins/fff/vendor/fff/test/fff_test_cpp.cpp +0 -53
- data/plugins/fff/vendor/fff/test/fff_test_global_c.c +0 -84
- data/plugins/fff/vendor/fff/test/fff_test_global_cpp.cpp +0 -31
- data/plugins/fff/vendor/fff/test/global_fakes.c +0 -21
- data/plugins/fff/vendor/fff/test/global_fakes.h +0 -47
- data/plugins/fff/vendor/fff/test/test_cases.include +0 -276
- data/plugins/report_tests_gtestlike_stdout/assets/template.erb +0 -83
- data/spec/units/configurator_spec.rb +0 -232
- /data/assets/{ceedling → features/ceedling} +0 -0
- /data/assets/{ceedling.cmd → features/ceedling.cmd} +0 -0
- /data/assets/{default_gitignore → features/default_gitignore} +0 -0
- /data/assets/{broken_uncovered_file.c → fixtures/broken_uncovered_file.c} +0 -0
- /data/assets/{example_file.c → fixtures/example_file.c} +0 -0
- /data/assets/{example_file.h → fixtures/example_file.h} +0 -0
- /data/assets/{example_file_call.c → fixtures/example_file_call.c} +0 -0
- /data/assets/{example_file_call.h → fixtures/example_file_call.h} +0 -0
- /data/assets/{example_file_with_statics.c → fixtures/example_file_with_statics.c} +0 -0
- /data/assets/{example_file_with_stdio.c → fixtures/example_file_with_stdio.c} +0 -0
- /data/assets/{example_file_with_stdio.h → fixtures/example_file_with_stdio.h} +0 -0
- /data/assets/{fake_crash_test_fixture.rb → fixtures/fake_crash_test_fixture.rb} +0 -0
- /data/assets/{partial_all_module.h → fixtures/partial_all_module.h} +0 -0
- /data/assets/{run_with_ubsan.rb → fixtures/run_with_ubsan.rb} +0 -0
- /data/assets/{same_dir_pairing_module.c → fixtures/same_dir_pairing_module.c} +0 -0
- /data/assets/{same_dir_pairing_module.h → fixtures/same_dir_pairing_module.h} +0 -0
- /data/assets/{same_dir_pairing_module_func.h → fixtures/same_dir_pairing_module_func.h} +0 -0
- /data/assets/{same_dir_pairing_other.c → fixtures/same_dir_pairing_other.c} +0 -0
- /data/assets/{same_dir_pairing_other.h → fixtures/same_dir_pairing_other.h} +0 -0
- /data/assets/{test_example_file.c → fixtures/test_example_file.c} +0 -0
- /data/assets/{test_example_file_2.c → fixtures/test_example_file_2.c} +0 -0
- /data/assets/{test_example_file_source_include.c → fixtures/test_example_file_source_include.c} +0 -0
- /data/assets/{test_example_file_success.c → fixtures/test_example_file_success.c} +0 -0
- /data/assets/{test_example_file_unity_printf.c → fixtures/test_example_file_unity_printf.c} +0 -0
- /data/assets/{test_example_file_verbose.c → fixtures/test_example_file_verbose.c} +0 -0
- /data/assets/{test_example_file_with_mock.c → fixtures/test_example_file_with_mock.c} +0 -0
- /data/assets/{test_example_file_with_stdio.c → fixtures/test_example_file_with_stdio.c} +0 -0
- /data/assets/{test_example_with_parameterized_tests.c → fixtures/test_example_with_parameterized_tests.c} +0 -0
- /data/assets/{test_partial_all_module.c → fixtures/test_partial_all_module.c} +0 -0
- /data/assets/{test_same_dir_pairing.c → fixtures/test_same_dir_pairing.c} +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/feature_config.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/feature_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/local_flag_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/nested_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/nested_wrapper.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/project_flag_extra.h +0 -0
- /data/assets/{tests_with_conditional_includes → fixtures/tests_with_conditional_includes}/src/widget_feature.h +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware.c +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware.h +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware_configurator.c +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/src/adc_hardware_configurator.h +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/test/test_adc_hardware.c +0 -0
- /data/assets/{tests_with_defines → fixtures/tests_with_defines}/test/test_adc_hardware_special.c +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/src/unicoder.c +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/src/unicoder.h +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/test/test_unicoder.c +0 -0
- /data/assets/{tests_with_encoding → fixtures/tests_with_encoding}/test/test_unicoder_partial.c +0 -0
- /data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/src/conditional_module.h +0 -0
- /data/assets/{tests_with_fallback_conditionals → fixtures/tests_with_fallback_conditionals}/src/optional_dep.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/blanks.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/blanks.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/counter.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/counter.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/decorators.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/src/decorators.h +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_blanks.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_counter.c +0 -0
- /data/assets/{tests_with_partials_coverage → fixtures/tests_with_partials_coverage}/test/test_decorators.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareA.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareA.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareB.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareB.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareC.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardwareC.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorA.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorB.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/src/adc_hardware_configuratorC.h +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareA.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareB.c +0 -0
- /data/assets/{tests_with_preprocessing → fixtures/tests_with_preprocessing}/test/test_adc_hardwareC.c +0 -0
- /data/assets/{uncovered_example_file.c → fixtures/uncovered_example_file.c} +0 -0
- /data/plugins/bullseye/assets/{template.erb → coverage.template} +0 -0
|
@@ -89,10 +89,34 @@
|
|
|
89
89
|
</div>
|
|
90
90
|
<div data-md-component="announce">
|
|
91
91
|
|
|
92
|
+
<aside class="md-banner">
|
|
93
|
+
<div class="md-banner__inner md-grid md-typeset">
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
</aside>
|
|
101
|
+
|
|
92
102
|
</div>
|
|
93
103
|
|
|
94
104
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
95
105
|
|
|
106
|
+
<aside class="md-banner md-banner--warning">
|
|
107
|
+
<div class="md-banner__inner md-grid md-typeset">
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
You are not viewing the latest version.
|
|
111
|
+
<a href="../..">
|
|
112
|
+
<strong>Click here to go to latest.</strong>
|
|
113
|
+
</a>
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
</div>
|
|
117
|
+
<script>var el=document.querySelector("[data-md-component=outdated]"),base=new URL(".."),outdated=__md_get("__outdated",sessionStorage,base);!0===outdated&&el&&(el.hidden=!1)</script>
|
|
118
|
+
</aside>
|
|
119
|
+
|
|
96
120
|
</div>
|
|
97
121
|
|
|
98
122
|
|
|
@@ -332,7 +356,7 @@
|
|
|
332
356
|
|
|
333
357
|
|
|
334
358
|
<li class="md-tabs__item">
|
|
335
|
-
<a href="../project/
|
|
359
|
+
<a href="../project/index.html" class="md-tabs__link">
|
|
336
360
|
|
|
337
361
|
|
|
338
362
|
|
|
@@ -641,6 +665,8 @@
|
|
|
641
665
|
|
|
642
666
|
|
|
643
667
|
|
|
668
|
+
|
|
669
|
+
|
|
644
670
|
|
|
645
671
|
|
|
646
672
|
|
|
@@ -788,6 +814,34 @@
|
|
|
788
814
|
|
|
789
815
|
|
|
790
816
|
|
|
817
|
+
<li class="md-nav__item">
|
|
818
|
+
<a href="../getting-started/builds.html" class="md-nav__link">
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
|
|
822
|
+
<span class="md-ellipsis">
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
Builds
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
</span>
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
</a>
|
|
834
|
+
</li>
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
|
|
791
845
|
|
|
792
846
|
|
|
793
847
|
|
|
@@ -814,7 +868,7 @@
|
|
|
814
868
|
|
|
815
869
|
|
|
816
870
|
|
|
817
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
871
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6" >
|
|
818
872
|
|
|
819
873
|
|
|
820
874
|
<div class="md-nav__link md-nav__container">
|
|
@@ -836,14 +890,14 @@
|
|
|
836
890
|
</a>
|
|
837
891
|
|
|
838
892
|
|
|
839
|
-
<label class="md-nav__link " for="
|
|
893
|
+
<label class="md-nav__link " for="__nav_3_6" id="__nav_3_6_label" tabindex="0">
|
|
840
894
|
<span class="md-nav__icon md-icon"></span>
|
|
841
895
|
</label>
|
|
842
896
|
|
|
843
897
|
</div>
|
|
844
898
|
|
|
845
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
846
|
-
<label class="md-nav__title" for="
|
|
899
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_6_label" aria-expanded="false">
|
|
900
|
+
<label class="md-nav__title" for="__nav_3_6">
|
|
847
901
|
<span class="md-nav__icon md-icon"></span>
|
|
848
902
|
|
|
849
903
|
|
|
@@ -2412,6 +2466,8 @@
|
|
|
2412
2466
|
|
|
2413
2467
|
|
|
2414
2468
|
|
|
2469
|
+
|
|
2470
|
+
|
|
2415
2471
|
|
|
2416
2472
|
|
|
2417
2473
|
|
|
@@ -3049,8 +3105,64 @@
|
|
|
3049
3105
|
|
|
3050
3106
|
|
|
3051
3107
|
<li class="md-nav__item">
|
|
3052
|
-
<a href="
|
|
3108
|
+
<a href="sanitize.html" class="md-nav__link">
|
|
3109
|
+
|
|
3110
|
+
|
|
3111
|
+
|
|
3112
|
+
<span class="md-ellipsis">
|
|
3113
|
+
|
|
3114
|
+
|
|
3115
|
+
Sanitize (ASan, UBSan & Leaks)
|
|
3116
|
+
|
|
3117
|
+
|
|
3118
|
+
|
|
3119
|
+
</span>
|
|
3120
|
+
|
|
3121
|
+
|
|
3122
|
+
|
|
3123
|
+
</a>
|
|
3124
|
+
</li>
|
|
3125
|
+
|
|
3126
|
+
|
|
3127
|
+
|
|
3128
|
+
|
|
3129
|
+
|
|
3130
|
+
|
|
3131
|
+
|
|
3132
|
+
|
|
3133
|
+
|
|
3134
|
+
|
|
3135
|
+
|
|
3136
|
+
|
|
3137
|
+
|
|
3138
|
+
|
|
3139
|
+
|
|
3140
|
+
|
|
3141
|
+
|
|
3142
|
+
|
|
3143
|
+
|
|
3144
|
+
|
|
3145
|
+
|
|
3146
|
+
|
|
3147
|
+
|
|
3148
|
+
|
|
3053
3149
|
|
|
3150
|
+
|
|
3151
|
+
|
|
3152
|
+
|
|
3153
|
+
|
|
3154
|
+
|
|
3155
|
+
|
|
3156
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
3157
|
+
|
|
3158
|
+
|
|
3159
|
+
|
|
3160
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_13" >
|
|
3161
|
+
|
|
3162
|
+
|
|
3163
|
+
<div class="md-nav__link md-nav__container">
|
|
3164
|
+
<a href="bullseye/index.html" class="md-nav__link ">
|
|
3165
|
+
|
|
3054
3166
|
|
|
3055
3167
|
|
|
3056
3168
|
<span class="md-ellipsis">
|
|
@@ -3060,6 +3172,50 @@
|
|
|
3060
3172
|
|
|
3061
3173
|
|
|
3062
3174
|
|
|
3175
|
+
</span>
|
|
3176
|
+
|
|
3177
|
+
|
|
3178
|
+
|
|
3179
|
+
</a>
|
|
3180
|
+
|
|
3181
|
+
|
|
3182
|
+
<label class="md-nav__link " for="__nav_6_13" id="__nav_6_13_label" tabindex="">
|
|
3183
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3184
|
+
</label>
|
|
3185
|
+
|
|
3186
|
+
</div>
|
|
3187
|
+
|
|
3188
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_13_label" aria-expanded="false">
|
|
3189
|
+
<label class="md-nav__title" for="__nav_6_13">
|
|
3190
|
+
<span class="md-nav__icon md-icon"></span>
|
|
3191
|
+
|
|
3192
|
+
|
|
3193
|
+
Bullseye (Coverage)
|
|
3194
|
+
|
|
3195
|
+
|
|
3196
|
+
</label>
|
|
3197
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
3198
|
+
|
|
3199
|
+
|
|
3200
|
+
|
|
3201
|
+
|
|
3202
|
+
|
|
3203
|
+
|
|
3204
|
+
|
|
3205
|
+
|
|
3206
|
+
|
|
3207
|
+
<li class="md-nav__item">
|
|
3208
|
+
<a href="bullseye/licensing.html" class="md-nav__link">
|
|
3209
|
+
|
|
3210
|
+
|
|
3211
|
+
|
|
3212
|
+
<span class="md-ellipsis">
|
|
3213
|
+
|
|
3214
|
+
|
|
3215
|
+
Licensing
|
|
3216
|
+
|
|
3217
|
+
|
|
3218
|
+
|
|
3063
3219
|
</span>
|
|
3064
3220
|
|
|
3065
3221
|
|
|
@@ -3070,6 +3226,14 @@
|
|
|
3070
3226
|
|
|
3071
3227
|
|
|
3072
3228
|
|
|
3229
|
+
</ul>
|
|
3230
|
+
</nav>
|
|
3231
|
+
|
|
3232
|
+
</li>
|
|
3233
|
+
|
|
3234
|
+
|
|
3235
|
+
|
|
3236
|
+
|
|
3073
3237
|
|
|
3074
3238
|
|
|
3075
3239
|
|
|
@@ -3288,10 +3452,10 @@
|
|
|
3288
3452
|
</li>
|
|
3289
3453
|
|
|
3290
3454
|
<li class="md-nav__item">
|
|
3291
|
-
<a href="#
|
|
3455
|
+
<a href="#name" class="md-nav__link">
|
|
3292
3456
|
<span class="md-ellipsis">
|
|
3293
3457
|
|
|
3294
|
-
|
|
3458
|
+
Name
|
|
3295
3459
|
|
|
3296
3460
|
</span>
|
|
3297
3461
|
</a>
|
|
@@ -3302,7 +3466,7 @@
|
|
|
3302
3466
|
<a href="#working-paths" class="md-nav__link">
|
|
3303
3467
|
<span class="md-ellipsis">
|
|
3304
3468
|
|
|
3305
|
-
Working
|
|
3469
|
+
Working paths
|
|
3306
3470
|
|
|
3307
3471
|
</span>
|
|
3308
3472
|
</a>
|
|
@@ -3313,7 +3477,7 @@
|
|
|
3313
3477
|
<a href="#fetching-dependencies" class="md-nav__link">
|
|
3314
3478
|
<span class="md-ellipsis">
|
|
3315
3479
|
|
|
3316
|
-
Fetching
|
|
3480
|
+
Fetching dependencies
|
|
3317
3481
|
|
|
3318
3482
|
</span>
|
|
3319
3483
|
</a>
|
|
@@ -3324,7 +3488,7 @@
|
|
|
3324
3488
|
<a href="#environment-variables" class="md-nav__link">
|
|
3325
3489
|
<span class="md-ellipsis">
|
|
3326
3490
|
|
|
3327
|
-
Environment
|
|
3491
|
+
Environment variables
|
|
3328
3492
|
|
|
3329
3493
|
</span>
|
|
3330
3494
|
</a>
|
|
@@ -3335,7 +3499,7 @@
|
|
|
3335
3499
|
<a href="#building-dependencies" class="md-nav__link">
|
|
3336
3500
|
<span class="md-ellipsis">
|
|
3337
3501
|
|
|
3338
|
-
Building
|
|
3502
|
+
Building dependencies
|
|
3339
3503
|
|
|
3340
3504
|
</span>
|
|
3341
3505
|
</a>
|
|
@@ -3374,6 +3538,17 @@
|
|
|
3374
3538
|
</span>
|
|
3375
3539
|
</a>
|
|
3376
3540
|
|
|
3541
|
+
</li>
|
|
3542
|
+
|
|
3543
|
+
<li class="md-nav__item">
|
|
3544
|
+
<a href="#executables" class="md-nav__link">
|
|
3545
|
+
<span class="md-ellipsis">
|
|
3546
|
+
|
|
3547
|
+
executables
|
|
3548
|
+
|
|
3549
|
+
</span>
|
|
3550
|
+
</a>
|
|
3551
|
+
|
|
3377
3552
|
</li>
|
|
3378
3553
|
|
|
3379
3554
|
<li class="md-nav__item">
|
|
@@ -3416,10 +3591,10 @@
|
|
|
3416
3591
|
<ul class="md-nav__list">
|
|
3417
3592
|
|
|
3418
3593
|
<li class="md-nav__item">
|
|
3419
|
-
<a href="#ceedling-
|
|
3594
|
+
<a href="#ceedling-dependenciesfetch" class="md-nav__link">
|
|
3420
3595
|
<span class="md-ellipsis">
|
|
3421
3596
|
|
|
3422
|
-
ceedling dependencies:
|
|
3597
|
+
ceedling dependencies:fetch
|
|
3423
3598
|
|
|
3424
3599
|
</span>
|
|
3425
3600
|
</a>
|
|
@@ -3427,10 +3602,10 @@
|
|
|
3427
3602
|
</li>
|
|
3428
3603
|
|
|
3429
3604
|
<li class="md-nav__item">
|
|
3430
|
-
<a href="#ceedling-
|
|
3605
|
+
<a href="#ceedling-dependenciesmake" class="md-nav__link">
|
|
3431
3606
|
<span class="md-ellipsis">
|
|
3432
3607
|
|
|
3433
|
-
ceedling dependencies:
|
|
3608
|
+
ceedling dependencies:make
|
|
3434
3609
|
|
|
3435
3610
|
</span>
|
|
3436
3611
|
</a>
|
|
@@ -3438,10 +3613,10 @@
|
|
|
3438
3613
|
</li>
|
|
3439
3614
|
|
|
3440
3615
|
<li class="md-nav__item">
|
|
3441
|
-
<a href="#ceedling-
|
|
3616
|
+
<a href="#ceedling-dependenciesclean" class="md-nav__link">
|
|
3442
3617
|
<span class="md-ellipsis">
|
|
3443
3618
|
|
|
3444
|
-
ceedling dependencies:
|
|
3619
|
+
ceedling dependencies:clean
|
|
3445
3620
|
|
|
3446
3621
|
</span>
|
|
3447
3622
|
</a>
|
|
@@ -3457,6 +3632,17 @@
|
|
|
3457
3632
|
</span>
|
|
3458
3633
|
</a>
|
|
3459
3634
|
|
|
3635
|
+
</li>
|
|
3636
|
+
|
|
3637
|
+
<li class="md-nav__item">
|
|
3638
|
+
<a href="#filesdependencies" class="md-nav__link">
|
|
3639
|
+
<span class="md-ellipsis">
|
|
3640
|
+
|
|
3641
|
+
files:dependencies
|
|
3642
|
+
|
|
3643
|
+
</span>
|
|
3644
|
+
</a>
|
|
3645
|
+
|
|
3460
3646
|
</li>
|
|
3461
3647
|
|
|
3462
3648
|
<li class="md-nav__item">
|
|
@@ -3490,11 +3676,94 @@
|
|
|
3490
3676
|
<a href="#custom-tools" class="md-nav__link">
|
|
3491
3677
|
<span class="md-ellipsis">
|
|
3492
3678
|
|
|
3493
|
-
Custom
|
|
3679
|
+
Custom tools
|
|
3680
|
+
|
|
3681
|
+
</span>
|
|
3682
|
+
</a>
|
|
3683
|
+
|
|
3684
|
+
</li>
|
|
3685
|
+
|
|
3686
|
+
<li class="md-nav__item">
|
|
3687
|
+
<a href="#cookbook" class="md-nav__link">
|
|
3688
|
+
<span class="md-ellipsis">
|
|
3689
|
+
|
|
3690
|
+
Cookbook
|
|
3691
|
+
|
|
3692
|
+
</span>
|
|
3693
|
+
</a>
|
|
3694
|
+
|
|
3695
|
+
<nav class="md-nav" aria-label="Cookbook">
|
|
3696
|
+
<ul class="md-nav__list">
|
|
3697
|
+
|
|
3698
|
+
<li class="md-nav__item">
|
|
3699
|
+
<a href="#a-tagged-release-from-git-built-with-make" class="md-nav__link">
|
|
3700
|
+
<span class="md-ellipsis">
|
|
3701
|
+
|
|
3702
|
+
A tagged release from git, built with Make
|
|
3494
3703
|
|
|
3495
3704
|
</span>
|
|
3496
3705
|
</a>
|
|
3497
3706
|
|
|
3707
|
+
</li>
|
|
3708
|
+
|
|
3709
|
+
<li class="md-nav__item">
|
|
3710
|
+
<a href="#a-vendor-archive-with-environment-settings" class="md-nav__link">
|
|
3711
|
+
<span class="md-ellipsis">
|
|
3712
|
+
|
|
3713
|
+
A vendor archive with environment settings
|
|
3714
|
+
|
|
3715
|
+
</span>
|
|
3716
|
+
</a>
|
|
3717
|
+
|
|
3718
|
+
</li>
|
|
3719
|
+
|
|
3720
|
+
<li class="md-nav__item">
|
|
3721
|
+
<a href="#a-sibling-ceedling-project" class="md-nav__link">
|
|
3722
|
+
<span class="md-ellipsis">
|
|
3723
|
+
|
|
3724
|
+
A sibling Ceedling project
|
|
3725
|
+
|
|
3726
|
+
</span>
|
|
3727
|
+
</a>
|
|
3728
|
+
|
|
3729
|
+
</li>
|
|
3730
|
+
|
|
3731
|
+
<li class="md-nav__item">
|
|
3732
|
+
<a href="#a-shared-library-deployed-beside-the-release" class="md-nav__link">
|
|
3733
|
+
<span class="md-ellipsis">
|
|
3734
|
+
|
|
3735
|
+
A shared library deployed beside the release
|
|
3736
|
+
|
|
3737
|
+
</span>
|
|
3738
|
+
</a>
|
|
3739
|
+
|
|
3740
|
+
</li>
|
|
3741
|
+
|
|
3742
|
+
<li class="md-nav__item">
|
|
3743
|
+
<a href="#build-tools-deployed-to-a-shared-folder" class="md-nav__link">
|
|
3744
|
+
<span class="md-ellipsis">
|
|
3745
|
+
|
|
3746
|
+
Build tools deployed to a shared folder
|
|
3747
|
+
|
|
3748
|
+
</span>
|
|
3749
|
+
</a>
|
|
3750
|
+
|
|
3751
|
+
</li>
|
|
3752
|
+
|
|
3753
|
+
<li class="md-nav__item">
|
|
3754
|
+
<a href="#a-small-library-compiled-by-ceedling" class="md-nav__link">
|
|
3755
|
+
<span class="md-ellipsis">
|
|
3756
|
+
|
|
3757
|
+
A small library compiled by Ceedling
|
|
3758
|
+
|
|
3759
|
+
</span>
|
|
3760
|
+
</a>
|
|
3761
|
+
|
|
3762
|
+
</li>
|
|
3763
|
+
|
|
3764
|
+
</ul>
|
|
3765
|
+
</nav>
|
|
3766
|
+
|
|
3498
3767
|
</li>
|
|
3499
3768
|
|
|
3500
3769
|
</ul>
|
|
@@ -3807,6 +4076,12 @@
|
|
|
3807
4076
|
|
|
3808
4077
|
|
|
3809
4078
|
|
|
4079
|
+
|
|
4080
|
+
|
|
4081
|
+
|
|
4082
|
+
|
|
4083
|
+
|
|
4084
|
+
|
|
3810
4085
|
|
|
3811
4086
|
|
|
3812
4087
|
|
|
@@ -3826,8 +4101,9 @@
|
|
|
3826
4101
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
3827
4102
|
|
|
3828
4103
|
|
|
3829
|
-
<
|
|
3830
|
-
|
|
4104
|
+
<div class="md-nav__link md-nav__container">
|
|
4105
|
+
<a href="../project/index.html" class="md-nav__link ">
|
|
4106
|
+
|
|
3831
4107
|
|
|
3832
4108
|
|
|
3833
4109
|
<span class="md-ellipsis">
|
|
@@ -3841,8 +4117,14 @@
|
|
|
3841
4117
|
|
|
3842
4118
|
|
|
3843
4119
|
|
|
3844
|
-
|
|
3845
|
-
|
|
4120
|
+
</a>
|
|
4121
|
+
|
|
4122
|
+
|
|
4123
|
+
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
4124
|
+
<span class="md-nav__icon md-icon"></span>
|
|
4125
|
+
</label>
|
|
4126
|
+
|
|
4127
|
+
</div>
|
|
3846
4128
|
|
|
3847
4129
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
3848
4130
|
<label class="md-nav__title" for="__nav_8">
|
|
@@ -3856,6 +4138,8 @@
|
|
|
3856
4138
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
3857
4139
|
|
|
3858
4140
|
|
|
4141
|
+
|
|
4142
|
+
|
|
3859
4143
|
|
|
3860
4144
|
|
|
3861
4145
|
|
|
@@ -3889,6 +4173,34 @@
|
|
|
3889
4173
|
|
|
3890
4174
|
|
|
3891
4175
|
|
|
4176
|
+
<li class="md-nav__item">
|
|
4177
|
+
<a href="../project/sbom.html" class="md-nav__link">
|
|
4178
|
+
|
|
4179
|
+
|
|
4180
|
+
|
|
4181
|
+
<span class="md-ellipsis">
|
|
4182
|
+
|
|
4183
|
+
|
|
4184
|
+
Software Bill of Materials
|
|
4185
|
+
|
|
4186
|
+
|
|
4187
|
+
|
|
4188
|
+
</span>
|
|
4189
|
+
|
|
4190
|
+
|
|
4191
|
+
|
|
4192
|
+
</a>
|
|
4193
|
+
</li>
|
|
4194
|
+
|
|
4195
|
+
|
|
4196
|
+
|
|
4197
|
+
|
|
4198
|
+
|
|
4199
|
+
|
|
4200
|
+
|
|
4201
|
+
|
|
4202
|
+
|
|
4203
|
+
|
|
3892
4204
|
<li class="md-nav__item">
|
|
3893
4205
|
<a href="../project/upgrade.html" class="md-nav__link">
|
|
3894
4206
|
|
|
@@ -3960,6 +4272,8 @@
|
|
|
3960
4272
|
|
|
3961
4273
|
|
|
3962
4274
|
|
|
4275
|
+
|
|
4276
|
+
|
|
3963
4277
|
|
|
3964
4278
|
|
|
3965
4279
|
|
|
@@ -4050,6 +4364,34 @@
|
|
|
4050
4364
|
|
|
4051
4365
|
|
|
4052
4366
|
|
|
4367
|
+
<li class="md-nav__item">
|
|
4368
|
+
<a href="../development/releases.html" class="md-nav__link">
|
|
4369
|
+
|
|
4370
|
+
|
|
4371
|
+
|
|
4372
|
+
<span class="md-ellipsis">
|
|
4373
|
+
|
|
4374
|
+
|
|
4375
|
+
Branching & Releases
|
|
4376
|
+
|
|
4377
|
+
|
|
4378
|
+
|
|
4379
|
+
</span>
|
|
4380
|
+
|
|
4381
|
+
|
|
4382
|
+
|
|
4383
|
+
</a>
|
|
4384
|
+
</li>
|
|
4385
|
+
|
|
4386
|
+
|
|
4387
|
+
|
|
4388
|
+
|
|
4389
|
+
|
|
4390
|
+
|
|
4391
|
+
|
|
4392
|
+
|
|
4393
|
+
|
|
4394
|
+
|
|
4053
4395
|
|
|
4054
4396
|
|
|
4055
4397
|
|
|
@@ -4076,7 +4418,7 @@
|
|
|
4076
4418
|
|
|
4077
4419
|
|
|
4078
4420
|
|
|
4079
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
4421
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10_4" >
|
|
4080
4422
|
|
|
4081
4423
|
|
|
4082
4424
|
<div class="md-nav__link md-nav__container">
|
|
@@ -4098,14 +4440,14 @@
|
|
|
4098
4440
|
</a>
|
|
4099
4441
|
|
|
4100
4442
|
|
|
4101
|
-
<label class="md-nav__link " for="
|
|
4443
|
+
<label class="md-nav__link " for="__nav_10_4" id="__nav_10_4_label" tabindex="0">
|
|
4102
4444
|
<span class="md-nav__icon md-icon"></span>
|
|
4103
4445
|
</label>
|
|
4104
4446
|
|
|
4105
4447
|
</div>
|
|
4106
4448
|
|
|
4107
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
4108
|
-
<label class="md-nav__title" for="
|
|
4449
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_10_4_label" aria-expanded="false">
|
|
4450
|
+
<label class="md-nav__title" for="__nav_10_4">
|
|
4109
4451
|
<span class="md-nav__icon md-icon"></span>
|
|
4110
4452
|
|
|
4111
4453
|
|
|
@@ -4254,10 +4596,10 @@
|
|
|
4254
4596
|
</li>
|
|
4255
4597
|
|
|
4256
4598
|
<li class="md-nav__item">
|
|
4257
|
-
<a href="#
|
|
4599
|
+
<a href="#name" class="md-nav__link">
|
|
4258
4600
|
<span class="md-ellipsis">
|
|
4259
4601
|
|
|
4260
|
-
|
|
4602
|
+
Name
|
|
4261
4603
|
|
|
4262
4604
|
</span>
|
|
4263
4605
|
</a>
|
|
@@ -4268,7 +4610,7 @@
|
|
|
4268
4610
|
<a href="#working-paths" class="md-nav__link">
|
|
4269
4611
|
<span class="md-ellipsis">
|
|
4270
4612
|
|
|
4271
|
-
Working
|
|
4613
|
+
Working paths
|
|
4272
4614
|
|
|
4273
4615
|
</span>
|
|
4274
4616
|
</a>
|
|
@@ -4279,7 +4621,7 @@
|
|
|
4279
4621
|
<a href="#fetching-dependencies" class="md-nav__link">
|
|
4280
4622
|
<span class="md-ellipsis">
|
|
4281
4623
|
|
|
4282
|
-
Fetching
|
|
4624
|
+
Fetching dependencies
|
|
4283
4625
|
|
|
4284
4626
|
</span>
|
|
4285
4627
|
</a>
|
|
@@ -4290,7 +4632,7 @@
|
|
|
4290
4632
|
<a href="#environment-variables" class="md-nav__link">
|
|
4291
4633
|
<span class="md-ellipsis">
|
|
4292
4634
|
|
|
4293
|
-
Environment
|
|
4635
|
+
Environment variables
|
|
4294
4636
|
|
|
4295
4637
|
</span>
|
|
4296
4638
|
</a>
|
|
@@ -4301,7 +4643,7 @@
|
|
|
4301
4643
|
<a href="#building-dependencies" class="md-nav__link">
|
|
4302
4644
|
<span class="md-ellipsis">
|
|
4303
4645
|
|
|
4304
|
-
Building
|
|
4646
|
+
Building dependencies
|
|
4305
4647
|
|
|
4306
4648
|
</span>
|
|
4307
4649
|
</a>
|
|
@@ -4340,6 +4682,17 @@
|
|
|
4340
4682
|
</span>
|
|
4341
4683
|
</a>
|
|
4342
4684
|
|
|
4685
|
+
</li>
|
|
4686
|
+
|
|
4687
|
+
<li class="md-nav__item">
|
|
4688
|
+
<a href="#executables" class="md-nav__link">
|
|
4689
|
+
<span class="md-ellipsis">
|
|
4690
|
+
|
|
4691
|
+
executables
|
|
4692
|
+
|
|
4693
|
+
</span>
|
|
4694
|
+
</a>
|
|
4695
|
+
|
|
4343
4696
|
</li>
|
|
4344
4697
|
|
|
4345
4698
|
<li class="md-nav__item">
|
|
@@ -4382,10 +4735,10 @@
|
|
|
4382
4735
|
<ul class="md-nav__list">
|
|
4383
4736
|
|
|
4384
4737
|
<li class="md-nav__item">
|
|
4385
|
-
<a href="#ceedling-
|
|
4738
|
+
<a href="#ceedling-dependenciesfetch" class="md-nav__link">
|
|
4386
4739
|
<span class="md-ellipsis">
|
|
4387
4740
|
|
|
4388
|
-
ceedling dependencies:
|
|
4741
|
+
ceedling dependencies:fetch
|
|
4389
4742
|
|
|
4390
4743
|
</span>
|
|
4391
4744
|
</a>
|
|
@@ -4393,10 +4746,10 @@
|
|
|
4393
4746
|
</li>
|
|
4394
4747
|
|
|
4395
4748
|
<li class="md-nav__item">
|
|
4396
|
-
<a href="#ceedling-
|
|
4749
|
+
<a href="#ceedling-dependenciesmake" class="md-nav__link">
|
|
4397
4750
|
<span class="md-ellipsis">
|
|
4398
4751
|
|
|
4399
|
-
ceedling dependencies:
|
|
4752
|
+
ceedling dependencies:make
|
|
4400
4753
|
|
|
4401
4754
|
</span>
|
|
4402
4755
|
</a>
|
|
@@ -4404,10 +4757,10 @@
|
|
|
4404
4757
|
</li>
|
|
4405
4758
|
|
|
4406
4759
|
<li class="md-nav__item">
|
|
4407
|
-
<a href="#ceedling-
|
|
4760
|
+
<a href="#ceedling-dependenciesclean" class="md-nav__link">
|
|
4408
4761
|
<span class="md-ellipsis">
|
|
4409
4762
|
|
|
4410
|
-
ceedling dependencies:
|
|
4763
|
+
ceedling dependencies:clean
|
|
4411
4764
|
|
|
4412
4765
|
</span>
|
|
4413
4766
|
</a>
|
|
@@ -4423,6 +4776,17 @@
|
|
|
4423
4776
|
</span>
|
|
4424
4777
|
</a>
|
|
4425
4778
|
|
|
4779
|
+
</li>
|
|
4780
|
+
|
|
4781
|
+
<li class="md-nav__item">
|
|
4782
|
+
<a href="#filesdependencies" class="md-nav__link">
|
|
4783
|
+
<span class="md-ellipsis">
|
|
4784
|
+
|
|
4785
|
+
files:dependencies
|
|
4786
|
+
|
|
4787
|
+
</span>
|
|
4788
|
+
</a>
|
|
4789
|
+
|
|
4426
4790
|
</li>
|
|
4427
4791
|
|
|
4428
4792
|
<li class="md-nav__item">
|
|
@@ -4456,11 +4820,94 @@
|
|
|
4456
4820
|
<a href="#custom-tools" class="md-nav__link">
|
|
4457
4821
|
<span class="md-ellipsis">
|
|
4458
4822
|
|
|
4459
|
-
Custom
|
|
4823
|
+
Custom tools
|
|
4460
4824
|
|
|
4461
4825
|
</span>
|
|
4462
4826
|
</a>
|
|
4463
4827
|
|
|
4828
|
+
</li>
|
|
4829
|
+
|
|
4830
|
+
<li class="md-nav__item">
|
|
4831
|
+
<a href="#cookbook" class="md-nav__link">
|
|
4832
|
+
<span class="md-ellipsis">
|
|
4833
|
+
|
|
4834
|
+
Cookbook
|
|
4835
|
+
|
|
4836
|
+
</span>
|
|
4837
|
+
</a>
|
|
4838
|
+
|
|
4839
|
+
<nav class="md-nav" aria-label="Cookbook">
|
|
4840
|
+
<ul class="md-nav__list">
|
|
4841
|
+
|
|
4842
|
+
<li class="md-nav__item">
|
|
4843
|
+
<a href="#a-tagged-release-from-git-built-with-make" class="md-nav__link">
|
|
4844
|
+
<span class="md-ellipsis">
|
|
4845
|
+
|
|
4846
|
+
A tagged release from git, built with Make
|
|
4847
|
+
|
|
4848
|
+
</span>
|
|
4849
|
+
</a>
|
|
4850
|
+
|
|
4851
|
+
</li>
|
|
4852
|
+
|
|
4853
|
+
<li class="md-nav__item">
|
|
4854
|
+
<a href="#a-vendor-archive-with-environment-settings" class="md-nav__link">
|
|
4855
|
+
<span class="md-ellipsis">
|
|
4856
|
+
|
|
4857
|
+
A vendor archive with environment settings
|
|
4858
|
+
|
|
4859
|
+
</span>
|
|
4860
|
+
</a>
|
|
4861
|
+
|
|
4862
|
+
</li>
|
|
4863
|
+
|
|
4864
|
+
<li class="md-nav__item">
|
|
4865
|
+
<a href="#a-sibling-ceedling-project" class="md-nav__link">
|
|
4866
|
+
<span class="md-ellipsis">
|
|
4867
|
+
|
|
4868
|
+
A sibling Ceedling project
|
|
4869
|
+
|
|
4870
|
+
</span>
|
|
4871
|
+
</a>
|
|
4872
|
+
|
|
4873
|
+
</li>
|
|
4874
|
+
|
|
4875
|
+
<li class="md-nav__item">
|
|
4876
|
+
<a href="#a-shared-library-deployed-beside-the-release" class="md-nav__link">
|
|
4877
|
+
<span class="md-ellipsis">
|
|
4878
|
+
|
|
4879
|
+
A shared library deployed beside the release
|
|
4880
|
+
|
|
4881
|
+
</span>
|
|
4882
|
+
</a>
|
|
4883
|
+
|
|
4884
|
+
</li>
|
|
4885
|
+
|
|
4886
|
+
<li class="md-nav__item">
|
|
4887
|
+
<a href="#build-tools-deployed-to-a-shared-folder" class="md-nav__link">
|
|
4888
|
+
<span class="md-ellipsis">
|
|
4889
|
+
|
|
4890
|
+
Build tools deployed to a shared folder
|
|
4891
|
+
|
|
4892
|
+
</span>
|
|
4893
|
+
</a>
|
|
4894
|
+
|
|
4895
|
+
</li>
|
|
4896
|
+
|
|
4897
|
+
<li class="md-nav__item">
|
|
4898
|
+
<a href="#a-small-library-compiled-by-ceedling" class="md-nav__link">
|
|
4899
|
+
<span class="md-ellipsis">
|
|
4900
|
+
|
|
4901
|
+
A small library compiled by Ceedling
|
|
4902
|
+
|
|
4903
|
+
</span>
|
|
4904
|
+
</a>
|
|
4905
|
+
|
|
4906
|
+
</li>
|
|
4907
|
+
|
|
4908
|
+
</ul>
|
|
4909
|
+
</nav>
|
|
4910
|
+
|
|
4464
4911
|
</li>
|
|
4465
4912
|
|
|
4466
4913
|
</ul>
|
|
@@ -4532,29 +4979,24 @@
|
|
|
4532
4979
|
|
|
4533
4980
|
|
|
4534
4981
|
<h1 id="dependencies">Dependencies</h1>
|
|
4535
|
-
<p>
|
|
4536
|
-
be built completely free of other
|
|
4537
|
-
standard internal libraries
|
|
4538
|
-
|
|
4539
|
-
<p>
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
<p>Most
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
matter. Ceedling has you covered. Just specify what should be called, and Ceedling
|
|
4549
|
-
will make it happen whenever it notices that the output artifacts are missing.</p>
|
|
4550
|
-
<p>Output artifacts? Sure! Things like static and dynamic libraries, or folders
|
|
4551
|
-
containing header files that might want to be included by your release project.</p>
|
|
4982
|
+
<p>This plugin fetches, builds, and links the libraries and modules your project depends
|
|
4983
|
+
on. It’s rare for an embedded project to be built completely free of other code. Some of
|
|
4984
|
+
it may be standard internal libraries, and some may be third-party libraries. Either way,
|
|
4985
|
+
it becomes part of the project’s ecosystem.</p>
|
|
4986
|
+
<p>For each dependency, you tell this plugin where to fetch it from, how to build it, and what
|
|
4987
|
+
it produces. Ceedling fetches and builds it whenever those outputs are missing, then adds
|
|
4988
|
+
its headers, sources, and libraries to your test and release builds.</p>
|
|
4989
|
+
<p>Most third-party libraries already have a build process of their own. Make? CMake? A
|
|
4990
|
+
custom series of scripts that only a mad scientist could possibly understand? No matter.
|
|
4991
|
+
You list the commands, and Ceedling runs them.</p>
|
|
4992
|
+
<p>See the <a href="#cookbook"><em>Cookbook</em> section</a> for real-world scenarios along with the example
|
|
4993
|
+
<code>:dependencies</code> configurations and <code>ceedling dependencies:...</code> command lines to make
|
|
4994
|
+
use of this plugin.</p>
|
|
4552
4995
|
<h2 id="so-how-does-all-this-magic-work">So how does all this magic work?</h2>
|
|
4553
|
-
<p>
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
it! In the end, it'll look something like this:</p>
|
|
4996
|
+
<p>Enable the plugin in your project configuration, then list your dependencies under
|
|
4997
|
+
<code>:dependencies</code> ↳ <code>:deps</code>. Each dependency has a series of fields, most of them optional.
|
|
4998
|
+
If you don’t need a feature, leave its field out. In the end, it looks something like
|
|
4999
|
+
this:</p>
|
|
4558
5000
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">:plugins</span><span class="p">:</span>
|
|
4559
5001
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nt">:enabled</span><span class="p">:</span>
|
|
4560
5002
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">dependencies</span>
|
|
@@ -4563,189 +5005,266 @@ it! In the end, it'll look something like this:</p>
|
|
|
4563
5005
|
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
4564
5006
|
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">WolfSSL</span>
|
|
4565
5007
|
<a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
4566
|
-
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span><span class="w">
|
|
4567
|
-
<a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w">
|
|
4568
|
-
<a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span><span class="w">
|
|
4569
|
-
<a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a><span class="w"> </span><span class="nt">:
|
|
4570
|
-
<a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a><span class="w">
|
|
4571
|
-
<a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a><span class="w">
|
|
4572
|
-
<a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a><span class="w"> </span><span class="nt">:
|
|
4573
|
-
<a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a><span class="w">
|
|
4574
|
-
<a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a><span class="w">
|
|
4575
|
-
<a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a><span class="w">
|
|
4576
|
-
<a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a><span class="w">
|
|
4577
|
-
<a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="
|
|
4578
|
-
<a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="
|
|
4579
|
-
<a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">make</span>
|
|
4580
|
-
<a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a><span class="w">
|
|
4581
|
-
<a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a><span class="w">
|
|
4582
|
-
<a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a><span class="w">
|
|
4583
|
-
<a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><span class="w">
|
|
4584
|
-
<a id="__codelineno-0-27" name="__codelineno-0-27" href="#__codelineno-0-27"></a><span class="w">
|
|
4585
|
-
<a id="__codelineno-0-28" name="__codelineno-0-28" href="#__codelineno-0-28"></a><span class="w">
|
|
4586
|
-
<a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a><span class="w">
|
|
4587
|
-
<a id="__codelineno-0-30" name="__codelineno-0-30" href="#__codelineno-0-30"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">include/**</span>
|
|
5008
|
+
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/wolfssl/source</span>
|
|
5009
|
+
<a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/wolfssl/source</span>
|
|
5010
|
+
<a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/wolfssl/build</span>
|
|
5011
|
+
<a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a><span class="w"> </span><span class="nt">:artifact</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/wolfssl/install</span>
|
|
5012
|
+
<a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5013
|
+
<a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:zip</span>
|
|
5014
|
+
<a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">\\shared_drive\third_party_libs\wolfssl\wolfssl-4.2.0.zip</span>
|
|
5015
|
+
<a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a><span class="w"> </span><span class="nt">:environment</span><span class="p">:</span>
|
|
5016
|
+
<a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CFLAGS+=-DWOLFSSL_DTLS_ALLOW_FUTURE</span>
|
|
5017
|
+
<a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5018
|
+
<a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">autoreconf -i</span>
|
|
5019
|
+
<a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./configure --enable-tls13 --enable-singlethreaded</span>
|
|
5020
|
+
<a id="__codelineno-0-21" name="__codelineno-0-21" href="#__codelineno-0-21"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">make</span>
|
|
5021
|
+
<a id="__codelineno-0-22" name="__codelineno-0-22" href="#__codelineno-0-22"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">make install</span>
|
|
5022
|
+
<a id="__codelineno-0-23" name="__codelineno-0-23" href="#__codelineno-0-23"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5023
|
+
<a id="__codelineno-0-24" name="__codelineno-0-24" href="#__codelineno-0-24"></a><span class="w"> </span><span class="nt">:static_libraries</span><span class="p">:</span>
|
|
5024
|
+
<a id="__codelineno-0-25" name="__codelineno-0-25" href="#__codelineno-0-25"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lib/wolfssl.a</span>
|
|
5025
|
+
<a id="__codelineno-0-26" name="__codelineno-0-26" href="#__codelineno-0-26"></a><span class="w"> </span><span class="nt">:dynamic_libraries</span><span class="p">:</span>
|
|
5026
|
+
<a id="__codelineno-0-27" name="__codelineno-0-27" href="#__codelineno-0-27"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lib/wolfssl.so</span>
|
|
5027
|
+
<a id="__codelineno-0-28" name="__codelineno-0-28" href="#__codelineno-0-28"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5028
|
+
<a id="__codelineno-0-29" name="__codelineno-0-29" href="#__codelineno-0-29"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">include/**</span>
|
|
4588
5029
|
</code></pre></div>
|
|
4589
|
-
<h2 id="
|
|
4590
|
-
<p>
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
<
|
|
4597
|
-
|
|
4598
|
-
<
|
|
4599
|
-
<
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
<
|
|
4609
|
-
<
|
|
4610
|
-
<
|
|
4611
|
-
<
|
|
4612
|
-
|
|
4613
|
-
<
|
|
4614
|
-
<
|
|
4615
|
-
</
|
|
4616
|
-
</
|
|
4617
|
-
</
|
|
4618
|
-
<
|
|
4619
|
-
<code>:
|
|
4620
|
-
|
|
4621
|
-
<
|
|
4622
|
-
|
|
4623
|
-
<
|
|
4624
|
-
<
|
|
4625
|
-
|
|
4626
|
-
|
|
5030
|
+
<h2 id="name">Name</h2>
|
|
5031
|
+
<p>As a YAML array of objects, each dependency begins with a dash, followed by its fields.
|
|
5032
|
+
By convention, <code>:name</code> comes first, which makes each dependency easy to spot.</p>
|
|
5033
|
+
<p>The name appears in Ceedling’s progress messages. Its letters, digits, and underscores
|
|
5034
|
+
also name the dependency’s own tasks, so <code>Worker Bees</code> gets <code>dependencies:make:WorkerBees</code>.
|
|
5035
|
+
A name therefore needs at least one letter or digit. Two dependencies whose names reduce
|
|
5036
|
+
to the same task name stop the build with an error.</p>
|
|
5037
|
+
<h2 id="working-paths">Working paths</h2>
|
|
5038
|
+
<p>A dependency’s paths are collected under its <code>:paths</code>. Each path you leave out falls back
|
|
5039
|
+
to another, and with none configured every path is <code>dependencies/<task name></code>.</p>
|
|
5040
|
+
<table>
|
|
5041
|
+
<thead>
|
|
5042
|
+
<tr>
|
|
5043
|
+
<th>Path</th>
|
|
5044
|
+
<th>Purpose</th>
|
|
5045
|
+
<th>When left out</th>
|
|
5046
|
+
</tr>
|
|
5047
|
+
</thead>
|
|
5048
|
+
<tbody>
|
|
5049
|
+
<tr>
|
|
5050
|
+
<td><code>:fetch</code></td>
|
|
5051
|
+
<td>Where the dependency is fetched to</td>
|
|
5052
|
+
<td><code>:source</code></td>
|
|
5053
|
+
</tr>
|
|
5054
|
+
<tr>
|
|
5055
|
+
<td><code>:source</code></td>
|
|
5056
|
+
<td>Where build commands run from</td>
|
|
5057
|
+
<td><code>:fetch</code></td>
|
|
5058
|
+
</tr>
|
|
5059
|
+
<tr>
|
|
5060
|
+
<td><code>:build</code></td>
|
|
5061
|
+
<td>Where the build places its files</td>
|
|
5062
|
+
<td><code>:source</code>, then <code>:fetch</code></td>
|
|
5063
|
+
</tr>
|
|
5064
|
+
<tr>
|
|
5065
|
+
<td><code>:artifact</code></td>
|
|
5066
|
+
<td>Where the outputs listed under <code>:artifacts</code> are found</td>
|
|
5067
|
+
<td><code>:build</code></td>
|
|
5068
|
+
</tr>
|
|
5069
|
+
<tr>
|
|
5070
|
+
<td><code>:deploy</code></td>
|
|
5071
|
+
<td>Where <code>dependencies:deploy</code> copies dynamic libraries and executables</td>
|
|
5072
|
+
<td>Your release executable’s folder</td>
|
|
5073
|
+
</tr>
|
|
5074
|
+
</tbody>
|
|
5075
|
+
</table>
|
|
5076
|
+
<p>Cleaning a dependency never removes its <code>:deploy</code> path, which holds copies alongside your
|
|
5077
|
+
project’s own files.</p>
|
|
5078
|
+
<p>If the dependency is part of your repository (its fetch <code>:method</code> is <code>:none</code>), <code>:source</code>
|
|
5079
|
+
is where its code already lives. Paths may lie outside your project, such as
|
|
5080
|
+
<code>../shared/lib</code>, and headers found there work in test and release builds alike.</p>
|
|
5081
|
+
<p>Every artifact is relative to the <code>:artifact</code> path. With several include directories,
|
|
5082
|
+
choose the highest level and list the rest relative to it.</p>
|
|
5083
|
+
<h2 id="fetching-dependencies">Fetching dependencies</h2>
|
|
5084
|
+
<p>The plugin fetches a dependency with one of several common methods, configured under its
|
|
5085
|
+
<code>:fetch</code>:</p>
|
|
4627
5086
|
<ul>
|
|
4628
|
-
<li><code>:method</code
|
|
4629
|
-
<li><code>:none</code
|
|
4630
|
-
<li><code>:zip</code
|
|
4631
|
-
<li><code>:
|
|
4632
|
-
<li><code>:git</code
|
|
4633
|
-
<li><code>:svn</code
|
|
4634
|
-
<li><code>:custom</code
|
|
5087
|
+
<li><code>:method</code>, the way this dependency is fetched:<ul>
|
|
5088
|
+
<li><code>:none</code>: the code is already part of the project, so nothing is fetched.</li>
|
|
5089
|
+
<li><code>:zip</code>: unpack a zip archive into the fetch path.</li>
|
|
5090
|
+
<li><code>:tar_gzip</code>: unpack a gzipped tar archive into the fetch path.</li>
|
|
5091
|
+
<li><code>:git</code>: clone a git repository into the fetch path.</li>
|
|
5092
|
+
<li><code>:svn</code>: check out a Subversion repository into the fetch path.</li>
|
|
5093
|
+
<li><code>:custom</code>: run commands of your own in the fetch path.</li>
|
|
4635
5094
|
</ul>
|
|
4636
5095
|
</li>
|
|
4637
|
-
<li><code>:source</code
|
|
4638
|
-
<
|
|
4639
|
-
<li><code>:
|
|
4640
|
-
|
|
4641
|
-
<li><code>:
|
|
4642
|
-
|
|
4643
|
-
<
|
|
4644
|
-
<
|
|
4645
|
-
<li>The <code>:source</code> location for fetching a <code>:zip</code> or <code>:gzip</code> file is relative to the <code>:paths</code> ↳ <code>:source</code>
|
|
4646
|
-
folder. </li>
|
|
5096
|
+
<li><code>:source</code>: the archive or repository to fetch from (<code>:zip</code>, <code>:tar_gzip</code>, <code>:git</code>, and
|
|
5097
|
+
<code>:svn</code>, all of which require it).</li>
|
|
5098
|
+
<li><code>:tag</code> or <code>:branch</code>: the tag or branch to clone (<code>:git</code> only, optional). A tag wins
|
|
5099
|
+
when both are given.</li>
|
|
5100
|
+
<li><code>:hash</code>: the commit to check out (<code>:git</code> only, optional). It makes a full clone rather
|
|
5101
|
+
than a shallow one, so the commit is available.</li>
|
|
5102
|
+
<li><code>:revision</code>: the revision to check out (<code>:svn</code> only, optional).</li>
|
|
5103
|
+
<li><code>:executable</code>: the list of commands to run (<code>:custom</code> only, required).</li>
|
|
4647
5104
|
</ul>
|
|
4648
|
-
<
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
The
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
<
|
|
5105
|
+
<p>Fetching runs from inside the fetch path, so an archive <code>:source</code> given as a relative
|
|
5106
|
+
path is relative to the fetch path.</p>
|
|
5107
|
+
<p>A dependency is fetched once. Once its fetch path holds files, fetching it again, or
|
|
5108
|
+
building it after a fetch, leaves those files alone. To fetch a fresh copy, clean the
|
|
5109
|
+
dependency first with <code>dependencies:clean</code>.</p>
|
|
5110
|
+
<p>The <code>:zip</code>, <code>:tar_gzip</code>, <code>:git</code>, and <code>:svn</code> methods use the plugin’s
|
|
5111
|
+
<a href="#custom-tools">tools</a> (<code>unzip</code>, <code>tar</code>, <code>git</code>, and <code>svn</code>). Each is checked just before a
|
|
5112
|
+
dependency fetches with it, so a missing tool stops only that fetch, and a machine that
|
|
5113
|
+
never fetches, such as a CI agent working from fetched dependencies, needs none of them.</p>
|
|
5114
|
+
<h2 id="environment-variables">Environment variables</h2>
|
|
5115
|
+
<p>Many build systems take settings from environment variables. A dependency’s
|
|
5116
|
+
<code>:environment</code> sets variables while that dependency’s fetch and build commands run, then
|
|
5117
|
+
restores them, so they never reach another dependency or Ceedling itself.</p>
|
|
5118
|
+
<p>Ceedling’s project configuration also has a top-level <code>:environment</code> section, which
|
|
5119
|
+
applies to all of Ceedling. The two sections differ in format and abilities.</p>
|
|
5120
|
+
<p>Each entry sets a variable, adds to it, or removes from it:</p>
|
|
4658
5121
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
4659
|
-
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt"
|
|
4660
|
-
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="nt">:
|
|
4661
|
-
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="
|
|
4662
|
-
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w">
|
|
4663
|
-
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w">
|
|
5122
|
+
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
5123
|
+
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Engine</span>
|
|
5124
|
+
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="nt">:environment</span><span class="p">:</span>
|
|
5125
|
+
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ARCHITECTURE=ARM9</span>
|
|
5126
|
+
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CFLAGS+= -DADD_AWESOMENESS</span>
|
|
5127
|
+
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CFLAGS-= -DWASTE</span>
|
|
4664
5128
|
</code></pre></div>
|
|
4665
|
-
<p>
|
|
4666
|
-
<code
|
|
4667
|
-
<
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
<p>
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
<
|
|
4679
|
-
|
|
4680
|
-
|
|
4681
|
-
|
|
4682
|
-
<p>The steps are specified as an array of strings. Ceedling will execute those steps in the order
|
|
4683
|
-
specified, moving from step to step unless an error is encountered. By the end of the process,
|
|
4684
|
-
the artifacts should have been created by your process... otherwise an error will be produced.</p>
|
|
5129
|
+
<p><code>ARCHITECTURE=ARM9</code> sets <code>ARCHITECTURE</code> to <code>ARM9</code>. <code>+=</code> appends to a variable, here
|
|
5130
|
+
adding <code>-DADD_AWESOMENESS</code> to <code>CFLAGS</code>, and <code>-=</code> removes text from it, here removing
|
|
5131
|
+
<code>-DWASTE</code>. An entry in any other form stops the build with an error.</p>
|
|
5132
|
+
<p>When appending, Ceedling cannot know which delimiter you expect, so include it yourself:
|
|
5133
|
+
a space for compiler flags, or <code>:</code> (<code>;</code> on Windows) for <code>PATH</code>. Text after <code>+=</code> and <code>-=</code>
|
|
5134
|
+
is used exactly as written, leading space included, while a value after <code>=</code> loses its
|
|
5135
|
+
leading spaces. Removing text is case
|
|
5136
|
+
sensitive and removes only an exact match. Appending to or removing from a variable that
|
|
5137
|
+
is not set leaves it set, empty if nothing was appended.</p>
|
|
5138
|
+
<h2 id="building-dependencies">Building dependencies</h2>
|
|
5139
|
+
<p>The heart of the plugin is the build process you specify for each dependency under
|
|
5140
|
+
<code>:build</code>, a list of steps Ceedling runs in order. Any tools those steps use must be
|
|
5141
|
+
installed. A failing step stops the build with its error.</p>
|
|
5142
|
+
<p>Each step is a command line, which runs from the dependency’s <code>:source</code> path exactly as
|
|
5143
|
+
written, quoting and spacing included. The source, build, and artifact paths are created
|
|
5144
|
+
first if they do not exist. A step can instead be <code>:build_lib</code>, which builds a static
|
|
5145
|
+
library with Ceedling’s own compiler and archiver (see <a href="#custom-tools">Custom tools</a>).</p>
|
|
4685
5146
|
<h2 id="artifacts">Artifacts</h2>
|
|
4686
|
-
<p>
|
|
4687
|
-
may have
|
|
4688
|
-
|
|
4689
|
-
Ceedling understands it needs to act on.</p>
|
|
5147
|
+
<p>Artifacts are the outputs of the build process, listed under <code>:artifacts</code>. A dependency
|
|
5148
|
+
may have any of them or none. Your dependency’s build process may produce many other
|
|
5149
|
+
files, but these are the ones Ceedling acts on.</p>
|
|
4690
5150
|
<h3 id="static_libraries"><code>static_libraries</code></h3>
|
|
4691
|
-
<p>
|
|
4692
|
-
|
|
4693
|
-
and will be linked with the rest of your code to produce the final release.</p>
|
|
4694
|
-
<p>If any of these libraries don't exist, Ceedling will trigger your build process in order for it
|
|
4695
|
-
to produce them.</p>
|
|
5151
|
+
<p>Static libraries Ceedling links into your test and release builds. If one does not
|
|
5152
|
+
exist, Ceedling fetches and builds the dependency to produce it.</p>
|
|
4696
5153
|
<h3 id="dynamic_libraries"><code>dynamic_libraries</code></h3>
|
|
4697
|
-
<p>
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
5154
|
+
<p>Dynamic libraries Ceedling links into your test and release builds. If one does not
|
|
5155
|
+
exist, Ceedling fetches and builds the dependency to produce it. <code>dependencies:deploy</code>
|
|
5156
|
+
copies them to the <a href="#working-paths"><code>:deploy</code> path</a>, by default beside your release
|
|
5157
|
+
executable, where it loads them at run time.</p>
|
|
5158
|
+
<h3 id="executables"><code>executables</code></h3>
|
|
5159
|
+
<p>Programs a dependency builds, such as a code generator, a flashing utility, or a tool
|
|
5160
|
+
your release ships alongside it. Ceedling never links them. A release build, or
|
|
5161
|
+
<code>dependencies:make</code>, fetches and builds the dependency when one does not exist, while
|
|
5162
|
+
test builds do not wait on them. <code>dependencies:deploy</code> copies them, with any dynamic
|
|
5163
|
+
libraries, to the <a href="#working-paths"><code>:deploy</code> path</a>.</p>
|
|
5164
|
+
<p>On Windows, list each executable with its <code>.exe</code> extension.</p>
|
|
4702
5165
|
<h3 id="includes"><code>includes</code></h3>
|
|
4703
|
-
<p>
|
|
4704
|
-
your
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
|
|
5166
|
+
<p>The public headers a dependency provides. Ceedling adds their directories to its search
|
|
5167
|
+
paths, so your code can include them and your tests can mock them. An entry may be:</p>
|
|
5168
|
+
<ul>
|
|
5169
|
+
<li>a header file, such as <code>include/wolfssl.h</code>, which adds that file’s directory;</li>
|
|
5170
|
+
<li>a directory, such as <code>include</code>;</li>
|
|
5171
|
+
<li>a glob, such as <code>include/**</code>, which adds every directory it finds.</li>
|
|
5172
|
+
</ul>
|
|
4709
5173
|
<h3 id="source"><code>source</code></h3>
|
|
4710
|
-
<p>
|
|
4711
|
-
|
|
4712
|
-
these files to be used while building your release code.</p>
|
|
5174
|
+
<p>Directories of C files a dependency produces, such as generated code. Ceedling adds the
|
|
5175
|
+
directories to its search paths and their C files to your release build.</p>
|
|
4713
5176
|
<h2 id="tasks">Tasks</h2>
|
|
4714
|
-
<p>Once configured
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
<
|
|
4718
|
-
<p>This can be issued in order to completely remove the dependency from its source path. On the
|
|
4719
|
-
next build, it will be refetched and rebuilt from scratch. This can also apply to a particular
|
|
4720
|
-
dependency. For example, by specifying <code>dependencies:clean:DepName</code>.</p>
|
|
5177
|
+
<p>Once configured, the plugin works on its own: a release or test build fetches and builds
|
|
5178
|
+
any dependency whose outputs are missing. These tasks let you act on dependencies
|
|
5179
|
+
directly. Each also works on a single dependency by its task name, such as
|
|
5180
|
+
<code>dependencies:make:WorkerBees</code>.</p>
|
|
4721
5181
|
<h3 id="ceedling-dependenciesfetch"><code>ceedling dependencies:fetch</code></h3>
|
|
4722
|
-
<p>
|
|
4723
|
-
|
|
4724
|
-
dependency. For example, by specifying <code>dependencies:fetch:DepName</code>.</p>
|
|
5182
|
+
<p>Fetches each dependency that is not fetched yet. Dependencies without fetch settings, or
|
|
5183
|
+
fetched by <code>:none</code>, are left alone.</p>
|
|
4725
5184
|
<h3 id="ceedling-dependenciesmake"><code>ceedling dependencies:make</code></h3>
|
|
4726
|
-
<p>
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
5185
|
+
<p>Fetches each dependency if needed, then builds any whose outputs are missing. This
|
|
5186
|
+
happens automatically in a release build, but is handy while you are configuring a
|
|
5187
|
+
dependency.</p>
|
|
5188
|
+
<h3 id="ceedling-dependenciesclean"><code>ceedling dependencies:clean</code></h3>
|
|
5189
|
+
<p>Removes a fetched dependency entirely, every one of its working paths, so the next build
|
|
5190
|
+
fetches and builds it from scratch. A dependency fetched by <code>:none</code> keeps its source and
|
|
5191
|
+
loses only its artifact path. A dependency without fetch settings is left alone.</p>
|
|
4730
5192
|
<h3 id="ceedling-dependenciesdeploy"><code>ceedling dependencies:deploy</code></h3>
|
|
4731
|
-
<p>
|
|
4732
|
-
|
|
5193
|
+
<p>Copies every dynamic library and executable of each dependency to its
|
|
5194
|
+
<a href="#working-paths"><code>:deploy</code> path</a>, by default beside your release executable. An artifact
|
|
5195
|
+
that has not been built is built first.</p>
|
|
5196
|
+
<h3 id="filesdependencies"><code>files:dependencies</code></h3>
|
|
5197
|
+
<p>Lists every static library, dynamic library, and executable your dependencies provide.</p>
|
|
4733
5198
|
<h3 id="pathsinclude"><code>paths:include</code></h3>
|
|
4734
|
-
<p>
|
|
4735
|
-
request, it will list all the header file paths that it’s found, including those produced by
|
|
4736
|
-
dependencies.</p>
|
|
5199
|
+
<p>Lists every header search path Ceedling uses, including those from dependencies.</p>
|
|
4737
5200
|
<h3 id="filesinclude"><code>files:include</code></h3>
|
|
4738
|
-
<p>
|
|
4739
|
-
|
|
4740
|
-
<
|
|
4741
|
-
<p>
|
|
5201
|
+
<p>Lists every header file Ceedling has found, including those from dependencies.</p>
|
|
5202
|
+
<h2 id="custom-tools">Custom tools</h2>
|
|
5203
|
+
<p>The plugin’s tools are configured like any other Ceedling tool, and you can replace them
|
|
5204
|
+
under <code>:tools</code>:</p>
|
|
5205
|
+
<table>
|
|
5206
|
+
<thead>
|
|
5207
|
+
<tr>
|
|
5208
|
+
<th>Tool</th>
|
|
5209
|
+
<th>Default</th>
|
|
5210
|
+
<th>Used for</th>
|
|
5211
|
+
</tr>
|
|
5212
|
+
</thead>
|
|
5213
|
+
<tbody>
|
|
5214
|
+
<tr>
|
|
5215
|
+
<td><code>:deps_compiler</code></td>
|
|
5216
|
+
<td><code>gcc</code></td>
|
|
5217
|
+
<td><code>:build_lib</code> compiling</td>
|
|
5218
|
+
</tr>
|
|
5219
|
+
<tr>
|
|
5220
|
+
<td><code>:deps_assembler</code></td>
|
|
5221
|
+
<td>none</td>
|
|
5222
|
+
<td><code>:build_lib</code> assembling, needed only for assembly files</td>
|
|
5223
|
+
</tr>
|
|
5224
|
+
<tr>
|
|
5225
|
+
<td><code>:deps_linker</code></td>
|
|
5226
|
+
<td><code>ar</code></td>
|
|
5227
|
+
<td><code>:build_lib</code> archiving</td>
|
|
5228
|
+
</tr>
|
|
5229
|
+
<tr>
|
|
5230
|
+
<td><code>:deps_zip</code></td>
|
|
5231
|
+
<td><code>unzip</code></td>
|
|
5232
|
+
<td><code>:zip</code> fetching</td>
|
|
5233
|
+
</tr>
|
|
5234
|
+
<tr>
|
|
5235
|
+
<td><code>:deps_targzip</code></td>
|
|
5236
|
+
<td><code>tar</code></td>
|
|
5237
|
+
<td><code>:tar_gzip</code> fetching</td>
|
|
5238
|
+
</tr>
|
|
5239
|
+
<tr>
|
|
5240
|
+
<td><code>:deps_git_clone</code>, <code>:deps_git_checkout</code></td>
|
|
5241
|
+
<td><code>git</code></td>
|
|
5242
|
+
<td><code>:git</code> fetching</td>
|
|
5243
|
+
</tr>
|
|
5244
|
+
<tr>
|
|
5245
|
+
<td><code>:deps_subversion</code></td>
|
|
5246
|
+
<td><code>svn</code></td>
|
|
5247
|
+
<td><code>:svn</code> fetching</td>
|
|
5248
|
+
</tr>
|
|
5249
|
+
</tbody>
|
|
5250
|
+
</table>
|
|
5251
|
+
<p>The compiler, assembler, and archiver are checked just before <code>:build_lib</code> uses them, so
|
|
5252
|
+
a project without <code>:build_lib</code> needs none of them.</p>
|
|
5253
|
+
<p><code>:build_lib</code> compiles every C file anywhere under the dependency’s <code>:source</code> path, with
|
|
5254
|
+
every directory holding a header there as a search path. It then archives the objects
|
|
5255
|
+
into the first library under <code>:artifacts</code> ↳ <code>:static_libraries</code>, built in the <code>:build</code>
|
|
5256
|
+
path and copied to the <code>:artifact</code> path when the two differ. A dependency’s own
|
|
5257
|
+
<code>:defines</code> and <code>:flags</code> apply to its compilation, and <code>:libraries</code> and <code>:libpaths</code> to its
|
|
5258
|
+
archiving.</p>
|
|
5259
|
+
<p>The compiler receives its search paths as <code>${5}</code> and its defines as <code>${6}</code>, as Ceedling’s
|
|
5260
|
+
own compilers do:</p>
|
|
4742
5261
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">:tools</span><span class="p">:</span>
|
|
4743
5262
|
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="nt">:deps_compiler</span><span class="p">:</span>
|
|
4744
5263
|
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nt">:executable</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gcc</span>
|
|
4745
5264
|
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">:arguments</span><span class="p">:</span>
|
|
4746
5265
|
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-g</span>
|
|
4747
|
-
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-I"
|
|
4748
|
-
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="
|
|
5266
|
+
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-I"${5}"</span>
|
|
5267
|
+
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-D${6}</span>
|
|
4749
5268
|
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-c "${1}"</span>
|
|
4750
5269
|
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-o "${2}"</span>
|
|
4751
5270
|
<a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="nt">:deps_linker</span><span class="p">:</span>
|
|
@@ -4755,30 +5274,203 @@ Ceedling has found, including those belonging to your dependencies.</p>
|
|
|
4755
5274
|
<a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${2}</span>
|
|
4756
5275
|
<a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${1}</span>
|
|
4757
5276
|
</code></pre></div>
|
|
4758
|
-
<p>
|
|
4759
|
-
of a series of strings to explain all the steps. Ceedling will understand that it should build all the specified
|
|
4760
|
-
source and/or assembly files into the specified library:</p>
|
|
5277
|
+
<p>A dependency built with <code>:build_lib</code> looks like this:</p>
|
|
4761
5278
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
4762
5279
|
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
4763
5280
|
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CaptainCrunch</span>
|
|
4764
5281
|
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
4765
|
-
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="nt">:
|
|
4766
|
-
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="nt">:
|
|
4767
|
-
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="nt">:
|
|
4768
|
-
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="w">
|
|
4769
|
-
<a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="w">
|
|
4770
|
-
<a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="w">
|
|
4771
|
-
<a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a><span class="w">
|
|
4772
|
-
<a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a><span class="w"> </span><span class="nt">:
|
|
4773
|
-
<a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a><span class="w"> </span><span class="
|
|
4774
|
-
<a id="__codelineno-3-14" name="__codelineno-3-14" href="#__codelineno-3-14"></a><span class="w">
|
|
4775
|
-
<a id="__codelineno-3-15" name="__codelineno-3-15" href="#__codelineno-3-15"></a><span class="w"> </span><span class="nt">:
|
|
4776
|
-
<a id="__codelineno-3-16" name="__codelineno-3-16" href="#__codelineno-3-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain"
|
|
4777
|
-
<a id="__codelineno-3-17" name="__codelineno-3-17" href="#__codelineno-3-17"></a><span class="w">
|
|
4778
|
-
<a id="__codelineno-3-18" name="__codelineno-3-18" href="#__codelineno-3-18"></a><span class="w"> </span><span class="
|
|
4779
|
-
|
|
4780
|
-
<
|
|
4781
|
-
<
|
|
5282
|
+
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../cc/</span>
|
|
5283
|
+
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../cc/build</span>
|
|
5284
|
+
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="nt">:artifact</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../cc/build</span>
|
|
5285
|
+
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5286
|
+
<a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:none</span>
|
|
5287
|
+
<a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5288
|
+
<a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:build_lib</span>
|
|
5289
|
+
<a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5290
|
+
<a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a><span class="w"> </span><span class="nt">:static_libraries</span><span class="p">:</span>
|
|
5291
|
+
<a id="__codelineno-3-14" name="__codelineno-3-14" href="#__codelineno-3-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">release/cc.a</span>
|
|
5292
|
+
<a id="__codelineno-3-15" name="__codelineno-3-15" href="#__codelineno-3-15"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5293
|
+
<a id="__codelineno-3-16" name="__codelineno-3-16" href="#__codelineno-3-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./cc.h</span>
|
|
5294
|
+
<a id="__codelineno-3-17" name="__codelineno-3-17" href="#__codelineno-3-17"></a><span class="w"> </span><span class="nt">:defines</span><span class="p">:</span>
|
|
5295
|
+
<a id="__codelineno-3-18" name="__codelineno-3-18" href="#__codelineno-3-18"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">THESE_GET_USED_DURING_COMPILATION</span>
|
|
5296
|
+
</code></pre></div>
|
|
5297
|
+
<h2 id="cookbook">Cookbook</h2>
|
|
5298
|
+
<p>Each recipe below pairs a dependency’s configuration with the commands that work with
|
|
5299
|
+
it. Any of them can sit alongside the others in one <code>:deps</code> list.</p>
|
|
5300
|
+
<h3 id="a-tagged-release-from-git-built-with-make">A tagged release from git, built with Make</h3>
|
|
5301
|
+
<p>Your drone flight controller firmware uses an open-source sensor fusion library, which
|
|
5302
|
+
blends accelerometer and gyroscope readings into an orientation. Its maintainers publish
|
|
5303
|
+
tagged releases on GitHub and build it with a makefile.</p>
|
|
5304
|
+
<p>Pin a library to a release tag so every developer and CI run builds the same code. The
|
|
5305
|
+
clone is shallow, which keeps it quick.</p>
|
|
5306
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
5307
|
+
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
5308
|
+
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Sensor Fusion</span>
|
|
5309
|
+
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
5310
|
+
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/fusion</span>
|
|
5311
|
+
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a><span class="w"> </span><span class="nt">:artifact</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/fusion/out</span>
|
|
5312
|
+
<a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5313
|
+
<a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:git</span>
|
|
5314
|
+
<a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://github.com/example/sensor-fusion.git</span>
|
|
5315
|
+
<a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a><span class="w"> </span><span class="nt">:tag</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">v2.4.1</span>
|
|
5316
|
+
<a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5317
|
+
<a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">make lib OUT=out</span>
|
|
5318
|
+
<a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5319
|
+
<a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a><span class="w"> </span><span class="nt">:static_libraries</span><span class="p">:</span>
|
|
5320
|
+
<a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">libfusion.a</span>
|
|
5321
|
+
<a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5322
|
+
<a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../include/**</span>
|
|
5323
|
+
</code></pre></div>
|
|
5324
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>ceedling<span class="w"> </span>dependencies:make<span class="w"> </span><span class="c1"># Clone v2.4.1 if needed, then build libfusion.a</span>
|
|
5325
|
+
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>ceedling<span class="w"> </span>release<span class="w"> </span><span class="c1"># Link it into the release build</span>
|
|
5326
|
+
</code></pre></div>
|
|
5327
|
+
<p>To move to a new tag, change <code>:tag</code>, then fetch a fresh copy, since a fetched dependency
|
|
5328
|
+
is not fetched again:</p>
|
|
5329
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>ceedling<span class="w"> </span>dependencies:clean:SensorFusion<span class="w"> </span>dependencies:make:SensorFusion
|
|
5330
|
+
</code></pre></div>
|
|
5331
|
+
<h3 id="a-vendor-archive-with-environment-settings">A vendor archive with environment settings</h3>
|
|
5332
|
+
<p>Your chip vendor ships its real-time operating system as a zip archive, which your team
|
|
5333
|
+
keeps on a shared file server. It builds with an autotools configure script, which must
|
|
5334
|
+
be told to cross-compile for your ARM Cortex-M4 target.</p>
|
|
5335
|
+
<p>Unpack a zip from a shared location and build it with the vendor’s own configure script,
|
|
5336
|
+
passing settings through the environment of that build alone.</p>
|
|
5337
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
5338
|
+
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
5339
|
+
<a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">VendorRTOS</span>
|
|
5340
|
+
<a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
5341
|
+
<a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/rtos/source</span>
|
|
5342
|
+
<a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/rtos/source/build</span>
|
|
5343
|
+
<a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="w"> </span><span class="nt">:artifact</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/rtos/install</span>
|
|
5344
|
+
<a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5345
|
+
<a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:zip</span>
|
|
5346
|
+
<a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/mnt/vendor/rtos-5.2.zip</span>
|
|
5347
|
+
<a id="__codelineno-7-11" name="__codelineno-7-11" href="#__codelineno-7-11"></a><span class="w"> </span><span class="nt">:environment</span><span class="p">:</span>
|
|
5348
|
+
<a id="__codelineno-7-12" name="__codelineno-7-12" href="#__codelineno-7-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CC=arm-none-eabi-gcc</span>
|
|
5349
|
+
<a id="__codelineno-7-13" name="__codelineno-7-13" href="#__codelineno-7-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CFLAGS+= -mcpu=cortex-m4</span>
|
|
5350
|
+
<a id="__codelineno-7-14" name="__codelineno-7-14" href="#__codelineno-7-14"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5351
|
+
<a id="__codelineno-7-15" name="__codelineno-7-15" href="#__codelineno-7-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./configure --prefix=../install</span>
|
|
5352
|
+
<a id="__codelineno-7-16" name="__codelineno-7-16" href="#__codelineno-7-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">make install</span>
|
|
5353
|
+
<a id="__codelineno-7-17" name="__codelineno-7-17" href="#__codelineno-7-17"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5354
|
+
<a id="__codelineno-7-18" name="__codelineno-7-18" href="#__codelineno-7-18"></a><span class="w"> </span><span class="nt">:static_libraries</span><span class="p">:</span>
|
|
5355
|
+
<a id="__codelineno-7-19" name="__codelineno-7-19" href="#__codelineno-7-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lib/librtos.a</span>
|
|
5356
|
+
<a id="__codelineno-7-20" name="__codelineno-7-20" href="#__codelineno-7-20"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5357
|
+
<a id="__codelineno-7-21" name="__codelineno-7-21" href="#__codelineno-7-21"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">include</span>
|
|
5358
|
+
</code></pre></div>
|
|
5359
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>ceedling<span class="w"> </span>dependencies:fetch:VendorRTOS<span class="w"> </span><span class="c1"># Unpack the archive</span>
|
|
5360
|
+
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a>ceedling<span class="w"> </span>dependencies:make:VendorRTOS<span class="w"> </span><span class="c1"># Configure and build with CC and CFLAGS set</span>
|
|
5361
|
+
</code></pre></div>
|
|
5362
|
+
<h3 id="a-sibling-ceedling-project">A sibling Ceedling project</h3>
|
|
5363
|
+
<p>Your repository holds two Ceedling projects side by side: the main application and a
|
|
5364
|
+
supervisor module that watches over it. The supervisor is developed and unit tested in
|
|
5365
|
+
its own project, and the application links it as a library.</p>
|
|
5366
|
+
<p>Build a library from another Ceedling project in the same repository, using that
|
|
5367
|
+
project’s own release build. It is never fetched, so cleaning removes only its build
|
|
5368
|
+
outputs.</p>
|
|
5369
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
5370
|
+
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
5371
|
+
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Supervisor</span>
|
|
5372
|
+
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
5373
|
+
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../supervisor</span>
|
|
5374
|
+
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../supervisor/build</span>
|
|
5375
|
+
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="w"> </span><span class="nt">:artifact</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../supervisor/build/release</span>
|
|
5376
|
+
<a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5377
|
+
<a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:none</span>
|
|
5378
|
+
<a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5379
|
+
<a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ceedling clobber release</span>
|
|
5380
|
+
<a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5381
|
+
<a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a><span class="w"> </span><span class="nt">:static_libraries</span><span class="p">:</span>
|
|
5382
|
+
<a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">libsupervisor.a</span>
|
|
5383
|
+
<a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5384
|
+
<a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../../src/supervisor.h</span>
|
|
5385
|
+
</code></pre></div>
|
|
5386
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>ceedling<span class="w"> </span>dependencies:make:Supervisor<span class="w"> </span><span class="c1"># Run the sibling project’s release build</span>
|
|
5387
|
+
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a>ceedling<span class="w"> </span>test:all<span class="w"> </span><span class="c1"># Test against its library and header</span>
|
|
5388
|
+
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a>ceedling<span class="w"> </span>dependencies:clean:Supervisor<span class="w"> </span><span class="c1"># Remove only its release outputs</span>
|
|
5389
|
+
</code></pre></div>
|
|
5390
|
+
<h3 id="a-shared-library-deployed-beside-the-release">A shared library deployed beside the release</h3>
|
|
5391
|
+
<p>Your Linux-based product decodes audio with a third-party codec, built as a shared
|
|
5392
|
+
library the application loads when it starts. You keep the codec’s source release in the
|
|
5393
|
+
project’s <code>downloads</code> folder.</p>
|
|
5394
|
+
<p>Build a dynamic library and copy it beside the release executable, which loads it at run
|
|
5395
|
+
time.</p>
|
|
5396
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
5397
|
+
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
5398
|
+
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Codec</span>
|
|
5399
|
+
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
5400
|
+
<a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/codec</span>
|
|
5401
|
+
<a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a><span class="w"> </span><span class="nt">:artifact</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/codec/lib</span>
|
|
5402
|
+
<a id="__codelineno-11-7" name="__codelineno-11-7" href="#__codelineno-11-7"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5403
|
+
<a id="__codelineno-11-8" name="__codelineno-11-8" href="#__codelineno-11-8"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:tar_gzip</span>
|
|
5404
|
+
<a id="__codelineno-11-9" name="__codelineno-11-9" href="#__codelineno-11-9"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../../downloads/codec-1.8.tar.gz</span>
|
|
5405
|
+
<a id="__codelineno-11-10" name="__codelineno-11-10" href="#__codelineno-11-10"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5406
|
+
<a id="__codelineno-11-11" name="__codelineno-11-11" href="#__codelineno-11-11"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">make shared</span>
|
|
5407
|
+
<a id="__codelineno-11-12" name="__codelineno-11-12" href="#__codelineno-11-12"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5408
|
+
<a id="__codelineno-11-13" name="__codelineno-11-13" href="#__codelineno-11-13"></a><span class="w"> </span><span class="nt">:dynamic_libraries</span><span class="p">:</span>
|
|
5409
|
+
<a id="__codelineno-11-14" name="__codelineno-11-14" href="#__codelineno-11-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">libcodec.so</span>
|
|
5410
|
+
<a id="__codelineno-11-15" name="__codelineno-11-15" href="#__codelineno-11-15"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5411
|
+
<a id="__codelineno-11-16" name="__codelineno-11-16" href="#__codelineno-11-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../include</span>
|
|
5412
|
+
</code></pre></div>
|
|
5413
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>ceedling<span class="w"> </span>release<span class="w"> </span>dependencies:deploy<span class="w"> </span><span class="c1"># Build, link, then copy libcodec.so beside the executable</span>
|
|
5414
|
+
</code></pre></div>
|
|
5415
|
+
<p>The archive’s relative <code>:source</code> resolves from inside the fetch path, which is why it
|
|
5416
|
+
climbs two folders.</p>
|
|
5417
|
+
<h3 id="build-tools-deployed-to-a-shared-folder">Build tools deployed to a shared folder</h3>
|
|
5418
|
+
<p><code>packer</code> is an in-house utility your tools team keeps in its own git repository. It
|
|
5419
|
+
bundles a compiled firmware image with its version metadata into a signed update file,
|
|
5420
|
+
and its companion <code>packer-verify</code> checks such a file. Your release scripts run both from
|
|
5421
|
+
the project’s <code>tools/bin</code> folder, so every developer and CI agent needs them built from
|
|
5422
|
+
the same tagged version and installed there.</p>
|
|
5423
|
+
<p>Build tools from source and install them where your build scripts or CI agents expect
|
|
5424
|
+
them. Ceedling builds them for a release, never links them, and never cleans the deploy
|
|
5425
|
+
folder.</p>
|
|
5426
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
5427
|
+
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
5428
|
+
<a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Packer</span>
|
|
5429
|
+
<a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
5430
|
+
<a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/packer</span>
|
|
5431
|
+
<a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/packer/build</span>
|
|
5432
|
+
<a id="__codelineno-13-7" name="__codelineno-13-7" href="#__codelineno-13-7"></a><span class="w"> </span><span class="nt">:deploy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tools/bin</span>
|
|
5433
|
+
<a id="__codelineno-13-8" name="__codelineno-13-8" href="#__codelineno-13-8"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5434
|
+
<a id="__codelineno-13-9" name="__codelineno-13-9" href="#__codelineno-13-9"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:git</span>
|
|
5435
|
+
<a id="__codelineno-13-10" name="__codelineno-13-10" href="#__codelineno-13-10"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://github.com/example/firmware-packer.git</span>
|
|
5436
|
+
<a id="__codelineno-13-11" name="__codelineno-13-11" href="#__codelineno-13-11"></a><span class="w"> </span><span class="nt">:tag</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">v1.3.0</span>
|
|
5437
|
+
<a id="__codelineno-13-12" name="__codelineno-13-12" href="#__codelineno-13-12"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5438
|
+
<a id="__codelineno-13-13" name="__codelineno-13-13" href="#__codelineno-13-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">make all BUILD=build</span>
|
|
5439
|
+
<a id="__codelineno-13-14" name="__codelineno-13-14" href="#__codelineno-13-14"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5440
|
+
<a id="__codelineno-13-15" name="__codelineno-13-15" href="#__codelineno-13-15"></a><span class="w"> </span><span class="nt">:executables</span><span class="p">:</span>
|
|
5441
|
+
<a id="__codelineno-13-16" name="__codelineno-13-16" href="#__codelineno-13-16"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">packer</span>
|
|
5442
|
+
<a id="__codelineno-13-17" name="__codelineno-13-17" href="#__codelineno-13-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">packer-verify</span>
|
|
5443
|
+
</code></pre></div>
|
|
5444
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>ceedling<span class="w"> </span>dependencies:deploy:Packer<span class="w"> </span><span class="c1"># Clone, build, then copy both tools to tools/bin</span>
|
|
5445
|
+
</code></pre></div>
|
|
5446
|
+
<h3 id="a-small-library-compiled-by-ceedling">A small library compiled by Ceedling</h3>
|
|
5447
|
+
<p>A colleague’s CRC routines live in your company’s Subversion repository: a C file and
|
|
5448
|
+
a header, with no makefile and no library of their own. Your firmware checks its data
|
|
5449
|
+
packets with them.</p>
|
|
5450
|
+
<p>Pin a few C files from Subversion and let <code>:build_lib</code> compile and archive them, with no
|
|
5451
|
+
build system of their own.</p>
|
|
5452
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="nt">:dependencies</span><span class="p">:</span>
|
|
5453
|
+
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a><span class="w"> </span><span class="nt">:deps</span><span class="p">:</span>
|
|
5454
|
+
<a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">:name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CRC Utils</span>
|
|
5455
|
+
<a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a><span class="w"> </span><span class="nt">:paths</span><span class="p">:</span>
|
|
5456
|
+
<a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/crc</span>
|
|
5457
|
+
<a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">third_party/crc/build</span>
|
|
5458
|
+
<a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a><span class="w"> </span><span class="nt">:fetch</span><span class="p">:</span>
|
|
5459
|
+
<a id="__codelineno-15-8" name="__codelineno-15-8" href="#__codelineno-15-8"></a><span class="w"> </span><span class="nt">:method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:svn</span>
|
|
5460
|
+
<a id="__codelineno-15-9" name="__codelineno-15-9" href="#__codelineno-15-9"></a><span class="w"> </span><span class="nt">:source</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://svn.example.com/repos/crc/trunk</span>
|
|
5461
|
+
<a id="__codelineno-15-10" name="__codelineno-15-10" href="#__codelineno-15-10"></a><span class="w"> </span><span class="nt">:revision</span><span class="p">:</span><span class="w"> </span><span class="s">'1287'</span>
|
|
5462
|
+
<a id="__codelineno-15-11" name="__codelineno-15-11" href="#__codelineno-15-11"></a><span class="w"> </span><span class="nt">:build</span><span class="p">:</span>
|
|
5463
|
+
<a id="__codelineno-15-12" name="__codelineno-15-12" href="#__codelineno-15-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">:build_lib</span>
|
|
5464
|
+
<a id="__codelineno-15-13" name="__codelineno-15-13" href="#__codelineno-15-13"></a><span class="w"> </span><span class="nt">:artifacts</span><span class="p">:</span>
|
|
5465
|
+
<a id="__codelineno-15-14" name="__codelineno-15-14" href="#__codelineno-15-14"></a><span class="w"> </span><span class="nt">:static_libraries</span><span class="p">:</span>
|
|
5466
|
+
<a id="__codelineno-15-15" name="__codelineno-15-15" href="#__codelineno-15-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">libcrc.a</span>
|
|
5467
|
+
<a id="__codelineno-15-16" name="__codelineno-15-16" href="#__codelineno-15-16"></a><span class="w"> </span><span class="nt">:includes</span><span class="p">:</span>
|
|
5468
|
+
<a id="__codelineno-15-17" name="__codelineno-15-17" href="#__codelineno-15-17"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../crc.h</span>
|
|
5469
|
+
<a id="__codelineno-15-18" name="__codelineno-15-18" href="#__codelineno-15-18"></a><span class="w"> </span><span class="nt">:defines</span><span class="p">:</span>
|
|
5470
|
+
<a id="__codelineno-15-19" name="__codelineno-15-19" href="#__codelineno-15-19"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CRC_TABLE_IN_ROM</span>
|
|
5471
|
+
</code></pre></div>
|
|
5472
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>ceedling<span class="w"> </span>dependencies:make:CRCUtils<span class="w"> </span><span class="c1"># Check out revision 1287, then compile and archive</span>
|
|
5473
|
+
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>ceedling<span class="w"> </span>files:dependencies<span class="w"> </span><span class="c1"># Confirm third_party/crc/build/libcrc.a is listed</span>
|
|
4782
5474
|
</code></pre></div>
|
|
4783
5475
|
<p><br/><br/></p>
|
|
4784
5476
|
|