ceedling 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/GIT_COMMIT_SHA +1 -1
- data/README.md +57 -58
- data/Rakefile +5 -3
- data/assets/features/ceedling +1 -1
- data/assets/fixtures/test_source_file_duplicate_basenames/test_calc_typo.c +14 -0
- data/assets/fixtures/tests_with_duplicate_test_names/test_foo.c +21 -0
- data/bin/actionator.rb +6 -12
- data/bin/app_cfg.rb +35 -1
- data/bin/ceedling +13 -3
- data/bin/cli.rb +25 -6
- data/bin/cli_handler.rb +119 -73
- data/bin/cli_helper.rb +56 -78
- data/bin/installation_selector.rb +81 -0
- data/bin/launchinator.rb +69 -0
- data/bin/mixin_resolvinator.rb +26 -36
- data/bin/objects.yml +13 -0
- data/bin/path_validator.rb +25 -29
- data/bin/versionator.rb +47 -48
- data/ceedling.gemspec +19 -15
- data/docs/BreakingChanges.md +70 -1
- data/docs/Changelog.md +84 -3
- data/docs/KnownIssues.md +90 -4
- data/docs/ReleaseNotes.md +13 -0
- data/docs/overrides/main.html +11 -8
- data/lib/ceedling/build_log_writer.rb +33 -0
- data/lib/ceedling/config/build_root_policy.rb +70 -0
- data/lib/ceedling/config/configurator.rb +19 -18
- data/lib/ceedling/config/configurator_builder.rb +58 -28
- data/lib/ceedling/config/configurator_paths_validator.rb +179 -0
- data/lib/ceedling/config/configurator_plugins.rb +1 -1
- data/lib/ceedling/config/configurator_setup.rb +39 -41
- data/lib/ceedling/config/configurator_validator.rb +1 -110
- data/lib/ceedling/defaults.rb +4 -4
- data/lib/ceedling/dependencies/README.md +18 -16
- data/lib/ceedling/dependencies/dependency_cache_store.rb +20 -3
- data/lib/ceedling/dependencies/dependency_hasher.rb +35 -1
- data/lib/ceedling/filename_extension.rb +7 -1
- data/lib/ceedling/filesystem/FILE_TREE.md +253 -0
- data/lib/ceedling/filesystem/PATH_HANDLING.md +304 -0
- data/lib/ceedling/filesystem/README.md +41 -0
- data/lib/ceedling/filesystem/build_subpath.rb +102 -0
- data/lib/ceedling/filesystem/destination_collision.rb +25 -0
- data/lib/ceedling/{file_finder.rb → filesystem/file_finder.rb} +159 -104
- data/lib/ceedling/{file_finder_helper.rb → filesystem/file_finder_helper.rb} +36 -31
- data/lib/ceedling/filesystem/file_path_collection_utils.rb +183 -0
- data/lib/ceedling/{file_path_utils.rb → filesystem/file_path_utils.rb} +108 -97
- data/lib/ceedling/{file_system_wrapper.rb → filesystem/file_system_wrapper.rb} +6 -5
- data/lib/ceedling/filesystem/file_tree.rb +241 -0
- data/lib/ceedling/{file_wrapper.rb → filesystem/file_wrapper.rb} +65 -28
- data/lib/ceedling/filesystem/path_exclusions.rb +30 -0
- data/lib/ceedling/{path_matcher.rb → filesystem/path_matcher.rb} +27 -23
- data/lib/ceedling/{path_mirror.rb → filesystem/path_mirror.rb} +19 -18
- data/lib/ceedling/filesystem/path_spellings.rb +55 -0
- data/lib/ceedling/filesystem/project_paths.rb +184 -0
- data/lib/ceedling/filesystem/working_dir.rb +40 -0
- data/lib/ceedling/generators/generator.rb +5 -6
- data/lib/ceedling/generators/generator_partials.rb +1 -1
- data/lib/ceedling/generators/generator_test_results_backtrace.rb +7 -7
- data/lib/ceedling/handoff.rb +121 -0
- data/lib/ceedling/includes/include_factory.rb +3 -3
- data/lib/ceedling/includes/include_pathinator.rb +67 -10
- data/lib/ceedling/includes/includes.rb +1 -1
- data/lib/ceedling/installation.rb +92 -0
- data/lib/ceedling/library_resolver.rb +99 -0
- data/lib/ceedling/objects.yml +23 -2
- data/lib/ceedling/partials/partializer.rb +4 -4
- data/lib/ceedling/partials/partializer_config.rb +3 -1
- data/lib/ceedling/plugins/report_log_writer_plugin.rb +3 -5
- data/lib/ceedling/preprocess/preprocessinator_file_assembler.rb +1 -1
- data/lib/ceedling/preprocess/preprocessinator_includes_handler.rb +1 -1
- data/lib/ceedling/preprocess/preprocessinator_line_marker_includes_extractor.rb +1 -1
- data/lib/ceedling/rake_app/rakefile_component_resolver.rb +10 -17
- data/lib/ceedling/rake_app/test_task_name.rb +29 -0
- data/lib/ceedling/rakefile.rb +16 -1
- data/lib/ceedling/rakefiles/base/tasks_base.rake +1 -1
- data/lib/ceedling/rakefiles/release/rules_release.rake +4 -7
- data/lib/ceedling/rakefiles/tests/rules_tests.rake +3 -20
- data/lib/ceedling/rakefiles/tests/rules_tests_generate.rake +4 -30
- data/lib/ceedling/release_invoker/release_build_executor.rb +33 -44
- data/lib/ceedling/release_invoker/release_build_planner.rb +14 -6
- data/lib/ceedling/reportinator.rb +3 -4
- data/lib/ceedling/setupinator.rb +95 -87
- data/lib/ceedling/test_context_extractor.rb +5 -1
- data/lib/ceedling/test_invoker/PIPELINE.md +9 -7
- data/lib/ceedling/test_invoker/mock_locator.rb +60 -2
- data/lib/ceedling/test_invoker/partials_manager.rb +12 -0
- data/lib/ceedling/test_invoker/standin_headerinator.rb +22 -13
- data/lib/ceedling/test_invoker/test_build_executor.rb +42 -41
- data/lib/ceedling/test_invoker/test_build_planner.rb +37 -18
- data/lib/ceedling/test_invoker/test_build_setup.rb +17 -12
- data/lib/ceedling/test_invoker/test_build_validations.rb +16 -31
- data/lib/ceedling/test_invoker/test_file_preprocessinator.rb +1 -1
- data/lib/ceedling/test_invoker/test_invoker.rb +6 -1
- data/lib/ceedling/test_invoker/test_pipeline_helpers.rb +1 -1
- data/lib/ceedling/test_invoker/test_source_file_directive_resolver.rb +40 -20
- data/lib/ceedling/tool_executor.rb +9 -3
- data/lib/ceedling/yaml_wrapper.rb +3 -2
- data/lib/version.rb +1 -1
- data/plugins/bullseye/bullseye.rake +6 -9
- data/plugins/bullseye/config/defaults_bullseye.rb +1 -1
- data/plugins/bullseye/lib/bullseye.rb +9 -7
- data/plugins/cppcheck/config/defaults_cppcheck.rb +1 -1
- data/plugins/dependencies/config/defaults.yml +6 -6
- data/plugins/dependencies/dependencies.rake +4 -1
- data/plugins/dependencies/lib/dependencies.rb +18 -8
- data/plugins/dependencies/lib/dependency_spec.rb +17 -5
- data/plugins/fff/lib/fff.rb +45 -39
- data/plugins/fff/spec/fff_cmock_wrapper_spec.rb +128 -0
- data/plugins/gcov/config/defaults_gcov.rb +1 -1
- data/plugins/gcov/gcov.rake +6 -9
- data/plugins/gcov/lib/console_reportinator.rb +4 -18
- data/plugins/gcov/lib/gcov.rb +9 -2
- data/plugins/gcov/lib/gcovr_reportinator.rb +8 -40
- data/plugins/gcov/lib/gcovr_thresholds.rb +74 -0
- data/plugins/gcov/lib/reportgenerator_reportinator.rb +1 -1
- data/plugins/module_generator/lib/module_generator.rb +3 -3
- data/plugins/report_tests_teamcity_stdout/lib/report_tests_teamcity_stdout.rb +53 -80
- data/plugins/sanitize/lib/sanitize_records.rb +3 -6
- data/plugins/sanitize/sanitize.rake +6 -6
- data/plugins/valgrind/lib/valgrind.rb +14 -7
- data/plugins/valgrind/valgrind.rake +6 -6
- data/site-local/404.html +6 -20
- data/site-local/assets/javascripts/{bundle.d7400e89.min.js → bundle.c21346df.min.js} +3 -3
- data/site-local/assets/javascripts/{bundle.d7400e89.min.js.map → bundle.c21346df.min.js.map} +2 -2
- data/site-local/assets/javascripts/workers/{search.2c215733.min.js → search.a7633da7.min.js} +2 -2
- data/site-local/assets/javascripts/workers/{search.2c215733.min.js.map → search.a7633da7.min.js.map} +1 -1
- data/site-local/assets/stylesheets/main.57a0d79d.min.css +6 -0
- data/site-local/assets/stylesheets/main.57a0d79d.min.css.map +1 -0
- data/site-local/assets/stylesheets/palette.fb2fffe2.min.css +4 -0
- data/site-local/assets/stylesheets/palette.fb2fffe2.min.css.map +1 -0
- data/site-local/configuration/environment-vars.html +6 -20
- data/site-local/configuration/global-collections.html +6 -20
- data/site-local/configuration/index.html +6 -20
- data/site-local/configuration/loading.html +6 -20
- data/site-local/configuration/mixins.html +10 -24
- data/site-local/configuration/parallel-builds.html +6 -20
- data/site-local/configuration/project-file.html +8 -22
- data/site-local/configuration/reference/cexception.html +6 -20
- data/site-local/configuration/reference/cmock.html +8 -21
- data/site-local/configuration/reference/defines.html +16 -30
- data/site-local/configuration/reference/environment.html +10 -24
- data/site-local/configuration/reference/extension.html +6 -20
- data/site-local/configuration/reference/files.html +22 -30
- data/site-local/configuration/reference/flags.html +13 -27
- data/site-local/configuration/reference/index.html +6 -20
- data/site-local/configuration/reference/libraries.html +27 -23
- data/site-local/configuration/reference/mixins.html +6 -20
- data/site-local/configuration/reference/partials.html +6 -20
- data/site-local/configuration/reference/paths.html +38 -29
- data/site-local/configuration/reference/plugins.html +6 -20
- data/site-local/configuration/reference/project.html +32 -36
- data/site-local/configuration/reference/release-build.html +8 -20
- data/site-local/configuration/reference/test-build.html +6 -20
- data/site-local/configuration/reference/test-runner.html +6 -20
- data/site-local/configuration/reference/tools.html +27 -32
- data/site-local/configuration/reference/unity.html +6 -20
- data/site-local/configuration/which-ceedling.html +383 -37
- data/site-local/development/index.html +6 -20
- data/site-local/development/plugins/configuration.html +6 -20
- data/site-local/development/plugins/index.html +6 -20
- data/site-local/development/plugins/plugin-subclass.html +54 -68
- data/site-local/development/plugins/rake-tasks.html +8 -22
- data/site-local/development/releases.html +84 -29
- data/site-local/development/workflow.html +62 -71
- data/site-local/getting-started/builds.html +8 -20
- data/site-local/getting-started/command-line.html +62 -24
- data/site-local/getting-started/example-projects/cipher-quest.html +6 -20
- data/site-local/getting-started/example-projects/index.html +6 -20
- data/site-local/getting-started/example-projects/temp-sensor.html +6 -20
- data/site-local/getting-started/example-projects/wondrous-forest.html +6 -20
- data/site-local/getting-started/index.html +6 -20
- data/site-local/getting-started/installation.html +6 -20
- data/site-local/getting-started/quick-start.html +6 -20
- data/site-local/help.html +6 -20
- data/site-local/index.html +11 -24
- data/site-local/overview/build-system.html +6 -20
- data/site-local/overview/index.html +6 -20
- data/site-local/overview/test-environments.html +6 -20
- data/site-local/overview/tools-and-frameworks.html +6 -20
- data/site-local/plugins/beep.html +6 -20
- data/site-local/plugins/bullseye/index.html +13 -24
- data/site-local/plugins/bullseye/licensing.html +14 -28
- data/site-local/plugins/command-hooks.html +8 -22
- data/site-local/plugins/compile-commands-json-db.html +6 -20
- data/site-local/plugins/cppcheck.html +8 -22
- data/site-local/plugins/dependencies.html +16 -27
- data/site-local/plugins/fff.html +49 -32
- data/site-local/plugins/gcov/examples.html +7 -21
- data/site-local/plugins/gcov/gcovr.html +22 -33
- data/site-local/plugins/gcov/index.html +6 -20
- data/site-local/plugins/gcov/overview.html +9 -20
- data/site-local/plugins/gcov/reportgenerator.html +9 -23
- data/site-local/plugins/gcov/reporting.html +6 -20
- data/site-local/plugins/gcov/setup.html +8 -21
- data/site-local/plugins/gcov/tool-versions.html +6 -20
- data/site-local/plugins/gcov/troubleshooting.html +10 -24
- data/site-local/plugins/index.html +6 -20
- data/site-local/plugins/module-generator.html +21 -35
- data/site-local/plugins/report-build-warnings-log.html +53 -67
- data/site-local/plugins/report-tests-gtestlike-stdout.html +6 -20
- data/site-local/plugins/report-tests-ide-stdout.html +43 -57
- data/site-local/plugins/report-tests-log-factory.html +50 -64
- data/site-local/plugins/report-tests-pretty-stdout.html +7 -21
- data/site-local/plugins/report-tests-raw-output-log.html +9 -21
- data/site-local/plugins/report-tests-teamcity-stdout.html +20 -31
- data/site-local/plugins/sanitize.html +56 -65
- data/site-local/plugins/valgrind.html +49 -58
- data/site-local/project/index.html +6 -20
- data/site-local/project/release-history.html +6 -20
- data/site-local/project/sbom.html +6 -20
- data/site-local/project/upgrade.html +9 -20
- data/site-local/reference/build-directives.html +6 -20
- data/site-local/reference/command-line.html +15 -22
- data/site-local/reference/environment-vars.html +6 -20
- data/site-local/reference/gcov-plugin.html +6 -20
- data/site-local/reference/global-collections.html +6 -20
- data/site-local/reference/index.html +6 -20
- data/site-local/reference/partials-macros.html +6 -20
- data/site-local/reference/project-configuration.html +6 -20
- data/site-local/sitemap.xml.gz +0 -0
- data/site-local/snapshot/examples/cipher_quest/index.html +16 -30
- data/site-local/snapshot/examples/temp_sensor/index.html +8 -22
- data/site-local/snapshot/examples/wondrous_forest/index.html +6 -20
- data/site-local/snapshot/plugins/bullseye/config/defaults_bullseye.rb +1 -1
- data/site-local/snapshot/plugins/gcov/config/defaults_gcov.rb +1 -1
- data/site-local/testing-guide/build-directives.html +14 -28
- data/site-local/testing-guide/conventions.html +66 -27
- data/site-local/testing-guide/frameworks.html +11 -25
- data/site-local/testing-guide/index.html +6 -20
- data/site-local/testing-guide/partials/configuration.html +8 -22
- data/site-local/testing-guide/partials/conventions.html +8 -22
- data/site-local/testing-guide/partials/directives.html +16 -30
- data/site-local/testing-guide/partials/example.html +14 -28
- data/site-local/testing-guide/partials/index.html +6 -20
- data/site-local/testing-guide/partials/overview.html +6 -20
- data/site-local/testing-guide/partials/variables.html +11 -25
- data/site-local/testing-guide/test-cases.html +13 -27
- data/site-local/testing-guide/test-sample.html +12 -26
- data/site-local/testing-guide/test-suite-anatomy.html +6 -20
- data/spec/integration/actionator_file_operations_spec.rb +91 -1
- data/spec/integration/compile_commands_json_db_spec.rb +1 -1
- data/spec/integration/configurator_pipeline_spec.rb +10 -0
- data/spec/integration/configurator_validation_spec.rb +1 -1
- data/spec/integration/dependencies/dependency_tracker_cache_hardening_spec.rb +26 -0
- data/spec/integration/dependencies/dependency_tracker_core_spec.rb +62 -0
- data/spec/integration/launcher_handoff_spec.rb +297 -0
- data/spec/integration/mixin_loading_spec.rb +1 -1
- data/spec/integration/module_generator_spec.rb +3 -3
- data/spec/integration/nested_test_artifacts_spec.rb +99 -0
- data/spec/integration/partials_module_resolution_spec.rb +7 -4
- data/spec/integration/path_intake_scenarios_spec.rb +101 -0
- data/spec/integration/path_scenarios_spec.rb +322 -0
- data/spec/integration/quote_include_isolator_spec.rb +1 -1
- data/spec/integration/rake_task_registry_plugins_spec.rb +95 -0
- data/spec/integration/report_build_warnings_log_spec.rb +1 -1
- data/spec/integration/report_tests_log_factory_spec.rb +1 -1
- data/spec/integration/test_executable_manifest_spec.rb +1 -1
- data/spec/integration/test_includes_extractinator_spec.rb +2 -1
- data/spec/integration/test_naming_spec.rb +198 -0
- data/spec/integration/test_source_file_checks_spec.rb +166 -0
- data/spec/integration/tool_validator_spec.rb +1 -1
- data/spec/integration/upgrade_docs_spec.rb +84 -0
- data/spec/integration/vendor_copy_transient_io_retry_spec.rb +192 -75
- data/spec/support/file_tree_helper.rb +88 -0
- data/spec/support/integration/configurator_integration_helper.rb +10 -7
- data/spec/support/integration/dependency_tracker_integration_helper.rb +1 -1
- data/spec/support/integration/partials_generation_integration_helper.rb +2 -2
- data/spec/support/integration/path_scenario_harness.rb +173 -0
- data/spec/support/integration/spec_integration_helper.rb +1 -1
- data/spec/support/integration/test_includes_harness.rb +13 -2
- data/spec/support/spec_helper.rb +2 -0
- data/spec/support/system/spec_system_helper.rb +7 -6
- data/spec/support/system/system_context.rb +21 -3
- data/spec/support/working_dir_tracking.rb +49 -0
- data/spec/system/build_output_mirroring_spec.rb +2 -2
- data/spec/system/conditional_mock_includes_spec.rb +1 -1
- data/spec/system/delta_builds_spec.rb +137 -11
- data/spec/system/gcov_deployment_spec.rb +1 -0
- data/spec/system/header_include_path_validation_spec.rb +4 -4
- data/spec/system/launcher_handoff_spec.rb +82 -0
- data/spec/system/mock_include_folders_spec.rb +91 -0
- data/spec/system/parent_directory_reference_spec.rb +5 -3
- data/spec/system/path_handling_probes_spec.rb +192 -0
- data/spec/system/preprocessing_parameterized_tests_spec.rb +1 -1
- data/spec/system/rake_release_task_path_disambiguation_spec.rb +6 -6
- data/spec/system/rake_test_task_path_disambiguation_spec.rb +85 -0
- data/spec/system/special_path_characters_spec.rb +86 -0
- data/spec/system/support/common_test_cases.rb +23 -21
- data/spec/system/support/gcov_common_test_cases.rb +37 -9
- data/spec/system/support/sanitize_common_test_cases.rb +2 -2
- data/spec/system/support/valgrind_common_test_cases.rb +12 -12
- data/spec/system/test_pipeline_stop_points_spec.rb +4 -4
- data/spec/system/test_runner_system_include_spec.rb +1 -1
- data/spec/system/test_source_file_directive_spec.rb +34 -5
- data/spec/units/bin/actionator_spec.rb +14 -17
- data/spec/units/bin/app_cfg_spec.rb +47 -0
- data/spec/units/bin/cli_handler_spec.rb +284 -7
- data/spec/units/bin/cli_helper_spec.rb +126 -45
- data/spec/units/bin/installation_selector_spec.rb +114 -0
- data/spec/units/bin/launchinator_spec.rb +171 -0
- data/spec/units/bin/path_validator_spec.rb +10 -0
- data/spec/units/bin/versionator_spec.rb +38 -6
- data/spec/units/build_log_writer_spec.rb +57 -0
- data/spec/units/config/build_root_policy_spec.rb +61 -0
- data/spec/units/config/configurator_builder_spec.rb +37 -6
- data/spec/units/config/configurator_paths_validator_spec.rb +292 -0
- data/spec/units/config/configurator_setup_spec.rb +65 -103
- data/spec/units/config/configurator_spec.rb +37 -6
- data/spec/units/config/configurator_validator_spec.rb +1 -172
- data/spec/units/default_tools_quoting_spec.rb +83 -0
- data/spec/units/dependencies/dependency_cache_store_spec.rb +33 -2
- data/spec/units/dependencies/dependency_debug_tree_spec.rb +1 -1
- data/spec/units/dependencies/dependency_hasher_spec.rb +42 -1
- data/spec/units/dependencies/dependency_path_normalizer_spec.rb +1 -1
- data/spec/units/dependencies/dependency_tracker_spec.rb +3 -1
- data/spec/units/filename_extension_spec.rb +11 -0
- data/spec/units/filesystem/build_subpath_spec.rb +122 -0
- data/spec/units/filesystem/destination_collision_spec.rb +30 -0
- data/spec/units/{file_finder_helper_spec.rb → filesystem/file_finder_helper_spec.rb} +46 -1
- data/spec/units/{file_finder_spec.rb → filesystem/file_finder_spec.rb} +188 -22
- data/spec/units/{file_path_collection_utils_spec.rb → filesystem/file_path_collection_utils_spec.rb} +181 -1
- data/spec/units/{file_path_utils_spec.rb → filesystem/file_path_utils_spec.rb} +204 -87
- data/spec/units/filesystem/file_system_wrapper_spec.rb +33 -0
- data/spec/units/filesystem/file_tree_spec.rb +511 -0
- data/spec/units/filesystem/file_tree_windows_spec.rb +78 -0
- data/spec/units/{file_wrapper_spec.rb → filesystem/file_wrapper_spec.rb} +154 -32
- data/spec/units/{path_matcher_spec.rb → filesystem/path_matcher_spec.rb} +12 -1
- data/spec/units/{path_mirror_spec.rb → filesystem/path_mirror_spec.rb} +32 -4
- data/spec/units/filesystem/project_paths_spec.rb +147 -0
- data/spec/units/filesystem/working_dir_spec.rb +71 -0
- data/spec/units/generators/generator_spec.rb +12 -6
- data/spec/units/generators/generator_test_results_backtrace_spec.rb +50 -46
- data/spec/units/generators/generator_test_results_spec.rb +1 -1
- data/spec/units/handoff_spec.rb +205 -0
- data/spec/units/includes/include_factory_spec.rb +3 -3
- data/spec/units/includes/include_pathinator_spec.rb +46 -0
- data/spec/units/installation_spec.rb +228 -0
- data/spec/units/library_resolver_spec.rb +157 -0
- data/spec/units/mock_locator_spec.rb +76 -1
- data/spec/units/partials/partializer_config_spec.rb +7 -0
- data/spec/units/partials/partializer_spec.rb +1 -0
- data/spec/units/partials_manager_spec.rb +17 -0
- data/spec/units/plugins/bullseye_spec.rb +15 -2
- data/spec/units/plugins/console_reportinator_spec.rb +18 -20
- data/spec/units/plugins/dependencies_spec.rb +33 -7
- data/spec/units/plugins/dependency_spec_spec.rb +17 -0
- data/spec/units/plugins/gcov_spec.rb +28 -3
- data/spec/units/plugins/gcovr_reportinator_spec.rb +19 -47
- data/spec/units/plugins/gcovr_thresholds_spec.rb +95 -0
- data/spec/units/plugins/module_generator_spec.rb +5 -5
- data/spec/units/plugins/report_build_warnings_log_spec.rb +3 -3
- data/spec/units/plugins/report_log_writer_plugin_spec.rb +10 -1
- data/spec/units/plugins/report_tests_raw_output_log_spec.rb +13 -2
- data/spec/units/plugins/report_tests_teamcity_stdout_spec.rb +77 -3
- data/spec/units/plugins/reportgenerator_reportinator_spec.rb +1 -1
- data/spec/units/plugins/sanitize_records_spec.rb +3 -1
- data/spec/units/plugins/sanitize_spec.rb +1 -1
- data/spec/units/plugins/valgrind_spec.rb +23 -8
- data/spec/units/preprocess/preprocessinator_comment_stripper_spec.rb +1 -1
- data/spec/units/rake_app/rakefile_component_resolver_spec.rb +21 -0
- data/spec/units/rake_app/test_task_name_spec.rb +47 -0
- data/spec/units/release_build_executor_spec.rb +53 -14
- data/spec/units/release_build_planner_spec.rb +15 -3
- data/spec/units/reportinator_spec.rb +5 -5
- data/spec/units/standin_headerinator_spec.rb +31 -1
- data/spec/units/test_build_executor_spec.rb +107 -5
- data/spec/units/test_build_planner_spec.rb +104 -2
- data/spec/units/test_build_setup_spec.rb +96 -12
- data/spec/units/test_context_extractor_spec.rb +25 -0
- data/spec/units/test_file_preprocessinator_spec.rb +17 -1
- data/spec/units/test_includes_extractinator_spec.rb +5 -1
- data/spec/units/test_invoker/objects_wiring_spec.rb +6 -3
- data/spec/units/test_invoker_spec.rb +14 -1
- data/spec/units/test_source_file_directive_resolver_spec.rb +38 -7
- data/spec/units/tool_executor_spec.rb +26 -0
- data/spec/units/yaml_wrapper_spec.rb +11 -0
- metadata +122 -33
- data/lib/ceedling/file_path_collection_utils.rb +0 -164
- data/site-local/assets/stylesheets/main.ec1eaa64.min.css +0 -1
- data/site-local/assets/stylesheets/main.ec1eaa64.min.css.map +0 -1
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css +0 -1
- data/site-local/assets/stylesheets/palette.ab4e12ef.min.css.map +0 -1
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
<link rel="icon" href="../../assets/images/favicon.png">
|
|
22
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.
|
|
22
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
<link rel="stylesheet" href="../../assets/stylesheets/main.
|
|
30
|
+
<link rel="stylesheet" href="../../assets/stylesheets/main.57a0d79d.min.css">
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
<link rel="stylesheet" href="../../assets/stylesheets/palette.
|
|
33
|
+
<link rel="stylesheet" href="../../assets/stylesheets/palette.fb2fffe2.min.css">
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
@@ -87,30 +87,16 @@
|
|
|
87
87
|
</div>
|
|
88
88
|
<div data-md-component="announce">
|
|
89
89
|
|
|
90
|
-
<aside class="md-banner">
|
|
91
|
-
<div class="md-banner__inner md-grid md-typeset">
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
</div>
|
|
97
|
-
|
|
98
|
-
</aside>
|
|
99
|
-
|
|
100
90
|
</div>
|
|
101
91
|
|
|
102
92
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
103
93
|
|
|
104
94
|
<aside class="md-banner md-banner--warning">
|
|
105
95
|
<div class="md-banner__inner md-grid md-typeset">
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
You are not viewing the latest version.
|
|
96
|
+
You are not viewing the latest version.
|
|
109
97
|
<a href="../../..">
|
|
110
98
|
<strong>Click here to go to latest.</strong>
|
|
111
99
|
</a>
|
|
112
|
-
|
|
113
|
-
|
|
114
100
|
</div>
|
|
115
101
|
<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>
|
|
116
102
|
</aside>
|
|
@@ -4416,9 +4402,9 @@
|
|
|
4416
4402
|
</div>
|
|
4417
4403
|
<h2 id="example-rake-task">Example Rake task</h2>
|
|
4418
4404
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="c1"># Only tasks with description are listed by `ceedling -T`</span>
|
|
4419
|
-
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="n">desc</span><span class="w"> </span><span class="s2"
|
|
4405
|
+
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="n">desc</span><span class="w"> </span><span class="s2">"Print hello world to console"</span>
|
|
4420
4406
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="n">task</span><span class="w"> </span><span class="ss">:hello_world</span><span class="w"> </span><span class="k">do</span>
|
|
4421
|
-
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="n">sh</span><span class="w"> </span><span class="s2"
|
|
4407
|
+
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="w"> </span><span class="n">sh</span><span class="w"> </span><span class="s2">"echo Hello World!"</span>
|
|
4422
4408
|
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="k">end</span>
|
|
4423
4409
|
</code></pre></div>
|
|
4424
4410
|
<p>Resulting, example command line:</p>
|
|
@@ -4518,10 +4504,10 @@ See <a href="../../getting-started/builds.html">Delta Builds</a> for how this tr
|
|
|
4518
4504
|
|
|
4519
4505
|
|
|
4520
4506
|
|
|
4521
|
-
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.
|
|
4507
|
+
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.a7633da7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
|
|
4522
4508
|
|
|
4523
4509
|
|
|
4524
|
-
<script src="../../assets/javascripts/bundle.
|
|
4510
|
+
<script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4525
4511
|
|
|
4526
4512
|
|
|
4527
4513
|
</body>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
24
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.
|
|
24
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<link rel="stylesheet" href="../assets/stylesheets/main.
|
|
32
|
+
<link rel="stylesheet" href="../assets/stylesheets/main.57a0d79d.min.css">
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
<link rel="stylesheet" href="../assets/stylesheets/palette.
|
|
35
|
+
<link rel="stylesheet" href="../assets/stylesheets/palette.fb2fffe2.min.css">
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
@@ -89,30 +89,16 @@
|
|
|
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
|
-
|
|
102
92
|
</div>
|
|
103
93
|
|
|
104
94
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
105
95
|
|
|
106
96
|
<aside class="md-banner md-banner--warning">
|
|
107
97
|
<div class="md-banner__inner md-grid md-typeset">
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
You are not viewing the latest version.
|
|
98
|
+
You are not viewing the latest version.
|
|
111
99
|
<a href="../..">
|
|
112
100
|
<strong>Click here to go to latest.</strong>
|
|
113
101
|
</a>
|
|
114
|
-
|
|
115
|
-
|
|
116
102
|
</div>
|
|
117
103
|
<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
104
|
</aside>
|
|
@@ -4143,6 +4129,23 @@
|
|
|
4143
4129
|
</span>
|
|
4144
4130
|
</a>
|
|
4145
4131
|
|
|
4132
|
+
<nav class="md-nav" aria-label="Documentation deployment">
|
|
4133
|
+
<ul class="md-nav__list">
|
|
4134
|
+
|
|
4135
|
+
<li class="md-nav__item">
|
|
4136
|
+
<a href="#revising-an-earlier-versions-documentation" class="md-nav__link">
|
|
4137
|
+
<span class="md-ellipsis">
|
|
4138
|
+
|
|
4139
|
+
Revising an earlier version’s documentation
|
|
4140
|
+
|
|
4141
|
+
</span>
|
|
4142
|
+
</a>
|
|
4143
|
+
|
|
4144
|
+
</li>
|
|
4145
|
+
|
|
4146
|
+
</ul>
|
|
4147
|
+
</nav>
|
|
4148
|
+
|
|
4146
4149
|
</li>
|
|
4147
4150
|
|
|
4148
4151
|
</ul>
|
|
@@ -4453,6 +4456,23 @@
|
|
|
4453
4456
|
</span>
|
|
4454
4457
|
</a>
|
|
4455
4458
|
|
|
4459
|
+
<nav class="md-nav" aria-label="Documentation deployment">
|
|
4460
|
+
<ul class="md-nav__list">
|
|
4461
|
+
|
|
4462
|
+
<li class="md-nav__item">
|
|
4463
|
+
<a href="#revising-an-earlier-versions-documentation" class="md-nav__link">
|
|
4464
|
+
<span class="md-ellipsis">
|
|
4465
|
+
|
|
4466
|
+
Revising an earlier version’s documentation
|
|
4467
|
+
|
|
4468
|
+
</span>
|
|
4469
|
+
</a>
|
|
4470
|
+
|
|
4471
|
+
</li>
|
|
4472
|
+
|
|
4473
|
+
</ul>
|
|
4474
|
+
</nav>
|
|
4475
|
+
|
|
4456
4476
|
</li>
|
|
4457
4477
|
|
|
4458
4478
|
</ul>
|
|
@@ -4533,9 +4553,17 @@ release.</p>
|
|
|
4533
4553
|
<li><code>master</code> holds the latest release and subsequent patch releases.</li>
|
|
4534
4554
|
<li><code>next_version</code> holds the next minor or major release.</li>
|
|
4535
4555
|
</ul>
|
|
4536
|
-
<p>Both branches are protected. Changes reach them only through
|
|
4537
|
-
|
|
4538
|
-
force-pushes, and branch deletion are blocked
|
|
4556
|
+
<p>Both branches are protected by a GitHub ruleset. Changes reach them only through
|
|
4557
|
+
pull requests, and a pull request merges only once the <strong>CI Gate</strong> check passes.
|
|
4558
|
+
Direct pushes, force-pushes, and branch deletion are blocked. Only a maintainer
|
|
4559
|
+
merges a pull request.</p>
|
|
4560
|
+
<p>CI Gate reduces every CI job to one result. A pull request that changes only
|
|
4561
|
+
documentation skips the test suites and still passes CI Gate, so it is ready to
|
|
4562
|
+
merge in minutes. The development workflow guide describes <a href="https://github.com/ThrowTheSwitch/Ceedling/blob/master/.github/WORKFLOWS.md">what counts as
|
|
4563
|
+
documentation</a>.</p>
|
|
4564
|
+
<p>Maintainers squash-merge community pull requests, so each lands as one commit
|
|
4565
|
+
attributed to its author. Maintainers may merge their own branches with a merge
|
|
4566
|
+
commit to keep their history.</p>
|
|
4539
4567
|
<h3 id="patch-work">Patch work</h3>
|
|
4540
4568
|
<p>Branch from <code>master</code> for a patch fix. Open the pull request against <code>master</code>.</p>
|
|
4541
4569
|
<p>Short-lived topic branches are the norm. Delete the branch once the pull request
|
|
@@ -4546,13 +4574,16 @@ merges.</p>
|
|
|
4546
4574
|
<p><code>rake lint:changed</code> assumes this. It compares against <code>next_version</code> unless you
|
|
4547
4575
|
name another branch or revision.</p>
|
|
4548
4576
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint:changed
|
|
4549
|
-
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2"
|
|
4577
|
+
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2">"lint:changed[master]"</span>
|
|
4550
4578
|
</code></pre></div>
|
|
4551
4579
|
<h2 id="tags-drive-releases">Tags drive releases</h2>
|
|
4552
4580
|
<p>Pushing a tag publishes. Nothing else does.</p>
|
|
4553
4581
|
<p>Full releases are tagged on <code>master</code>. Pre-releases are tagged on <code>next_version</code>.
|
|
4554
4582
|
Neither workflow checks which branch a tag points at, so the convention is yours
|
|
4555
4583
|
to keep.</p>
|
|
4584
|
+
<p>Only repository administrators can create, move, or delete <code>v</code> tags. A pushed
|
|
4585
|
+
release tag is left where it is, so a published version always points at the code
|
|
4586
|
+
it was built from.</p>
|
|
4556
4587
|
<table>
|
|
4557
4588
|
<thead>
|
|
4558
4589
|
<tr>
|
|
@@ -4565,17 +4596,22 @@ to keep.</p>
|
|
|
4565
4596
|
<tr>
|
|
4566
4597
|
<td><code>v1.2.0</code></td>
|
|
4567
4598
|
<td><code>release.yml</code></td>
|
|
4568
|
-
<td>GitHub release</td>
|
|
4599
|
+
<td>GitHub release, and the gem published to RubyGems.org</td>
|
|
4569
4600
|
</tr>
|
|
4570
4601
|
<tr>
|
|
4571
4602
|
<td><code>v1.2.0-pre.1</code></td>
|
|
4572
4603
|
<td><code>prerelease.yml</code></td>
|
|
4573
|
-
<td>GitHub pre-release</td>
|
|
4604
|
+
<td>GitHub pre-release only</td>
|
|
4574
4605
|
</tr>
|
|
4575
4606
|
</tbody>
|
|
4576
4607
|
</table>
|
|
4577
4608
|
<p>A hyphenated suffix becomes a dot in the gem version, which is RubyGems
|
|
4578
4609
|
pre-release notation. Tag <code>v1.2.0-pre.1</code> builds <code>ceedling-1.2.0.pre.1.gem</code>.</p>
|
|
4610
|
+
<p>A full release reaches RubyGems.org through <a href="https://guides.rubygems.org/trusted-publishing/">trusted publishing</a>. The release
|
|
4611
|
+
workflow exchanges its own GitHub identity for a short-lived RubyGems credential
|
|
4612
|
+
and pushes the gem it built. No maintainer holds or handles an API key.
|
|
4613
|
+
Pre-release gems are attached to the GitHub pre-release and never pushed to
|
|
4614
|
+
RubyGems.org.</p>
|
|
4579
4615
|
<div class="admonition warning">
|
|
4580
4616
|
<p class="admonition-title">Warning</p>
|
|
4581
4617
|
<p>Neither workflow runs the test suite. Both build and publish directly from the
|
|
@@ -4618,9 +4654,12 @@ release, then commit and continue development.</p>
|
|
|
4618
4654
|
<li>Push <code>v1.2.0-pre.1</code> from <code>next_version</code>. CI creates a GitHub-available pre-release.</li>
|
|
4619
4655
|
<li>Iterate with <code>-pre.2</code> and onward as needed.</li>
|
|
4620
4656
|
<li>Bring the work onto <code>master</code> once the release is ready.</li>
|
|
4621
|
-
<li>
|
|
4622
|
-
<li>
|
|
4623
|
-
<li>Bump <code>lib/version.rb</code> and continue development
|
|
4657
|
+
<li>Date the release’s sections in <code>docs/Changelog.md</code>, <code>docs/BreakingChanges.md</code>, and <code>docs/KnownIssues.md</code>.</li>
|
|
4658
|
+
<li>Push <code>v1.2.0</code> from <code>master</code>. CI creates the GitHub-available release and publishes the gem to RubyGems.org.</li>
|
|
4659
|
+
<li>Bump <code>lib/version.rb</code> and continue development. Open the next release’s sections:</li>
|
|
4660
|
+
<li><code>docs/Changelog.md</code>: a new, empty section.</li>
|
|
4661
|
+
<li><code>docs/KnownIssues.md</code>: a copy of the released section. Remove each issue the next release resolves, and close the released section by naming it.</li>
|
|
4662
|
+
<li><code>docs/BreakingChanges.md</code>: a section only once the next release breaks something.</li>
|
|
4624
4663
|
</ol>
|
|
4625
4664
|
<h2 id="documentation-deployment">Documentation deployment</h2>
|
|
4626
4665
|
<p>Documentation versions are deployed by hand, separately from the gem. These tasks
|
|
@@ -4630,6 +4669,22 @@ take a bare version number rather than a tag.</p>
|
|
|
4630
4669
|
</code></pre></div>
|
|
4631
4670
|
<p>The full task list is in the <a href="workflow.html#documentation">documentation section</a> of the development
|
|
4632
4671
|
workflow guide.</p>
|
|
4672
|
+
<h3 id="revising-an-earlier-versions-documentation">Revising an earlier version’s documentation</h3>
|
|
4673
|
+
<p>Once a newer release becomes <code>latest</code>, its <code>docs/mkdocs/</code> content is the primary
|
|
4674
|
+
source of the published site. An earlier version’s published documentation can
|
|
4675
|
+
still need an occasional revision. A <code>docs-</code> tag records the source of each such
|
|
4676
|
+
version’s published documentation.</p>
|
|
4677
|
+
<ol>
|
|
4678
|
+
<li>Branch from the version’s <code>docs-<version></code> tag, or from its release tag if it
|
|
4679
|
+
has no <code>docs-</code> tag yet.</li>
|
|
4680
|
+
<li>Revise <code>docs/mkdocs/</code>.</li>
|
|
4681
|
+
<li>Deploy without changing <code>latest</code>, for example <code>rake docs:deploy:release[1.1.0]</code>.</li>
|
|
4682
|
+
<li>Point the annotated <code>docs-<version></code> tag at the deployed commit, with a message
|
|
4683
|
+
naming what was deployed. <code>docs-1.1.0</code> is an example.</li>
|
|
4684
|
+
</ol>
|
|
4685
|
+
<p>The branch need not merge anywhere. The tag is the record of what the published
|
|
4686
|
+
documentation was built from. Only repository administrators can create, move, or
|
|
4687
|
+
delete <code>docs-</code> tags.</p>
|
|
4633
4688
|
<p><br/><br/></p>
|
|
4634
4689
|
|
|
4635
4690
|
|
|
@@ -4698,10 +4753,10 @@ workflow guide.</p>
|
|
|
4698
4753
|
|
|
4699
4754
|
|
|
4700
4755
|
|
|
4701
|
-
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.
|
|
4756
|
+
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.a7633da7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
|
|
4702
4757
|
|
|
4703
4758
|
|
|
4704
|
-
<script src="../assets/javascripts/bundle.
|
|
4759
|
+
<script src="../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4705
4760
|
|
|
4706
4761
|
|
|
4707
4762
|
</body>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
24
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.
|
|
24
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<link rel="stylesheet" href="../assets/stylesheets/main.
|
|
32
|
+
<link rel="stylesheet" href="../assets/stylesheets/main.57a0d79d.min.css">
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
<link rel="stylesheet" href="../assets/stylesheets/palette.
|
|
35
|
+
<link rel="stylesheet" href="../assets/stylesheets/palette.fb2fffe2.min.css">
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
@@ -89,30 +89,16 @@
|
|
|
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
|
-
|
|
102
92
|
</div>
|
|
103
93
|
|
|
104
94
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
105
95
|
|
|
106
96
|
<aside class="md-banner md-banner--warning">
|
|
107
97
|
<div class="md-banner__inner md-grid md-typeset">
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
You are not viewing the latest version.
|
|
98
|
+
You are not viewing the latest version.
|
|
111
99
|
<a href="../..">
|
|
112
100
|
<strong>Click here to go to latest.</strong>
|
|
113
101
|
</a>
|
|
114
|
-
|
|
115
|
-
|
|
116
102
|
</div>
|
|
117
103
|
<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
104
|
</aside>
|
|
@@ -4026,6 +4012,23 @@
|
|
|
4026
4012
|
</span>
|
|
4027
4013
|
</a>
|
|
4028
4014
|
|
|
4015
|
+
<nav class="md-nav" aria-label="Code organization">
|
|
4016
|
+
<ul class="md-nav__list">
|
|
4017
|
+
|
|
4018
|
+
<li class="md-nav__item">
|
|
4019
|
+
<a href="#running-your-repository-with-which-ceedling" class="md-nav__link">
|
|
4020
|
+
<span class="md-ellipsis">
|
|
4021
|
+
|
|
4022
|
+
Running your repository with Which Ceedling
|
|
4023
|
+
|
|
4024
|
+
</span>
|
|
4025
|
+
</a>
|
|
4026
|
+
|
|
4027
|
+
</li>
|
|
4028
|
+
|
|
4029
|
+
</ul>
|
|
4030
|
+
</nav>
|
|
4031
|
+
|
|
4029
4032
|
</li>
|
|
4030
4033
|
|
|
4031
4034
|
<li class="md-nav__item">
|
|
@@ -4365,17 +4368,6 @@
|
|
|
4365
4368
|
</ul>
|
|
4366
4369
|
</nav>
|
|
4367
4370
|
|
|
4368
|
-
</li>
|
|
4369
|
-
|
|
4370
|
-
<li class="md-nav__item">
|
|
4371
|
-
<a href="#bin-vs-lib" class="md-nav__link">
|
|
4372
|
-
<span class="md-ellipsis">
|
|
4373
|
-
|
|
4374
|
-
bin/ vs. lib/
|
|
4375
|
-
|
|
4376
|
-
</span>
|
|
4377
|
-
</a>
|
|
4378
|
-
|
|
4379
4371
|
</li>
|
|
4380
4372
|
|
|
4381
4373
|
</ul>
|
|
@@ -4625,6 +4617,23 @@
|
|
|
4625
4617
|
</span>
|
|
4626
4618
|
</a>
|
|
4627
4619
|
|
|
4620
|
+
<nav class="md-nav" aria-label="Code organization">
|
|
4621
|
+
<ul class="md-nav__list">
|
|
4622
|
+
|
|
4623
|
+
<li class="md-nav__item">
|
|
4624
|
+
<a href="#running-your-repository-with-which-ceedling" class="md-nav__link">
|
|
4625
|
+
<span class="md-ellipsis">
|
|
4626
|
+
|
|
4627
|
+
Running your repository with Which Ceedling
|
|
4628
|
+
|
|
4629
|
+
</span>
|
|
4630
|
+
</a>
|
|
4631
|
+
|
|
4632
|
+
</li>
|
|
4633
|
+
|
|
4634
|
+
</ul>
|
|
4635
|
+
</nav>
|
|
4636
|
+
|
|
4628
4637
|
</li>
|
|
4629
4638
|
|
|
4630
4639
|
<li class="md-nav__item">
|
|
@@ -4964,17 +4973,6 @@
|
|
|
4964
4973
|
</ul>
|
|
4965
4974
|
</nav>
|
|
4966
4975
|
|
|
4967
|
-
</li>
|
|
4968
|
-
|
|
4969
|
-
<li class="md-nav__item">
|
|
4970
|
-
<a href="#bin-vs-lib" class="md-nav__link">
|
|
4971
|
-
<span class="md-ellipsis">
|
|
4972
|
-
|
|
4973
|
-
bin/ vs. lib/
|
|
4974
|
-
|
|
4975
|
-
</span>
|
|
4976
|
-
</a>
|
|
4977
|
-
|
|
4978
4976
|
</li>
|
|
4979
4977
|
|
|
4980
4978
|
</ul>
|
|
@@ -5063,6 +5061,20 @@
|
|
|
5063
5061
|
processing, validation, and plugin loading.</li>
|
|
5064
5062
|
<li>Triggering the build/plugin task named at the command line.</li>
|
|
5065
5063
|
</ol>
|
|
5064
|
+
<h3 id="running-your-repository-with-which-ceedling">Running your repository with Which Ceedling</h3>
|
|
5065
|
+
<p>Depending on what you’re working on you may need to run Ceedling using
|
|
5066
|
+
a specialized approach.</p>
|
|
5067
|
+
<p>To run your local repository on a project, either:</p>
|
|
5068
|
+
<ol>
|
|
5069
|
+
<li>Point <code>:project</code> ↳ <code>:which_ceedling</code> or <code>WHICH_CEEDLING</code> at your
|
|
5070
|
+
repository, then run the <code>ceedling</code> command you already have installed. It hands
|
|
5071
|
+
each command off to your repository’s own <code>bin/ceedling</code>, so your changes
|
|
5072
|
+
in both <code>bin/</code> and <code>lib/</code> run.</li>
|
|
5073
|
+
<li>Run your repository’s <code>bin/ceedling</code> directly. Do this for a command or
|
|
5074
|
+
option only your repository knows, or to attach a debugger.</li>
|
|
5075
|
+
</ol>
|
|
5076
|
+
<p>See <a href="../configuration/which-ceedling.html#ceedling-development">Which Ceedling: Ceedling development</a> for the
|
|
5077
|
+
details and caveats.</p>
|
|
5066
5078
|
<h2 id="installation-options">Installation options</h2>
|
|
5067
5079
|
<h3 id="local-installation">Local installation</h3>
|
|
5068
5080
|
<p>After installing Ruby…</p>
|
|
@@ -5202,7 +5214,7 @@ flag must be passed explicitly every time.</p>
|
|
|
5202
5214
|
<p class="admonition-title">Tip</p>
|
|
5203
5215
|
<p>If you'd rather not remember the <code>--prefer-local</code>, add a shell alias,
|
|
5204
5216
|
e.g. in <code>~/.bashrc</code> / <code>~/.zshrc</code>:</p>
|
|
5205
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="nb">alias</span><span class="w"> </span>bundle-install-local<span class="o">=</span><span class="s2"
|
|
5217
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="nb">alias</span><span class="w"> </span>bundle-install-local<span class="o">=</span><span class="s2">"bundle install --prefer-local"</span>
|
|
5206
5218
|
</code></pre></div>
|
|
5207
5219
|
</div>
|
|
5208
5220
|
<h3 id="checking-your-environment-without-installing-anything">Checking your environment without installing anything</h3>
|
|
@@ -5232,10 +5244,10 @@ statements and conventions are often messy.</p>
|
|
|
5232
5244
|
<p>Each curated entry records three things. The license is an SPDX identifier
|
|
5233
5245
|
or expression. <code>verified_for</code> is the version the license was read against.
|
|
5234
5246
|
<code>source</code> names where it was read.</p>
|
|
5235
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="s1"
|
|
5236
|
-
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="w"> </span><span class="ss">license</span><span class="p">:</span><span class="w"> </span><span class="s1"
|
|
5237
|
-
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="w"> </span><span class="ss">verified_for</span><span class="p">:</span><span class="w"> </span><span class="s1"
|
|
5238
|
-
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span><span class="ss">source</span><span class="p">:</span><span class="w"> </span><span class="s2"
|
|
5247
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="s1">'rake'</span><span class="w"> </span><span class="o">=></span><span class="w"> </span><span class="p">{</span>
|
|
5248
|
+
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="w"> </span><span class="ss">license</span><span class="p">:</span><span class="w"> </span><span class="s1">'MIT'</span><span class="p">,</span>
|
|
5249
|
+
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="w"> </span><span class="ss">verified_for</span><span class="p">:</span><span class="w"> </span><span class="s1">'13.2.1'</span><span class="p">,</span>
|
|
5250
|
+
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span><span class="ss">source</span><span class="p">:</span><span class="w"> </span><span class="s2">"the gem's own gemspec"</span>
|
|
5239
5251
|
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="p">},</span>
|
|
5240
5252
|
</code></pre></div>
|
|
5241
5253
|
<p><code>rake sbom:build</code> refuses to run when the list and the resolved dependencies
|
|
@@ -5366,7 +5378,7 @@ once with the setup task.</p>
|
|
|
5366
5378
|
<p>Then lint the whole project, or only the files your branch changed.</p>
|
|
5367
5379
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint
|
|
5368
5380
|
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>lint:changed
|
|
5369
|
-
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2"
|
|
5381
|
+
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2">"lint:changed[master]"</span>
|
|
5370
5382
|
</code></pre></div>
|
|
5371
5383
|
<p><code>lint:changed</code> is the faster loop while working on a branch. It compares against
|
|
5372
5384
|
<code>next_version</code> unless you name another branch or revision. Quote the task name so
|
|
@@ -5409,8 +5421,8 @@ once with the setup task.</p>
|
|
|
5409
5421
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span>profile:setup
|
|
5410
5422
|
</code></pre></div>
|
|
5411
5423
|
<p>Then profile any example project against any Ceedling build task.</p>
|
|
5412
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2"
|
|
5413
|
-
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2"
|
|
5424
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2">"profile:run[temp_sensor,test:all]"</span>
|
|
5425
|
+
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="w"> </span>><span class="w"> </span>rake<span class="w"> </span><span class="s2">"profile:run[temp_sensor,clobber test:all]"</span>
|
|
5414
5426
|
</code></pre></div>
|
|
5415
5427
|
<p>The first argument names a project under <code>examples/</code>. The choices are
|
|
5416
5428
|
<code>cipher_quest</code>, <code>temp_sensor</code>, and <code>wondrous_forest</code>. The second argument is
|
|
@@ -5574,27 +5586,6 @@ configuration is in <code>mkdocs.yml</code> while the local site bundle configur
|
|
|
5574
5586
|
port 8000, VS Code detects it and shows a notification. The <strong>Ports</strong> panel also
|
|
5575
5587
|
provides an <strong>Open in Browser</strong> button.</p>
|
|
5576
5588
|
<p><strong>Hosted site:</strong> <a href="https://docs.throwtheswitch.org/Ceedling/">https://docs.throwtheswitch.org/Ceedling/</a></p>
|
|
5577
|
-
<h2 id="bin-vs-lib"><code>bin/</code> vs. <code>lib/</code></h2>
|
|
5578
|
-
<p>Most of Ceedling’s functionality is contained in the application code residing
|
|
5579
|
-
in <code>lib/</code>. Ceedling’s command line handling, startup configuration, project
|
|
5580
|
-
file loading, and mixin handling are contained in a “bootloader” in <code>bin/</code>.
|
|
5581
|
-
The code in <code>bin/</code> is the source of the <code>ceedling</code> command line tool and
|
|
5582
|
-
launches the application from <code>lib/</code>.</p>
|
|
5583
|
-
<p>Depending on what you’re working on you may need to run Ceedling using
|
|
5584
|
-
a specialized approach.</p>
|
|
5585
|
-
<p>If you are only working in <code>lib/</code>, you can:</p>
|
|
5586
|
-
<ol>
|
|
5587
|
-
<li>Run Ceedling using the <code>ceedling</code> command line utility you already have
|
|
5588
|
-
installed. The code in <code>bin/</code> will run from your locally installed gem or
|
|
5589
|
-
from within your Docker container and launch the Ceedling application for
|
|
5590
|
-
you.</li>
|
|
5591
|
-
<li>Modify a project file by setting a path value for <code>:project</code> ↳ <code>:which_ceedling</code>
|
|
5592
|
-
that points to the local copy of Ceedling you cloned from the Git repository.</li>
|
|
5593
|
-
</ol>
|
|
5594
|
-
<p>If you are working in <code>bin/</code>, running <code>ceedling</code> at the command line will not
|
|
5595
|
-
call your modified code. Instead, you must execute the path to the executable
|
|
5596
|
-
<code>ceedling</code> in the <code>bin/</code> folder of the local Ceedling repository you are
|
|
5597
|
-
working on.</p>
|
|
5598
5589
|
<p><br/><br/></p>
|
|
5599
5590
|
|
|
5600
5591
|
|
|
@@ -5663,10 +5654,10 @@ working on.</p>
|
|
|
5663
5654
|
|
|
5664
5655
|
|
|
5665
5656
|
|
|
5666
|
-
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.
|
|
5657
|
+
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.a7633da7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
|
|
5667
5658
|
|
|
5668
5659
|
|
|
5669
|
-
<script src="../assets/javascripts/bundle.
|
|
5660
|
+
<script src="../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
5670
5661
|
|
|
5671
5662
|
|
|
5672
5663
|
</body>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
24
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.
|
|
24
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.8.0">
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
<link rel="stylesheet" href="../assets/stylesheets/main.
|
|
32
|
+
<link rel="stylesheet" href="../assets/stylesheets/main.57a0d79d.min.css">
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
<link rel="stylesheet" href="../assets/stylesheets/palette.
|
|
35
|
+
<link rel="stylesheet" href="../assets/stylesheets/palette.fb2fffe2.min.css">
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
@@ -89,30 +89,16 @@
|
|
|
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
|
-
|
|
102
92
|
</div>
|
|
103
93
|
|
|
104
94
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
105
95
|
|
|
106
96
|
<aside class="md-banner md-banner--warning">
|
|
107
97
|
<div class="md-banner__inner md-grid md-typeset">
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
You are not viewing the latest version.
|
|
98
|
+
You are not viewing the latest version.
|
|
111
99
|
<a href="../..">
|
|
112
100
|
<strong>Click here to go to latest.</strong>
|
|
113
101
|
</a>
|
|
114
|
-
|
|
115
|
-
|
|
116
102
|
</div>
|
|
117
103
|
<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
104
|
</aside>
|
|
@@ -4466,6 +4452,8 @@
|
|
|
4466
4452
|
</ol>
|
|
4467
4453
|
<p>Where a C file change ripples out only along that file’s dependency chain, a shared configuration change ripples out across every target that reads that piece of configuration — often the whole project. File changes tend to trigger depth-oriented rebuilds while configuration changes tend to trigger breadth-oriented rebuilds.</p>
|
|
4468
4454
|
<h2 id="delta-build-special-cases">Delta build special cases</h2>
|
|
4455
|
+
<p>An upgrade that changes where Ceedling organizes build output rebuilds everything once. The first build after upgrading logs a warning saying so. Run <code>ceedling clobber</code> to remove the output left in the old layout, which coverage reports in particular would otherwise still read.</p>
|
|
4456
|
+
<p>A link artifact is relinked when a dependent library changes. Ceedling finds library files <a href="../configuration/reference/libraries.html"><code>:libraries</code></a> among <code>:paths</code> ↳ <code>:libraries</code>, and tracks the libraries the <a href="../plugins/dependencies.html">Dependencies plugin</a> builds. A library found only on your toolchain’s own search paths, or through a <code>-L</code> written into <code>:flags</code>, is not tracked. Run <code>ceedling clobber</code> after any such “untracked” library changes.</p>
|
|
4469
4457
|
<p>Add the <a href="command-line.html#ceedling-build-tasks"><code>--force-test-rerun</code></a> flag to test build tasks to bypass the checks for only running changed test fixture executables. This command line flag forces those executables to run and produce fresh test results.</p>
|
|
4470
4458
|
<p>When <a href="../configuration/reference/unity.html#shuffle_tests">Unity’s test shuffling feature</a> is enabled, delta builds automatically rerun test fixture executables to randomize test case order regardless of change or lack thereof in a test’s dependency tree. That is, since the feature requires test executables to run in order to shuffle test case order, effectively, delta builds are disabled for test fixture executables.</p>
|
|
4471
4459
|
<h2 id="delta-build-examples">Delta build examples</h2>
|
|
@@ -4597,10 +4585,10 @@ object’s own source changed.</p>
|
|
|
4597
4585
|
|
|
4598
4586
|
|
|
4599
4587
|
|
|
4600
|
-
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.
|
|
4588
|
+
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.top", "navigation.indexes", "navigation.path", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.a7633da7.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script>
|
|
4601
4589
|
|
|
4602
4590
|
|
|
4603
|
-
<script src="../assets/javascripts/bundle.
|
|
4591
|
+
<script src="../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4604
4592
|
|
|
4605
4593
|
|
|
4606
4594
|
</body>
|