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
|
@@ -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>
|
|
@@ -4540,10 +4526,10 @@ ordering — see <a href="test-runner.html#test_runner-rng_seed"><code>:test_run
|
|
|
4540
4526
|
|
|
4541
4527
|
|
|
4542
4528
|
|
|
4543
|
-
<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.
|
|
4529
|
+
<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>
|
|
4544
4530
|
|
|
4545
4531
|
|
|
4546
|
-
<script src="../../assets/javascripts/bundle.
|
|
4532
|
+
<script src="../../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4547
4533
|
|
|
4548
4534
|
|
|
4549
4535
|
</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>
|
|
@@ -1844,6 +1830,78 @@
|
|
|
1844
1830
|
</span>
|
|
1845
1831
|
</a>
|
|
1846
1832
|
|
|
1833
|
+
</li>
|
|
1834
|
+
|
|
1835
|
+
<li class="md-nav__item">
|
|
1836
|
+
<a href="#hand-off" class="md-nav__link">
|
|
1837
|
+
<span class="md-ellipsis">
|
|
1838
|
+
|
|
1839
|
+
Hand-off
|
|
1840
|
+
|
|
1841
|
+
</span>
|
|
1842
|
+
</a>
|
|
1843
|
+
|
|
1844
|
+
<nav class="md-nav" aria-label="Hand-off">
|
|
1845
|
+
<ul class="md-nav__list">
|
|
1846
|
+
|
|
1847
|
+
<li class="md-nav__item">
|
|
1848
|
+
<a href="#hand-off-by-condition" class="md-nav__link">
|
|
1849
|
+
<span class="md-ellipsis">
|
|
1850
|
+
|
|
1851
|
+
Hand-off by condition
|
|
1852
|
+
|
|
1853
|
+
</span>
|
|
1854
|
+
</a>
|
|
1855
|
+
|
|
1856
|
+
</li>
|
|
1857
|
+
|
|
1858
|
+
<li class="md-nav__item">
|
|
1859
|
+
<a href="#version" class="md-nav__link">
|
|
1860
|
+
<span class="md-ellipsis">
|
|
1861
|
+
|
|
1862
|
+
version
|
|
1863
|
+
|
|
1864
|
+
</span>
|
|
1865
|
+
</a>
|
|
1866
|
+
|
|
1867
|
+
</li>
|
|
1868
|
+
|
|
1869
|
+
<li class="md-nav__item">
|
|
1870
|
+
<a href="#older-launchers" class="md-nav__link">
|
|
1871
|
+
<span class="md-ellipsis">
|
|
1872
|
+
|
|
1873
|
+
Older launchers
|
|
1874
|
+
|
|
1875
|
+
</span>
|
|
1876
|
+
</a>
|
|
1877
|
+
|
|
1878
|
+
</li>
|
|
1879
|
+
|
|
1880
|
+
<li class="md-nav__item">
|
|
1881
|
+
<a href="#projects-vendored-by-110-through-121" class="md-nav__link">
|
|
1882
|
+
<span class="md-ellipsis">
|
|
1883
|
+
|
|
1884
|
+
Projects vendored by 1.1.0 through 1.2.1
|
|
1885
|
+
|
|
1886
|
+
</span>
|
|
1887
|
+
</a>
|
|
1888
|
+
|
|
1889
|
+
</li>
|
|
1890
|
+
|
|
1891
|
+
</ul>
|
|
1892
|
+
</nav>
|
|
1893
|
+
|
|
1894
|
+
</li>
|
|
1895
|
+
|
|
1896
|
+
<li class="md-nav__item">
|
|
1897
|
+
<a href="#ceedling-development" class="md-nav__link">
|
|
1898
|
+
<span class="md-ellipsis">
|
|
1899
|
+
|
|
1900
|
+
Ceedling development
|
|
1901
|
+
|
|
1902
|
+
</span>
|
|
1903
|
+
</a>
|
|
1904
|
+
|
|
1847
1905
|
</li>
|
|
1848
1906
|
|
|
1849
1907
|
</ul>
|
|
@@ -4319,6 +4377,78 @@
|
|
|
4319
4377
|
</span>
|
|
4320
4378
|
</a>
|
|
4321
4379
|
|
|
4380
|
+
</li>
|
|
4381
|
+
|
|
4382
|
+
<li class="md-nav__item">
|
|
4383
|
+
<a href="#hand-off" class="md-nav__link">
|
|
4384
|
+
<span class="md-ellipsis">
|
|
4385
|
+
|
|
4386
|
+
Hand-off
|
|
4387
|
+
|
|
4388
|
+
</span>
|
|
4389
|
+
</a>
|
|
4390
|
+
|
|
4391
|
+
<nav class="md-nav" aria-label="Hand-off">
|
|
4392
|
+
<ul class="md-nav__list">
|
|
4393
|
+
|
|
4394
|
+
<li class="md-nav__item">
|
|
4395
|
+
<a href="#hand-off-by-condition" class="md-nav__link">
|
|
4396
|
+
<span class="md-ellipsis">
|
|
4397
|
+
|
|
4398
|
+
Hand-off by condition
|
|
4399
|
+
|
|
4400
|
+
</span>
|
|
4401
|
+
</a>
|
|
4402
|
+
|
|
4403
|
+
</li>
|
|
4404
|
+
|
|
4405
|
+
<li class="md-nav__item">
|
|
4406
|
+
<a href="#version" class="md-nav__link">
|
|
4407
|
+
<span class="md-ellipsis">
|
|
4408
|
+
|
|
4409
|
+
version
|
|
4410
|
+
|
|
4411
|
+
</span>
|
|
4412
|
+
</a>
|
|
4413
|
+
|
|
4414
|
+
</li>
|
|
4415
|
+
|
|
4416
|
+
<li class="md-nav__item">
|
|
4417
|
+
<a href="#older-launchers" class="md-nav__link">
|
|
4418
|
+
<span class="md-ellipsis">
|
|
4419
|
+
|
|
4420
|
+
Older launchers
|
|
4421
|
+
|
|
4422
|
+
</span>
|
|
4423
|
+
</a>
|
|
4424
|
+
|
|
4425
|
+
</li>
|
|
4426
|
+
|
|
4427
|
+
<li class="md-nav__item">
|
|
4428
|
+
<a href="#projects-vendored-by-110-through-121" class="md-nav__link">
|
|
4429
|
+
<span class="md-ellipsis">
|
|
4430
|
+
|
|
4431
|
+
Projects vendored by 1.1.0 through 1.2.1
|
|
4432
|
+
|
|
4433
|
+
</span>
|
|
4434
|
+
</a>
|
|
4435
|
+
|
|
4436
|
+
</li>
|
|
4437
|
+
|
|
4438
|
+
</ul>
|
|
4439
|
+
</nav>
|
|
4440
|
+
|
|
4441
|
+
</li>
|
|
4442
|
+
|
|
4443
|
+
<li class="md-nav__item">
|
|
4444
|
+
<a href="#ceedling-development" class="md-nav__link">
|
|
4445
|
+
<span class="md-ellipsis">
|
|
4446
|
+
|
|
4447
|
+
Ceedling development
|
|
4448
|
+
|
|
4449
|
+
</span>
|
|
4450
|
+
</a>
|
|
4451
|
+
|
|
4322
4452
|
</li>
|
|
4323
4453
|
|
|
4324
4454
|
</ul>
|
|
@@ -4408,16 +4538,14 @@ in <code>lib/</code>. The code in <code>/bin</code> manages lots of startup deta
|
|
|
4408
4538
|
configuration. Ultimately, it then launches the main application code from
|
|
4409
4539
|
<code>lib/</code>.</p>
|
|
4410
4540
|
<p>The features and conventions controlling <em>which ceedling</em> dictate which
|
|
4411
|
-
|
|
4541
|
+
installation of Ceedling runs your command. When they select an
|
|
4542
|
+
installation other than the one whose <code>ceedling</code> command you ran, the launcher
|
|
4543
|
+
hands your command off to that installation’s own launcher. See
|
|
4544
|
+
<a href="#hand-off">Hand-off</a>.</p>
|
|
4412
4545
|
<div class="admonition note">
|
|
4413
|
-
<p class="admonition-title">Ceedling development
|
|
4414
|
-
<p>
|
|
4415
|
-
|
|
4416
|
-
<code>ceedling</code> launcher in your filesystem.</p>
|
|
4417
|
-
<p>In Unix-like systems:
|
|
4418
|
-
<code>> my/ceedling/changes/bin/ceedling <args></code>.</p>
|
|
4419
|
-
<p>On Windows systems:
|
|
4420
|
-
<code>> ruby my\ceedling\changes\bin\ceedling <args></code>.</p>
|
|
4546
|
+
<p class="admonition-title">Ceedling development</p>
|
|
4547
|
+
<p><em>Which ceedling</em> lets the <code>ceedling</code> command you have installed run your local
|
|
4548
|
+
Ceedling repository. See <a href="#ceedling-development">Ceedling development</a>.</p>
|
|
4421
4549
|
</div>
|
|
4422
4550
|
<h2 id="options-and-precedence">Options and precedence</h2>
|
|
4423
4551
|
<p>When Ceedling starts up, it evaluates a handful of conditions to determine
|
|
@@ -4436,25 +4564,243 @@ which Ceedling location to launch.</p>
|
|
|
4436
4564
|
<code>ceedling</code> launcher is running. In the typical case this is the default
|
|
4437
4565
|
gem installation.</li>
|
|
4438
4566
|
</ol>
|
|
4567
|
+
<p>A path in <code>WHICH_CEEDLING</code> or <code>:which_ceedling</code> may begin with <code>~</code> to name
|
|
4568
|
+
your home directory, as in <code>:which_ceedling: ~/ceedlings/1.2.0</code>.</p>
|
|
4439
4569
|
<div class="admonition note">
|
|
4440
4570
|
<p class="admonition-title">Configuration entry (2) does not make sense in some scenarios</p>
|
|
4441
|
-
<p
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4571
|
+
<p><code>ceedling new</code>, <code>ceedling examples</code>, <code>ceedling example</code>, <code>ceedling docs</code>,
|
|
4572
|
+
and <code>ceedling help</code> outside a project have no project file to read. They
|
|
4573
|
+
use the environment variable or a <code>vendor/ceedling</code> path in your working
|
|
4574
|
+
directory.</p>
|
|
4575
|
+
<p><code>ceedling upgrade</code> re-vendors a project from the Ceedling you run, or from
|
|
4576
|
+
the installation the environment variable names. It never selects a
|
|
4577
|
+
<code>vendor/ceedling</code> path, which inside a project is the copy being replaced.</p>
|
|
4578
|
+
<p><code>ceedling version</code> reads your project file when one is available. See
|
|
4579
|
+
<a href="#hand-off">Hand-off</a>.</p>
|
|
4446
4580
|
</div>
|
|
4447
4581
|
<h2 id="settings">Settings</h2>
|
|
4448
4582
|
<p>The environment variable and configuration entry for <em>Which Ceedling</em> can
|
|
4449
4583
|
contain two values:</p>
|
|
4450
4584
|
<ol>
|
|
4451
|
-
<li>The value <code>gem</code
|
|
4452
|
-
should run the application packaged alongside it in <code>lib/</code> (these
|
|
4585
|
+
<li>The value <code>gem</code>, in any case, indicates that the command line <code>ceedling</code>
|
|
4586
|
+
launcher should run the application packaged alongside it in <code>lib/</code> (these
|
|
4453
4587
|
paths are typically found in the gem installation location).</li>
|
|
4454
4588
|
<li>A relative or absolute path in your file system. Such a path should
|
|
4455
4589
|
point to the top-level directory that contains Ceedling’s <code>bin/</code> and
|
|
4456
|
-
<code>lib/</code> sub-directories
|
|
4590
|
+
<code>lib/</code> sub-directories. A relative path is relative to your working
|
|
4591
|
+
directory, not to your project file.</li>
|
|
4592
|
+
</ol>
|
|
4593
|
+
<h2 id="hand-off">Hand-off</h2>
|
|
4594
|
+
<p>When <em>which ceedling</em> selects an installation other than the one whose
|
|
4595
|
+
<code>ceedling</code> command you ran, every command except <code>version</code> runs in the selected
|
|
4596
|
+
installation. Its own launcher replaces the one you ran, in a new process,
|
|
4597
|
+
and receives your original command line. Your command then runs wholly on the
|
|
4598
|
+
selected installation’s code, whatever its version.</p>
|
|
4599
|
+
<p>One command falls back. A <code>--local</code> copy carries no documentation bundle, so
|
|
4600
|
+
<code>ceedling docs</code> with such a copy selected exports the documentation of the
|
|
4601
|
+
<code>ceedling</code> command you ran instead, with a notice naming both installations.</p>
|
|
4602
|
+
<p>Both sides log a notice, naming each installation and its version where
|
|
4603
|
+
it can be read:</p>
|
|
4604
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>NOTICE: Ceedling launcher 1.2.2 at /var/lib/gems/3.3.0/gems/ceedling-1.2.2/ is handing off to Ceedling 1.2.0 at /home/me/project/vendor/ceedling/, which runs in its own process.
|
|
4605
|
+
</code></pre></div>
|
|
4606
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>NOTICE: Ceedling 1.2.3 at /home/me/project/vendor/ceedling/ is now running, launched from Ceedling 1.2.2 at /var/lib/gems/3.3.0/gems/ceedling-1.2.2/.
|
|
4607
|
+
</code></pre></div>
|
|
4608
|
+
<p>The second notice comes only from Ceedling 1.2.2 or later. Commands that
|
|
4609
|
+
quiet logging, such as <code>help</code> and <code>dumpconfig</code>, show neither.</p>
|
|
4610
|
+
<p>A hand-off adds about 0.2 seconds to a command.</p>
|
|
4611
|
+
<h3 id="hand-off-by-condition">Hand-off by condition</h3>
|
|
4612
|
+
<p>The table names one of five mechanisms per condition:</p>
|
|
4613
|
+
<ul>
|
|
4614
|
+
<li><strong>In-process:</strong> the <code>ceedling</code> command you run does the work itself.</li>
|
|
4615
|
+
<li><strong>Hand-off:</strong> the selected installation’s own launcher runs the command, in a new process.</li>
|
|
4616
|
+
<li><strong>Restart:</strong> an application loaded by an older launcher restarts in its own process.</li>
|
|
4617
|
+
<li><strong>Report:</strong> the <code>ceedling</code> command you run reports on both installations without running the selected one.</li>
|
|
4618
|
+
<li><strong>Stop:</strong> the <code>ceedling</code> command you run stops with advice.</li>
|
|
4619
|
+
</ul>
|
|
4620
|
+
<table>
|
|
4621
|
+
<thead>
|
|
4622
|
+
<tr>
|
|
4623
|
+
<th>Condition</th>
|
|
4624
|
+
<th>Example</th>
|
|
4625
|
+
<th>Mechanism</th>
|
|
4626
|
+
<th>Behavior in 1.2.2+</th>
|
|
4627
|
+
</tr>
|
|
4628
|
+
</thead>
|
|
4629
|
+
<tbody>
|
|
4630
|
+
<tr>
|
|
4631
|
+
<td>The selection is the installation you run</td>
|
|
4632
|
+
<td><code>ceedling test:all</code> with the gem and <code>:which_ceedling: gem</code></td>
|
|
4633
|
+
<td>In-process</td>
|
|
4634
|
+
<td>Runs as before 1.2.2, with no notice</td>
|
|
4635
|
+
</tr>
|
|
4636
|
+
<tr>
|
|
4637
|
+
<td>The selection is the same installation by another path</td>
|
|
4638
|
+
<td><code>:which_ceedling</code> names a symlink to the gem’s directory</td>
|
|
4639
|
+
<td>In-process</td>
|
|
4640
|
+
<td>Paths are compared after resolving links, so nothing is handed off</td>
|
|
4641
|
+
</tr>
|
|
4642
|
+
<tr>
|
|
4643
|
+
<td>The selection is another installation</td>
|
|
4644
|
+
<td>The gem’s <code>ceedling test:all</code> in a <code>--local</code> project</td>
|
|
4645
|
+
<td>Hand-off</td>
|
|
4646
|
+
<td>The vendored copy runs the build whole, whatever its version. Both sides log a notice.</td>
|
|
4647
|
+
</tr>
|
|
4648
|
+
<tr>
|
|
4649
|
+
<td>A command without a project selects another installation</td>
|
|
4650
|
+
<td><code>ceedling new</code> with <code>WHICH_CEEDLING</code> set</td>
|
|
4651
|
+
<td>Hand-off</td>
|
|
4652
|
+
<td>The selected installation creates the project with its own code and files</td>
|
|
4653
|
+
</tr>
|
|
4654
|
+
<tr>
|
|
4655
|
+
<td>The selection is a development checkout</td>
|
|
4656
|
+
<td>The gem’s <code>ceedling test:all</code> with <code>:which_ceedling: /home/me/dev/ceedling</code></td>
|
|
4657
|
+
<td>Hand-off</td>
|
|
4658
|
+
<td>The checkout’s own <code>bin/</code> and <code>lib/</code> run the command, so every change takes effect</td>
|
|
4659
|
+
</tr>
|
|
4660
|
+
<tr>
|
|
4661
|
+
<td><code>docs</code> selects a <code>--local</code> copy</td>
|
|
4662
|
+
<td><code>ceedling docs out/</code> in a <code>--local</code> project</td>
|
|
4663
|
+
<td>In-process</td>
|
|
4664
|
+
<td>Exports the documentation of the <code>ceedling</code> command you run, with a notice</td>
|
|
4665
|
+
</tr>
|
|
4666
|
+
<tr>
|
|
4667
|
+
<td><code>version</code> with a selection</td>
|
|
4668
|
+
<td><code>ceedling version</code> in a <code>--local</code> project</td>
|
|
4669
|
+
<td>Report</td>
|
|
4670
|
+
<td>Lists <code>Ceedling Launcher =></code> and <code>Ceedling App =></code>, each with its own version</td>
|
|
4671
|
+
</tr>
|
|
4672
|
+
<tr>
|
|
4673
|
+
<td><code>upgrade</code> inside a <code>--local</code> project</td>
|
|
4674
|
+
<td><code>ceedling upgrade .</code></td>
|
|
4675
|
+
<td>Stop</td>
|
|
4676
|
+
<td>Refuses to upgrade the vendored copy from itself</td>
|
|
4677
|
+
</tr>
|
|
4678
|
+
<tr>
|
|
4679
|
+
<td>The selection is a copy vendored by 1.1.0 through 1.2.1</td>
|
|
4680
|
+
<td>The gem’s <code>ceedling test:all</code> in a project vendored by 1.2.0</td>
|
|
4681
|
+
<td>Stop</td>
|
|
4682
|
+
<td>Advises re-vendoring with <code>ceedling upgrade</code></td>
|
|
4683
|
+
</tr>
|
|
4684
|
+
<tr>
|
|
4685
|
+
<td>A launcher before 1.2.2 selects a 1.2.2+ application</td>
|
|
4686
|
+
<td>A 1.2.1 gem <code>ceedling test:all</code> in a project vendoring 1.2.2</td>
|
|
4687
|
+
<td>Restart</td>
|
|
4688
|
+
<td>Logs a warning, then the application runs whole. If it can’t restart, it warns and continues in the older launcher’s process.</td>
|
|
4689
|
+
</tr>
|
|
4690
|
+
<tr>
|
|
4691
|
+
<td>A launcher before 1.2.2 runs a command without a project</td>
|
|
4692
|
+
<td>A 1.2.1 gem <code>ceedling new</code> with <code>WHICH_CEEDLING</code> naming 1.2.2</td>
|
|
4693
|
+
<td>In-process</td>
|
|
4694
|
+
<td>The older launcher’s own code runs the command. Upgrade the <code>ceedling</code> command you run.</td>
|
|
4695
|
+
</tr>
|
|
4696
|
+
</tbody>
|
|
4697
|
+
</table>
|
|
4698
|
+
<h4 id="example-scenarios">Example scenarios</h4>
|
|
4699
|
+
<p>These show when the conditions above come into play, and which goal each
|
|
4700
|
+
serves.</p>
|
|
4701
|
+
<p><strong>Pin a team’s project to one Ceedling version.</strong> Create the project with
|
|
4702
|
+
<code>ceedling new --local</code>, and commit <code>vendor/ceedling/</code>. Each teammate can then
|
|
4703
|
+
run the project with whatever 1.2.2+ gem they have installed. The gem hands
|
|
4704
|
+
each command off to the vendored copy, so everyone builds with the same
|
|
4705
|
+
version. <code>ceedling version</code> confirms it under <code>Ceedling App =></code>.</p>
|
|
4706
|
+
<p><strong>Keep an older project on its version while you upgrade the gem.</strong> A
|
|
4707
|
+
project vendoring 1.2.0 still builds with 1.2.0 after you install the 1.2.2
|
|
4708
|
+
gem, because the gem hands off to the vendored copy. If the copy was vendored
|
|
4709
|
+
by 1.1.0 through 1.2.1, the gem stops instead. Re-vendor it as below, or
|
|
4710
|
+
copy Unity’s <code>test/targets/</code> into the copy to keep its version.</p>
|
|
4711
|
+
<p><strong>Upgrade a vendored project.</strong> Run <code>upgrade</code> with the Ceedling you want,
|
|
4712
|
+
from outside the project:</p>
|
|
4713
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="w"> </span>><span class="w"> </span>ceedling<span class="w"> </span>upgrade<span class="w"> </span>my_project
|
|
4714
|
+
</code></pre></div>
|
|
4715
|
+
<p>To re-vendor with an installation other than the one you run, name it in
|
|
4716
|
+
<code>WHICH_CEEDLING</code>. Run from inside the project, <code>upgrade</code> stops, because the
|
|
4717
|
+
vendored copy would be both source and destination.</p>
|
|
4718
|
+
<p><strong>Create a project with a version you haven’t installed as a gem.</strong> Point
|
|
4719
|
+
<code>WHICH_CEEDLING</code> at an unpacked copy or a checkout of that version. <code>new</code>
|
|
4720
|
+
hands off to it, so the project, its vendored files, and its recorded
|
|
4721
|
+
<code>:ceedling_version:</code> all come from that version:</p>
|
|
4722
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="w"> </span>><span class="w"> </span><span class="nv">WHICH_CEEDLING</span><span class="o">=</span>~/ceedlings/1.2.0<span class="w"> </span>ceedling<span class="w"> </span>new<span class="w"> </span>--local<span class="w"> </span>my_project
|
|
4723
|
+
</code></pre></div>
|
|
4724
|
+
<p><strong>Compare versions, or find where a behavior changed.</strong> Set <code>WHICH_CEEDLING</code>
|
|
4725
|
+
for each run instead of editing the project file. It overrides
|
|
4726
|
+
<code>:which_ceedling</code> and a <code>vendor/ceedling/</code> copy, so a CI job can build one
|
|
4727
|
+
project with several versions:</p>
|
|
4728
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="w"> </span>><span class="w"> </span><span class="nv">WHICH_CEEDLING</span><span class="o">=</span>~/ceedlings/1.2.0<span class="w"> </span>ceedling<span class="w"> </span>test:all
|
|
4729
|
+
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span>><span class="w"> </span><span class="nv">WHICH_CEEDLING</span><span class="o">=</span>~/ceedlings/1.2.2<span class="w"> </span>ceedling<span class="w"> </span>test:all
|
|
4730
|
+
</code></pre></div>
|
|
4731
|
+
<p><strong>Run a 1.2.2 project in a CI image with an older gem.</strong> A Docker image
|
|
4732
|
+
shipping a 1.2.1 gem loads the vendored 1.2.2 application into its own
|
|
4733
|
+
process. The application restarts itself, with a warning. To avoid the
|
|
4734
|
+
restart, run the project’s <code>./ceedling</code> launch script, or upgrade the image.</p>
|
|
4735
|
+
<p><strong>Develop Ceedling itself.</strong> Point <code>:which_ceedling</code> at your local
|
|
4736
|
+
repository and keep running the installed gem. See
|
|
4737
|
+
<a href="#ceedling-development">Ceedling development</a>.</p>
|
|
4738
|
+
<div class="admonition note">
|
|
4739
|
+
<p class="admonition-title">The launcher you run still parses your command line</p>
|
|
4740
|
+
<p>The <code>ceedling</code> command you run reads your command line before it hands off, so it
|
|
4741
|
+
rejects an option that only the selected installation knows. Run the
|
|
4742
|
+
selected installation’s own launcher instead, such as <code>./ceedling</code> in a
|
|
4743
|
+
<code>--local</code> project.</p>
|
|
4744
|
+
</div>
|
|
4745
|
+
<h3 id="version"><code>version</code></h3>
|
|
4746
|
+
<p><code>ceedling version</code> reports on both installations rather than hand off. It
|
|
4747
|
+
reads your project file when one is available, or the one <code>--project</code> names,
|
|
4748
|
+
along with any <code>--mixin</code>s. When the project selects another installation, it
|
|
4749
|
+
lists <code>Ceedling Launcher =></code> and <code>Ceedling App =></code> separately, each with its
|
|
4750
|
+
own version.</p>
|
|
4751
|
+
<h3 id="older-launchers">Older launchers</h3>
|
|
4752
|
+
<p>A launcher before 1.2.2 loads the selected installation’s application into
|
|
4753
|
+
its own process instead of handing off. A 1.2.2 or later application detects
|
|
4754
|
+
this, logs a warning, and restarts in its own process with your original
|
|
4755
|
+
command line. <code>new</code>, <code>example</code>, <code>examples</code>, <code>upgrade</code>, <code>docs</code>, and <code>help</code>
|
|
4756
|
+
without a project never load the application, so these still run the older
|
|
4757
|
+
launcher’s own code. Upgrade the <code>ceedling</code> command you run to avoid this.</p>
|
|
4758
|
+
<h3 id="projects-vendored-by-110-through-121">Projects vendored by 1.1.0 through 1.2.1</h3>
|
|
4759
|
+
<p><code>ceedling new --local</code> in Ceedling 1.1.0 through 1.2.1 left Unity’s built-in
|
|
4760
|
+
mixins out of the vendored copy, so that copy cannot run on its own. The
|
|
4761
|
+
<code>ceedling</code> command you run stops with advice instead of handing off to it. Re-vendor
|
|
4762
|
+
the project with <code>ceedling upgrade <project path></code>.</p>
|
|
4763
|
+
<h2 id="ceedling-development">Ceedling development</h2>
|
|
4764
|
+
<p><em>Which ceedling</em> lets you run your local Ceedling repository on a project
|
|
4765
|
+
from the <code>ceedling</code> command you already have installed. Set <code>:project</code> ↳
|
|
4766
|
+
<code>:which_ceedling</code> in the project file, or <code>WHICH_CEEDLING</code>, to the path of
|
|
4767
|
+
your repository:</p>
|
|
4768
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="nt">:project</span><span class="p">:</span>
|
|
4769
|
+
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="w"> </span><span class="nt">:which_ceedling</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/home/me/dev/ceedling</span>
|
|
4770
|
+
</code></pre></div>
|
|
4771
|
+
<p>The installed <code>ceedling</code> command hands every command off to your repository’s own
|
|
4772
|
+
<code>bin/ceedling</code>. Your command runs wholly on your repository’s <code>bin/</code> and
|
|
4773
|
+
<code>lib/</code>, so changes in either take effect. <code>ceedling version</code> lists both
|
|
4774
|
+
installations, your repository with its <code>.dev</code> tag.</p>
|
|
4775
|
+
<p>Before 1.2.2, the installed <code>ceedling</code> command loaded your repository’s application
|
|
4776
|
+
into its own process. Any <code>lib/</code> file it had already loaded stayed the
|
|
4777
|
+
installed copy, so changes to those files were silently ignored.</p>
|
|
4778
|
+
<p>Keep in mind:</p>
|
|
4779
|
+
<ol>
|
|
4780
|
+
<li><strong>Your repository’s <code>bin/</code> runs as well as its <code>lib/</code>.</strong> The installed
|
|
4781
|
+
launcher never runs your repository’s application. To exercise a
|
|
4782
|
+
particular launcher, run its <code>bin/ceedling</code> directly.</li>
|
|
4783
|
+
<li><strong>The installed <code>ceedling</code> command parses your command line first.</strong> It rejects a
|
|
4784
|
+
command or option that exists only in your repository. Run your
|
|
4785
|
+
repository’s launcher directly for those.</li>
|
|
4786
|
+
<li><strong>Your repository must run on its own.</strong> It needs <code>bin/ceedling</code> and its
|
|
4787
|
+
checked-out Git submodules, including Unity’s <code>test/targets/</code>. Otherwise
|
|
4788
|
+
the installed <code>ceedling</code> command stops with advice.</li>
|
|
4789
|
+
<li><strong>A debugger or profiler loses the command at the hand-off.</strong> It attaches
|
|
4790
|
+
to the installed <code>ceedling</code> command, whose process the hand-off replaces. Attach
|
|
4791
|
+
it to your repository’s launcher directly instead.</li>
|
|
4792
|
+
<li><strong>A hand-off adds about 0.2 seconds</strong> to each command.</li>
|
|
4793
|
+
<li><strong><code>ceedling docs</code> exports the installed <code>ceedling</code> command’s documentation</strong> when
|
|
4794
|
+
your repository has no built <code>site-local/</code> bundle.</li>
|
|
4795
|
+
<li><strong>A path that resolves to the installation you run is not handed off.</strong>
|
|
4796
|
+
The plugin test suites’ <code>:which_ceedling: ../../../..</code> names the
|
|
4797
|
+
repository running them, so they run in-process.</li>
|
|
4457
4798
|
</ol>
|
|
4799
|
+
<p>To run your repository’s launcher directly:</p>
|
|
4800
|
+
<ul>
|
|
4801
|
+
<li>In Unix-like systems: <code>> ~/dev/ceedling/bin/ceedling <args></code>.</li>
|
|
4802
|
+
<li>On Windows systems: <code>> ruby %USERPROFILE%\dev\ceedling\bin\ceedling <args></code>.</li>
|
|
4803
|
+
</ul>
|
|
4458
4804
|
<p><br/><br/></p>
|
|
4459
4805
|
|
|
4460
4806
|
|
|
@@ -4523,10 +4869,10 @@ contain two values:</p>
|
|
|
4523
4869
|
|
|
4524
4870
|
|
|
4525
4871
|
|
|
4526
|
-
<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.
|
|
4872
|
+
<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>
|
|
4527
4873
|
|
|
4528
4874
|
|
|
4529
|
-
<script src="../assets/javascripts/bundle.
|
|
4875
|
+
<script src="../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4530
4876
|
|
|
4531
4877
|
|
|
4532
4878
|
</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>
|
|
@@ -4415,10 +4401,10 @@ available build step hooks.</p>
|
|
|
4415
4401
|
|
|
4416
4402
|
|
|
4417
4403
|
|
|
4418
|
-
<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.
|
|
4404
|
+
<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>
|
|
4419
4405
|
|
|
4420
4406
|
|
|
4421
|
-
<script src="../assets/javascripts/bundle.
|
|
4407
|
+
<script src="../assets/javascripts/bundle.c21346df.min.js"></script>
|
|
4422
4408
|
|
|
4423
4409
|
|
|
4424
4410
|
</body>
|