This is an automated email from the ASF dual-hosted git repository. pnoltes pushed a change to branch feature/type_support_for_properties in repository https://gitbox.apache.org/repos/asf/celix.git
from 717869d6 Add missing output param in serviceReference_getPropertyKeys add c3c5772e Add initial coding conventions markdown document add d188dd40 Update coding convention doc add 7ec7c39f Add .clang-format file add 65750a55 Update the naming convention documentation add b38d0805 Merge remote-tracking branch 'origin/master' into feature/coding_conventions add a565eff2 Update coding convention doc (#442) add 88ea1270 Update clang-format file (#508) add b688dc06 Apply suggestions from code review add ef45f41c Applied some of the review comments for PR #544 add 90ffe525 Fix issue that a NULL bundle handle still got an activator. add 052172ad Merge pull request #548 from apache/hotfix/do-not-use-dlsym-with-bundle-handle-null add 36872594 Add celix_utils_trimInPlace, and replace all uses of utils_stringTrim. add 8c403f84 Recover proper use of celix_utils_trimInPlace. add 0be6a842 Recover proper use of celix_utils_trimInPlace. add d04b2c19 Fix two typos. add b1ebd8a5 Merge pull request #545 from apache/feature/trim_string_in_place add 626e23c9 Add verbosity control to log control service. add a13c92b3 Add celix::log_admin detail subcommand to switch selected loggers between detailed and brief mode. add 45270862 Add conan_test_package for rsa_discovery_zeroconf add 56a10dd5 Resolve rsa_dfi Compile error add fc18c65d Merge pull request #549 from xuzhenbao/add_conan_test_package_for_DZF add fec755e5 Merge branch 'master' into feature/490-add-verbose-log-ctrl add b2be044a Document since which version of the log control service the newly added methods are available. add 9551608b Merge pull request #550 from apache/feature/490-add-verbose-log-ctrl add 6268ea70 #551: Add 1st part of the requirement-capability-model lib add 3409fb5f Apply suggestions from code review add de6ec076 Improve ownership handling of cap/req for librcm add 431d2dbf Merge pull request #547 from apache/feature/551-add-1st-part-req-cap-model-lib add 04f60cdd Remove fw_refreshBundle used during uninstall add 2a9aaa6a Add callback data with ctx usage to celix_dependencyManager_createInfos add c907d6a6 Ensure that dm info only gets retrieved for activate bundles add 29cb4a3b Merge pull request #553 from apache/hotfix/remove-refresh-bundle-after-uninstall add f5fe0f4f Implement the OSGi semantics of bundle uninstallation. add b1ab9caf Add test for bundle uninstall. add 636b11ab Merge pull request #554 from apache/feature/correct_uninstall_semantics add 77722f5a Revert "[RFC]the OSGi semantics of bundle uninstall." add eaa79e00 Merge pull request #555 from apache/revert-554-feature/correct_uninstall_semantics add 49ef5c22 Merge remote-tracking branch 'origin/master' into feature/coding_conventions add 8ed95f2c Update dev guidelines and clang-format add ec718724 Remove redundant clang-format options add e32f4d5f Use std::int8_t as enum class base add 74d9c24e Update coding conventions readme add d2a82305 Remove include regroup from clang-format file add 4a1ef22a Improving rsa_shm according to code reviews add 9175b303 Removing unnecessary type conversions from celix_errno add cc9e0f1f Add synchronization between shm client and server when client exits add f647eccf Set ERROR_INJECTOR_DFI default ON add 6954a85e Handle error for endpointDescription_clone add ad97eeb8 Add unit test for rsa_common add 96221707 Replace the hash_map in rsa_json_rpc with celix_long_hash_map add 5eb30e65 Add error injector for celix_long_hash_map add c9ce507d Resolve busy loop error add 099d7659 Reuse dfi option to its error injector add 3d24c025 Add conan option for mdnsresponder_ei add 3c903725 error_injector_mdnsresponder not support MacOS add 46e73d1c Revert "error_injector_mdnsresponder not support MacOS" add 3b966579 Revert "Add conan option for mdnsresponder_ei" add ad96edc1 Add validata for rsa_shm and discovery_zeroconf add 6669d38c Revert "Add synchronization between shm client and server when client exits" add e62f269f Add celix_bundleCache_destroyArchive to support OSGi uninstall. add a0a37549 Add more test cases for celix_bundleCache_create error handling. add 821ab600 Add through unit test for bundle cache. add 15f03915 Merge pull request #558 from apache/feature/556-osgi-uninstall add c00bcbab Add unit test for 2 errno marcros add acb71bd8 Merge pull request #559 from apache/feature/celix_errno_tests add 205321eb Add fix to handle dm cmp allActive / createInfo for installed but not started bundles add 7f095dca Merge pull request #560 from apache/hotfix/dm_all_component_active_segfault add 0c78bdcf Merge branch 'master' into rsa_shm_unit_test add cd5a44cf Merge pull request #551 from xuzhenbao/rsa_shm_unit_test add 96b22b7d Add tests for system bundle archive creation failures. add 26fffc94 Add tests for normal bundle archive creation failures. add eca2f207 Delete residue archive directory in case of errors. add 7e0541fe Fix logging null string in case of bundleArchive_revise error. add be8461b7 Add more tests for bundle archive. add 3842b6e3 Fix a memory leak in test. add 2e24b1f6 Avoid unnecessary disk write with an extra disk read. add 53cf5860 Merge pull request #564 from apache/feature/556-osgi-uninstall add 12a8f42b Correct build errors on OSX, issue #567 add 2efed0a8 Merge pull request #568 from schorg/master add be88ea02 Merge remote-tracking branch 'origin/master' into feature/coding_conventions add 9fd85c9f Move celix::Exception to utils and refactor to use using ctor add f9ada53f Merge pull request #570 from apache/feature/simplify-cxx-exceptions add 546490e9 Merge remote-tracking branch 'origin/master' into feature/coding_conventions add ab2cc5e6 Merge pull request #544 from apache/feature/coding_conventions add 47234f31 Replace ci config with ctest --output-on-failure add c9ab5288 Merge pull request #573 from apache/feature/less_verbose_logging_on_ci add 98f187b9 Fix race condition introduced by celix_framework_installBundleInternal. add 063593cd Use read-write-lock to protect bundle state transition. add 73dac42f Implement OSGi uninstall, and make install/uninstall thread-safe. add 6008b3d7 Add support for bundle unload. add 27383f6c Update all bundle activator to use async service registration. add ea6a979c Add useActiveBundles. add cccf30aa Add full support of bundle update. add fc851349 Merge branch 'master' into feature/556-osgi-uninstall-2 add 415b8eb3 Implement bundle update as bundle unload plus bundle install. add 55cd8814 Fix misuse of DEPENDS in add_custom_target for a target rather than a file. add 7319b48f Make cleanup of BUNDLE_GEN_DIR work again. add cfd6b440 Fix several typos. add eccbb7f9 Fix inconvenience brought about by BUILD_WITH_INSTALL_RPATH when building bundles (#571). add 514a71e8 Remove redundant target_link_libraries to work around BUILD_WITH_INSTALL_RPATH. add 40df914a A better workaround of the issue of private linking of transitive dependencies. add c7c818e2 Fix missing `DEPENDS` in `celix_bundle_libs` and typos. add ff6b3ef9 Merge branch 'master' into feature/556-osgi-uninstall-2 add e62187d3 Fix a minor typo. add 52227e65 Minor typo fix and documentation improvement. add f9403df0 Replace recursive mutex by normal one. add ff0c44cd Revert "Update all bundle activator to use async service registration." add 6c061080 Make unload an internal operation to avoid confusing our users. add 58a3c3b0 Minor documentation improvement. add 24d624ef Merge pull request #569 from apache/feature/556-osgi-uninstall add 7d4fbbe2 Remove DEBUG level and INFO level logs for dfi add e4a0dd1c Replace LOG_ERROR to celix_err_push add 97354b99 Add log helper for thread-specific storage error messages add 5172a052 Fix bugs for dfi add f0304893 Use logHelper print dfi error messages add 4ac68f78 Merge branch 'apache:master' into improve_logHelper_for_dfi add 67db163a Resolve MacOS Compilation problems add 8620b9d7 Resolve MacOS Compilation problems add 0b92b0d8 Modify comments for logHelper add 34e83fe0 Modify the dfi version, because add celix_err to it add 1a24150c Add comments for dfi interface add ba9a2002 Replace printf to celix_err_push for rsa_shm add 20efc11b Merge branch 'apache:master' into improve_logHelper_for_dfi add b8093ad0 Use logHelper print dfi error message add 189efe44 Resolve typo add 682cf0c8 Revert "Replace LOG_ERROR to celix_err_push" add e2d7d486 Use celix_err to implement LOG_ERROR of dfi, and remove LOG_WARNING add 8f60311e Mark dif_log_util.h as deprecated add e8c13048 Add logHelper for celix_err add 44e19aed Bug fix: check reply of jsonRpc add 6e3bc4c4 Merge pull request #565 from xuzhenbao/improve_logHelper_for_dfi add 13425e30 Revert "A better workaround of the issue of private linking of transitive dependencies." add dda89f07 Merge pull request #575 from apache/hotfix/transitive-private-deps add d0aa3406 Add missing `find_package` to make examples standalone. add a03f83d3 Merge pull request #577 from apache/hotfix/standalone-examples add 1af08124 Add initial setup for OSGi-like conditions add cb9f45dd Fix query command to include framework services add 69fb405d Disable condition in framwork add ab6b1aa5 Add initial implement of scheduled event for the event thread add 3cecc3fc Add error injection test suite for scheduled event add 2e907387 Refactor scheduled event to support wakeups add 950e5f65 Add remove callback for scheduled event add 36e70143 Merge remote-tracking branch 'origin/master' into feature/scheduled_event_on_event_thread add e72bb907 Fix mem leak in schedule event handling add 8468860f Add schedule event documentation add f2fd288a Refactor scheduled event removal handling add 8ca23ebf Refactor scheduled event wakeup add 85f48ab1 Change clock to realtime for celix_cond_waitUntil usage add 34a65c06 Fix issue in celix_addDelayInSecondsToTime add e42ee60e Make callbacks in ScheduledEvent static add 309ed9ce Refactor remote services discovery poller for scheduled event usage add c62baa02 Replace thread in PSTM for scheduled event add 94398a25 Add scheduled event name to RSA disc poller add ba22bf22 Update timing of scheduled event tests add 24ec8176 Merge remote-tracking branch 'origin/master' into feature/scheduled_event_on_event_thread add 7e3e91f2 Rename celix_addDelayInSecondsToTime add b5bea53a Add celix_threadCondition_getTime for cond timeout usage add 47d49d5f Refactor scheduled event to use celixThreadCondition_getTime add 5658cac5 Refactor service tracker to use celixThreadCondition_waitUntil add 9ec9f084 Rename argument to conform to camelCase style add bcd08d37 Replace thread in shm disc watcher to scheduled event add 62bf74f4 Refactor topman scope test with "becomes" condition add bf4bd0e8 Refactor some scheduled event test to use a wait for predicate add 438ca306 Refactor some scheduled event test to use a wait for predicate add a92fb2ee Relax some timing checks in scheduled event test suite add 64cbc819 Fix some issues with the introduction of scheduled event add 006e8e17 Remove commented out code in pstm add 4bc5fc9f Fix wrong clock in celixThreadCondition_getDelayedTime add 946e6c5c Update more scheduled event tests with a "becomes" approach add 95e39ad0 Update more scheduled event tests with a "becomes" approach add 1c5ecf36 Relax timing error in sched test suite add 67505e55 Add missing interval time to "becomes" test add f884cea3 Increase error margin in scheduled event test for macos add 0dd04337 Increase error margin in scheduled event test for linux add eda55fbe Move log level toString/fromString functions to log level header/impl add 6140f6a8 Test scheduled event processing log timeout. add 30829423 Fix wrong include add 72478e80 Add a retain guard for scheduled event based on the __cleanup__ attribute add 55120acb Increase sleep time to ensure timeout log message is printed for scheduled event test suite add abe8c76b Relax timing in TimedWaitEventQueueTest test add db65a815 Merge branch 'feature/scheduled_event_on_event_thread' into feature/osgi_conditions add b5964b64 Refactor conditions to framework bundle add 116f92f0 Add FrameworkConditionsTestSuite and refactor fw conditions impl add 908f932b Add error injection tests for fw bundle and factory add 1ace083c Add framework celix_condition services documentation add 1df9b816 Avoid realtime clock on macOS. add b812c6b2 Fix wrong test assertion. add 2d736ba4 Relax timing in CondTimedWaitTest. add fe681c40 Add test for short path in celixThreadCondition_waitUntil. add 33e1e309 Minor documentation improvements. add 1ac3e3e1 Enable format string check in logging message. add d1caf178 Unify the semantics of celix_framework_waitForEmptyEventQueueFor and celix_framework_waitForEmptyEventQueue. add 4331c46c Fix API documentation errors. add 0273072e Implement the literal meaning of errorIfNotFound. add 6bb8de50 Remove unnecessary bundle stop operation. add 6e3aa032 Avoid waiting for removed event to be processed. add d9946de1 Fix minor typos. add 2265d614 Fix potential use-after-free. add 03aa4fa7 Eliminate the possibility of returning EINTR. add e9d5c063 Add missing ctx checks. add 95116c34 Remove unnecessary `celix_framework_stopBundleEntry` from `framework_shutdown`. add 9896c8e8 Improve error codes of celixThreadCondition_waitUntil. add b2a79be9 Remove unused function. add 500321dd Revert "Remove unused function." add c1a17ef4 Revert "Remove unnecessary `celix_framework_stopBundleEntry` from `framework_shutdown`." add b706d163 Make sure the framework bundle has been stopped before stopping the event dispatcher. add bb8c349a Remove unused function. add 35db4394 Remove unnecessary synchronizations for async bundle operations. add 4863418f Remove unnecessary directory creation in `celix_bundleArchive_createCacheDirectory`. add 60627426 Use the last modification time of the bundle archive cache dir rather than that of the manifest. add 9eee2ff1 Add initial support for uncompressed bundle. add 3f3daa15 Fix broken dependency specification in CelixConfig.cmake. add b630c291 Merge pull request #580 from apache/hotfix/cmake-config-deps add 519764c9 Make Cxx option defaults work. add 5bff73aa Merge pull request #581 from apache/hotfix/broken-cxx-option-default add 8470b0b2 Merge branch 'master' into feature/522-support-uncompressed-bundle add eec3661c Add basic unit tests for uncompressed bundle support. add b0909e78 Remove dangling link to non-existing uncompressed bundle during bundle installation/updating. add ec049083 Merge pull request #582 from apache/feature/522-support-uncompressed-bundle add be34f24c Add hide symbols config for static bundles libs add fac303ec Remove hide symbols from rsa_common add b0339baa Revert "Remove hide symbols from rsa_common" add 55b76b65 Fix testing issue caused by `celix_target_hide_symbols(rsa_common)`. add 740fe550 Add the "hide symbols" configuration to remaining shared library under libs dir. add 5d0e47d6 Fix standalone etcdlib build error. add b6a4713f Apply symbol visibility control for standalone etcdlib. add 17035e0f Revert "Apply symbol visibility control for standalone etcdlib." add 7e9911bb Revert "Fix standalone etcdlib build error." add 84934abb Revert "Add the "hide symbols" configuration to remaining shared library under libs dir." add f9e28753 Merge pull request #584 from apache/feature/442-export-headers-bundle-libs add 28564af5 Merge branch 'master' into feature/scheduled_event_on_event_thread add fe902d06 Refactor scheduled event to use nextDeadline instead of lastScheduledEventTime add 45e4dd11 Fix move semantics of ScheduledEvent add 55c803e6 Revert scheduled event usage in pstm, because network io is used add 2b2ef9b7 Revert scheduled event usage in remote endpoint poller, because network io is used add 97a92c42 Mention Network IO in scheduled event documentation add 31feb194 Fix invalid return in celix_scheduledEvent_deadlineReached add 653e9404 Add missing nextDeadline output in celix_scheduledEvent_deadlineReached add 2b7ab05d Remove nextDeadline output arg from celix_scheduledEvent_deadlineReached add 07ccb689 Remove error interval margin, not needed with abs timeout. add aeff793f Revert "Replace thread in shm disc watcher to scheduled event" add d9e42903 Merge branch 'feature/scheduled_event_on_event_thread' into feature/585-celix-conditions add f07f6e2d Add component.ready framework condition add 713d2c4c Add ignore scheduled event ids < 0 add 781e7bdd Update ScheduledEventTimeoutLogTest timing to use actual sleep time add 97c3e494 Merge branch 'feature/scheduled_event_on_event_thread' into feature/585-celix-conditions add ba48303b Cleanup framework_start add f644d990 Minor typo fix. add b3fcf164 Replace test with sleep for busy wait and steady clock add 95e67390 Disable test ScheduledEventTimeoutLogTest for __APPLE__ add 456de193 Merge pull request #583 from apache/feature/scheduled_event_on_event_thread add 926a94cc Merge branch 'master' into feature/585-celix-conditions add c329f649 Remove unused source files add 5cc100dc Fix some minor documentation / comments add cc323ef8 Remove dead code. add 9998dd98 Move the components.ready check from fw bundle to a separate bundle add 23001993 Add install of components_ready_api headers add 390903a5 Add components ready check to conanfile add e20b5621 Update documentation for components ready check add aebbf584 Fix invalid integer division to floating-point division in C++ use services add 228d567f Refactor nextDeadline fw function add aa4d4380 Update timing in components ready test suite add 5a44d822 Add missing build option to conanfile.py add aab28be1 Refactor WaitForScheduledEventTest into 2 tests add 46e98e96 Remove unused (when build type is not debug) variable. add db93e5aa Disable fw services for some ei test suites add c5092834 Add macos and linux prefix to ci build names add aa3e7d51 Refactor ScheduledEventTestSuite to work with a "build on ci" option add f34f845d Configure "build on ci" for github ci actions add 6fc10988 Rename "build on ci" cmake var to ENABLE_TESTING_ON_CI add 360f2b47 Add "build on ci" configuration to test_framework_with_cxx14 add 9c961f57 Add "build on ci" configuration to components ready test suite add 0843c187 Add additional ei test for framework bundle add d223f7ed Fix memleak in framework bundle add 5f77f428 Relax timing requirements for CI testing on macos add 7c65bfce [#595] fix use-after-free caused by cancelled service tracker. add d2145223 Merge pull request #596 from apache/hotfix/595-use-after-free-caused-by-cancelled-tracker add 44302924 Refactor celix_container_bundles_dir to use add_custom_target add 86463948 Enable ninja build for ubuntu-build-conan. add fba77680 Fix typo in CONAN_CMAKE_GENERATOR setting. add 3b55bfb4 Install ninja-build for ubuntu-build-conan. add 8bcac0f2 Merge pull request #594 from apache/hotfix/container_bundle_copies_do_not_trigger add 3a8d65ba Remove incorrect ">" postfix for BUNDLE_ACTIVATOR value in BundlePackaging add f40d68de Merge pull request #598 from apache/hotfix/bnd_activator_name_typo_in_bundlepackaging add cda603c8 Turn on build_all option when testing installed Celix. add f0345ccc mDNSResponder does not compile on MacOS. add 0979ee3c Fix typo. add 58d06789 All build_ options are off by default so that users do not get what they do not need. add 0c216c80 Add missing build options. add 7eef42ed Merge branch 'master' into feature/579-automatic-dependency-deduction add 096e19f7 Add options for log/shell api and log helper. add e21fcae9 Add automatic dependency deduction to shell/log/pubsub and improve cmake dependency specification. add 9bc9aea8 Fix compilation error. add d3ba7873 Use mDNSResponder package which supports cross-compilation. add ba204b16 Improve deprecated header dependency specification. add 276afafe Improve dependency specification of RSA. add 55431197 Merge branch 'master' into feature/579-automatic-dependency-deduction add 46915e07 Add automatic dependency deduction to RSA. add ecd5195f Add automatic dependency deduction to remaining libs. add 277e537e Fix `conan create` errors. add c09b8e68 Add automatic dependency deduction to examples, and remove DEPS from celix_subproject. add dbebb570 Add missing dependency specifications. add 2451c522 Update test_package to use celix API. add 28e0fdfa Add missing test_package. add 7325fe4f Use homebrew's libuuid. add d1332ed9 Use macOS's native libuuid. add 6b8f1166 Use mdnsresponder/1310.140.1 add ac3c1ce5 Replace c99 with gnu99. add 9ced95bb Use POSIX extension. add 2c060bd6 Revert "Use POSIX extension." add 09edc8a7 Use macOS-11 for build-brew. add fd2c5f23 Recover Findlibuuid.cmake add 3a363187 Recover Findlibuuid.cmake add f3597df9 Recover Findlibuuid.cmake add 586e7b97 Add missing FindDNSSD.cmake add f8bb0187 Modularize error injectors. add 2ab598f7 Add conan create CI test. add 7b184f22 Add install step for conan create CI test. add 12094ffd Remove unnecessary find_package(CURL REQUIRED) when opting out etcd. add 2870ad5e Fix zlib conflict for conan create CI test. add 5ce50374 Add mac-build for conan create CI test. add f90b9ad7 Fix build profile for mac-build of conan create CI test. add 97c65841 Fix find_package(CURL REQUIRED) for standalone etcd build. add ebac4777 Update standalone etcd to use cmake 3.18. add 3edeabb6 Update the way of setup environment variables for CLion. add 049e1df1 Exclude error_injector from Coverage. add d908cfe6 Rename error injects to exclude them from Coverage. add 76d1f2bc Merge branch 'master' into feature/579-automatic-dependency-deduction add c789b89f Enable ninja build for conan create. add d40cada2 Merge pull request #589 from apache/feature/579-automatic-dependency-deduction add efc629d5 Merge branch 'master' into feature/585-celix-conditions add 43a91316 Add missing intra-package dependency deduction and test package. add 1ff71f60 Merge pull request #588 from apache/feature/585-celix-conditions add 37ea7c06 Add initial implementation of scope-based resource management for Celix. add ddcb6998 Add SBRM documentation. add c5962229 Add scope guard for mutex. add 87b693a7 Replace CELIX_SCHEDULED_EVENT_RETAIN_GUARD by celix_autoptr(celix_scheduled_event_t). add 00e68b03 Add scope guards for rwlock and various pthread attributes. add 2be8778c Replace some gotos in rsa_shm_v2 with celix_autoptr. add 7b18bee5 Fix clang warnings. add 2d32d5f8 Remove all gotos in rsa_shm_client.c add 0d63f954 Add more tests for rsa_shm_client.c add 228c06c1 Recover sync service registration in pubsub tests. add fc25847a Convert all gotos in rsa_shm_export_registration.c and some of them in rsa_shm_impl.c to celix_auto. add f1543c11 Add celix_cleanup.h for compiler specifics. add 4973b13d Use CELIX_UNIQUE_ID to generate unique iterator name. add b0125af0 Finish GOTO to celix_auto conversion for rsa_shm. add c92c0243 Eliminate GOTOs in discovery_zeroconf. add feed2494 Merge branch 'master' into feature/574-scope-based-resource-management add 49aca53b GOTO elimination in remote services. add fd84365a Merge branch 'master' into feature/574-scope-based-resource-management add 26e6f308 Some GOTO cleanup conversion for shell and framework. add d16d3599 Add initial (user) documentation for SBRM add aa2b61fc Merge remote-tracking branch 'upstream/feature/574-scope-based-resource-management' into feature/574-scope-based-resource-management add f194e89e Merge branch 'master' into feature/574-scope-based-resource-management add bb05cae7 Replace __attribute__((__unused__)) with CELIX_UNUSED. add a769a75c Unify naming convention for guard objects. add 791a47e1 Fix unit test for rsa_shm. add 79e7dcef Add naming conventions to c-patterns. add 2683e8b8 Merge pull request #591 from apache/feature/574-scope-based-resource-management add 5f95cb22 Avoid unnecessary cache directory traversal when start with a clean cache. add bb2c5585 Add initial "hello world" rust bundle example add 42e3148b Merge branch 'master' into feature/599-rust-hello-world-bundle add a131c9c3 Move rust dir to misc/experimental and Cargo.lock to gitignore add 211e70fa 599: Refactor cargo -> cmake target handling add a0c2ca32 599: Update the experimental Rust readme add 5d8f5bba 599: Use dynamic lib for the rust bundle activator add 88bec1d5 Merge pull request #600 from apache/feature/599-rust-hello-world-bundle add 34f0e990 Remove export_import example from Celix examples add 55f15fa7 [#531] Remove buggy Export-Library/Import-Library header parsing codes. add 479df327 Remove resolver and related dead codes. add d6637a98 Remove support for wire. add 4ce9a103 Merge branch 'master' into feature/511-remove-resolver add 072cba2a Merge pull request #601 from apache/feature/511-remove-resolver add 3eefc0fe Merge branch 'master' into hotfix/framework-startup-optimization add 8f089332 Code cleanup for bundle_archive.c add 523a31a4 Force bundle cache update when using a different bundle location. add aa79fcba Minor documentation improvement. add 096db1ee Add test case for updating bundle from a different location. add 6c867498 Remove unused deprecated APIs. add 9a0709b0 Fix a potential memory leak. add 2eae9c21 Merge pull request #602 from apache/hotfix/framework-startup-optimization add f243a11e Specify all components that depend on libcurl. add 3d47c4a4 Update all container needing curl initialization to use Celix::launcher. add b933b6bb Fix test_package error. add abca2390 Make libcurl an optional dependency of framework. add c48b0bc0 Make curl a mandatory dependency of Celix::launcher. add af911849 Add to BUILD_PATH add 8695bd78 Merge pull request #606 from apache/hotfix/ensure-origin-rpath-for-bnd-activator-lib add f6af3211 Merge branch 'master' into feature/604-global-initialization-of-curl add eec29e2f [#607] make installed bundle use INSTALL_RPATH. add c4544711 Remove unnecessary BUILD_RPATH setting. add 84ac9a4d Merge pull request #608 from apache/hotfix/ensure-origin-rpath-for-bnd-activator-lib add a7581acb Switch to util-linux-libuuid to avoid conflict with other conan package. add ddcb4bee Merge pull request #611 from apache/hotfix/libuuid-switch add 0d7c48f0 599: Add celix_bindings rust lib add 36b67ea9 599: Update rust bundle to use celix_bindings add 035593fe 599: Update misc/experimental/rust readme add 5281a395 Merge pull request #603 from apache/feature/599-add-rust-bindings add 6dc67486 Add autocleanup for celix_filter. add 7311ec55 Add autocleanup for celix_version_range. add eb30eb5a Merge pull request #609 from apache/feature/more-auto-cleanup add 0e54fa79 Merge branch 'master' into feature/604-global-initialization-of-curl add 90cf85ce Typo fix. add 6cde7b48 Merge pull request #610 from apache/feature/604-global-initialization-of-curl add 972be34e Remove cmake IN_LIST usage, not broadly supported yet. add debb0748 Update ContainerPackaging to allow and warn for duplicate bundles add 3bf73dfc Fix typo in ContainerPackaging add a2867329 Extend cmake warnings test and fix container package error add d69ba723 Add warning for duplicate embedded bundles in a container. add bfe9ed8a Merge remote-tracking branch 'origin/master' into feature/allow_duplicate_bundles_in_container add 4c24ebfc Merge pull request #605 from apache/feature/allow_duplicate_bundles_in_container add fc022b39 Add project-specific prefix to REL_INSTALL_DIR to avoid conflict with downstream project's config file. add db99d918 Merge pull request #617 from apache/hotfix/avoid-config-conflict add 23a32b21 Fix memory leak in manifest_destroy. add 660994dd Fix broken manifest_clone. add 51ab4a06 Use celix_err for logging. add 3cea0d4c Log manifest's ERR message. add 7fc570f5 Add more tests for manifest_create and manifest_clone. add 6dfef569 Fix crash caused by wrong error injector signature specification. add 78b31d5f Adapt Felix's manifest parsing to Celix. add 844f3254 Remove dead code. add 7f904d88 Add more test for manifest.c add b17c9e40 Exclude unimplemented function from coverage. add 779e73a4 API documentation revised and local variables renamed based on code review comments. add 9647e660 Merge pull request #616 from apache/feature/527-manifest-improvement add ce71cf07 Merge remote-tracking branch 'origin/master' into feature/type_support_for_properties add e0326790 Refactor and correction after merge with master No new revisions were added by this update. Summary of changes: .clang-format | 32 + .github/workflows/conan_create.yml | 71 ++ .github/workflows/coverage.yml | 3 +- .github/workflows/macos.yml | 18 +- .github/workflows/ubuntu.yml | 26 +- CMakeLists.txt | 46 +- bundles/CMakeLists.txt | 1 + bundles/components_ready_check/CMakeLists.txt | 50 + bundles/components_ready_check/README.md | 50 + .../api/celix_components_ready_constants.h | 18 +- .../components_ready_check/gtest/CMakeLists.txt | 57 + .../gtest/src/ActiveComponentBundle.cc | 31 +- .../gtest/src/ComponentsReadyTestSuite.cc | 97 ++ .../ComponentsReadyWithErrorInjectionTestSuite.cc | 123 ++ .../gtest/src/InactiveComponentBundle.cc | 39 +- .../src/celix_components_ready_check.c | 158 +++ .../src/celix_components_ready_check.h | 58 + .../src/celix_components_ready_check_activator.c | 20 +- .../admin/src/RemoteServiceAdmin.cc | 1 + .../cxx_remote_services/integration/CMakeLists.txt | 86 +- .../integration/gtest/CMakeLists.txt | 2 +- bundles/cxx_remote_services/rsa_spi/CMakeLists.txt | 1 + bundles/deployment_admin/CMakeLists.txt | 4 +- bundles/deployment_admin/src/ioapi.c | 3 +- bundles/deployment_admin/src/miniunz.c | 15 +- .../http_admin/gtest/src/http_websocket_tests.cc | 5 +- bundles/http_admin/gtest/src/sut_activator.c | 5 +- bundles/http_admin/http_admin/src/http_admin.c | 3 +- .../http_admin/http_admin/src/websocket_admin.c | 12 +- bundles/logging/README.md | 5 +- bundles/logging/log_admin/CMakeLists.txt | 4 +- bundles/logging/log_admin/gtest/CMakeLists.txt | 2 +- .../log_admin/gtest/src/LogAdminTestSuite.cc | 143 ++- bundles/logging/log_admin/src/celix_log_admin.c | 123 +- bundles/logging/log_helper/CMakeLists.txt | 60 +- .../log_helper/error_injector}/CMakeLists.txt | 2 +- .../error_injector}/include/celix_log_helper_ei.h | 0 .../error_injector}/src/celix_log_helper_ei.cc | 0 bundles/logging/log_helper/gtest/CMakeLists.txt | 2 +- .../log_helper/gtest/src/LogHelperTestSuite.cc | 104 +- .../logging/log_helper/include/celix/LogHelper.h | 9 + .../logging/log_helper/include/celix_log_helper.h | 10 + bundles/logging/log_helper/src/celix_log_helper.c | 15 +- bundles/logging/log_service_api/CMakeLists.txt | 34 +- .../log_service_api/include/celix_log_control.h | 30 +- .../src/deprecated_log_writer_stdout_activator.c | 5 +- .../log_writers/syslog_writer/CMakeLists.txt | 2 +- .../log_writers/syslog_writer/gtest/CMakeLists.txt | 2 +- .../src/celix_syslog_writer_activator.c | 3 +- bundles/pubsub/CMakeLists.txt | 2 +- bundles/pubsub/examples/CMakeLists.txt | 68 +- .../examples/pubsub/interceptors/CMakeLists.txt | 2 +- .../examples/pubsub/publisher/CMakeLists.txt | 2 +- .../examples/pubsub/publisher2/CMakeLists.txt | 2 +- .../pubsub/pubsub_websocket/CMakeLists.txt | 5 +- .../examples/pubsub/subscriber/CMakeLists.txt | 2 +- bundles/pubsub/integration/CMakeLists.txt | 41 +- bundles/pubsub/integration/gtest/tst_activator.c | 5 +- .../integration/gtest/tst_endpoint_activator.c | 3 +- bundles/pubsub/pubsub_admin_tcp/CMakeLists.txt | 7 +- .../pubsub/pubsub_admin_tcp/src/pubsub_tcp_admin.c | 5 +- .../pubsub_admin_tcp/src/pubsub_tcp_common.c | 3 +- .../pubsub_admin_tcp/src/pubsub_tcp_handler.c | 3 +- .../src/pubsub_tcp_topic_receiver.c | 3 +- .../pubsub_admin_tcp/src/pubsub_tcp_topic_sender.c | 5 +- bundles/pubsub/pubsub_admin_udp_mc/CMakeLists.txt | 5 +- .../pubsub_admin_udp_mc/src/pubsub_udpmc_admin.c | 3 +- .../src/pubsub_udpmc_topic_sender.c | 7 +- .../pubsub/pubsub_admin_websocket/CMakeLists.txt | 9 +- .../src/pubsub_websocket_admin.c | 3 +- .../src/pubsub_websocket_topic_receiver.c | 7 +- .../src/pubsub_websocket_topic_sender.c | 9 +- bundles/pubsub/pubsub_admin_zmq/CMakeLists.txt | 3 +- .../pubsub/pubsub_admin_zmq/src/pubsub_zmq_admin.c | 5 +- .../pubsub_admin_zmq/src/pubsub_zmq_topic_sender.c | 5 +- bundles/pubsub/pubsub_api/CMakeLists.txt | 1 + bundles/pubsub/pubsub_discovery/CMakeLists.txt | 7 +- .../pubsub_discovery/src/pubsub_discovery_impl.c | 3 +- .../pubsub_protocol_wire_v1/CMakeLists.txt | 51 +- .../src/pubsub_wire_protocol_impl.c | 23 +- .../src/pubsub_wire_protocol_impl.h | 2 +- .../pubsub_protocol_wire_v2/CMakeLists.txt | 45 +- .../src/pubsub_wire_v2_protocol_impl.c | 7 +- .../pubsub_serializer_avrobin/CMakeLists.txt | 50 +- .../src/pubsub_avrobin_serializer_impl.c | 3 +- .../pubsub/pubsub_serializer_json/CMakeLists.txt | 48 +- .../src/pubsub_json_serialization_provider.c | 3 +- .../src/pubsub_serializer_impl.c | 5 +- bundles/pubsub/pubsub_spi/CMakeLists.txt | 2 + .../pubsub/pubsub_spi/src/pubsub_endpoint_match.c | 3 +- .../pubsub_spi/src/pubsub_interceptors_handler.c | 3 +- .../src/pubsub_topology_manager.c | 20 +- bundles/pubsub/pubsub_utils/CMakeLists.txt | 1 + .../include/pubsub_serialization_provider.h | 3 +- .../pubsub/pubsub_utils/include/pubsub_utils_url.h | 2 + .../src/pubsub_serialization_provider.c | 9 +- .../pubsub_utils/src/pubsub_serializer_handler.c | 3 +- bundles/pubsub/pubsub_utils/src/pubsub_utils.c | 5 +- bundles/remote_services/CMakeLists.txt | 22 +- .../discovery_common/CMakeLists.txt | 49 +- .../discovery_common/src/discovery.c | 8 +- .../{include => src}/endpoint_descriptor_common.h | 12 +- .../src/endpoint_discovery_poller.c | 3 +- .../src/endpoint_discovery_server.c | 4 +- .../discovery_configured/CMakeLists.txt | 14 +- .../remote_services/discovery_etcd/CMakeLists.txt | 20 +- .../discovery_etcd/src/etcd_watcher.c | 3 +- .../remote_services/discovery_shm/CMakeLists.txt | 6 +- .../discovery_zeroconf/gtest/CMakeLists.txt | 2 +- .../gtest/src/DiscoveryZeroconfWatcherTestSuite.cc | 13 + .../src/discovery_zeroconf_activator.c | 26 +- .../src/discovery_zeroconf_announcer.c | 73 +- .../src/discovery_zeroconf_announcer.h | 3 + .../src/discovery_zeroconf_watcher.c | 54 +- .../src/discovery_zeroconf_watcher.h | 3 + bundles/remote_services/examples/CMakeLists.txt | 5 +- .../calculator_service/src/calculator_impl.c | 7 +- .../remote_service_admin_dfi/CMakeLists.txt | 2 +- .../remote_service_admin_dfi/gtest/CMakeLists.txt | 2 - .../gtest/client.properties.in | 2 +- .../remote_service_admin_dfi/gtest/src/main.cc | 3 + .../gtest/src/rsa_client_server_tests.cc | 27 +- .../gtest/src/rsa_tests.cc | 7 +- .../src/export_registration_dfi.c | 12 +- .../src/remote_service_admin_dfi.c | 26 +- .../remote_service_admin_shm_v2/CMakeLists.txt | 1 + .../rsa_shm/CMakeLists.txt | 1 + .../rsa_shm/gtest/CMakeLists.txt | 9 +- .../gtest/src/RsaShmClientServerUnitTestSuite.cc | 53 +- .../src/RsaShmExportRegistrationUnitTestSuite.cc | 13 + .../rsa_shm/gtest/src/RsaShmImplUnitTestSuite.cc | 22 + .../src/RsaShmImportRegistrationUnitTestSuite.cc | 12 + .../rsa_shm/gtest/src/shm_pool_ei.cc | 29 + .../rsa_shm/gtest/src/shm_pool_ei.h | 32 + .../rsa_shm/src/rsa_shm_activator.c | 28 +- .../rsa_shm/src/rsa_shm_client.c | 339 +++-- .../rsa_shm/src/rsa_shm_client.h | 3 + .../rsa_shm/src/rsa_shm_export_registration.c | 102 +- .../rsa_shm/src/rsa_shm_export_registration.h | 3 + .../rsa_shm/src/rsa_shm_impl.c | 375 +++--- .../rsa_shm/src/rsa_shm_impl.h | 3 + .../rsa_shm/src/rsa_shm_import_registration.c | 53 +- .../rsa_shm/src/rsa_shm_server.c | 53 +- .../shm_pool/CMakeLists.txt | 2 +- .../shm_pool/include/shm_cache.h | 7 + .../shm_pool/include/shm_pool.h | 39 +- .../shm_pool/src/shm_cache.c | 44 +- .../shm_pool/src/shm_pool.c | 16 +- .../thpool/CMakeLists.txt | 2 +- .../thpool/LICENSE | 0 .../thpool/README.md | 0 .../thpool/include/thpool.h | 0 .../thpool/src/thpool.c | 0 bundles/remote_services/rsa_common/CMakeLists.txt | 25 +- .../rsa_common}/gtest/CMakeLists.txt | 31 +- .../gtest/src/EndpointDescriptionUnitTestSuite.cc | 172 +++ .../rsa_common/src/endpoint_description.c | 38 +- .../rsa_common/src/remote_interceptors_handler.c | 3 +- .../remote_services/rsa_dfi_utils/CMakeLists.txt | 1 + .../remote_services/rsa_dfi_utils/src/dfi_utils.c | 2 + .../remote_services/rsa_rpc_json/CMakeLists.txt | 1 - .../rsa_rpc_json/gtest/CMakeLists.txt | 4 +- .../gtest/src/RsaJsonRpcActivatorUnitTestSuite.cc | 15 + .../gtest/src/RsaJsonRpcUnitTestSuite.cc | 45 + .../rsa_rpc_json/src/rsa_json_rpc_activator.c | 25 +- .../rsa_rpc_json/src/rsa_json_rpc_endpoint_impl.c | 89 +- .../rsa_rpc_json/src/rsa_json_rpc_impl.c | 44 +- .../rsa_rpc_json/src/rsa_json_rpc_impl.h | 3 + .../rsa_rpc_json/src/rsa_json_rpc_proxy_impl.c | 116 +- .../rsa_rpc_json/src/rsa_request_sender_tracker.c | 21 +- bundles/remote_services/rsa_spi/CMakeLists.txt | 3 - .../rsa_spi/include/endpoint_description.h | 3 + .../rsa_spi/include/remote_interceptors_handler.h | 3 + .../topology_manager/CMakeLists.txt | 2 +- .../remote_services/topology_manager/src/scope.c | 10 +- .../topology_manager/src/topology_manager.c | 22 +- .../topology_manager/tms_tst/CMakeLists.txt | 5 +- .../tms_tst/disc_mock/CMakeLists.txt | 4 +- .../gtest/src => topology_manager/tms_tst}/main.cc | 3 + .../topology_manager/tms_tst/tms_tests.cpp | 28 +- bundles/shell/README.md | 18 +- bundles/shell/remote_shell/CMakeLists.txt | 2 +- bundles/shell/remote_shell/src/remote_shell.c | 6 +- bundles/shell/shell/CMakeLists.txt | 135 +- bundles/shell/shell/gtest/src/ShellTestSuite.cc | 7 + bundles/shell/shell/src/bundle_command.c | 22 +- bundles/shell/shell/src/c_shell_activator.c | 3 +- bundles/shell/shell/src/query_command.c | 21 +- bundles/shell/shell/src/quit_command.c | 3 +- bundles/shell/shell/src/std_commands.c | 9 +- bundles/shell/shell/src/std_commands.h | 2 + .../shell/shell/src/unload_command.c | 19 +- bundles/shell/shell_bonjour/CMakeLists.txt | 14 +- bundles/shell/shell_tui/CMakeLists.txt | 2 +- bundles/shell/shell_tui/src/shell_tui.c | 5 +- bundles/shell/shell_wui/CMakeLists.txt | 2 +- cmake/CelixConfig.cmake | 92 +- cmake/CelixDeps.cmake.in | 23 + cmake/Modules/FindDNSSD.cmake | 49 + cmake/Modules/Findlibuuid.cmake | 18 +- cmake/celix_project/CodeCoverage.cmake | 2 +- cmake/celix_project/WarningTests.cmake | 55 + cmake/cmake_celix/BundlePackaging.cmake | 378 +++--- cmake/cmake_celix/ContainerPackaging.cmake | 149 ++- conanfile.py | 306 ++++- documents/README.md | 7 + documents/building/README.md | 2 +- documents/building/dev_celix_with_clion.md | 2 +- documents/bundles.md | 14 +- documents/c_patterns.md | 91 ++ documents/components.md | 2 +- documents/development/README.md | 615 +++++++++ documents/framework.md | 62 +- documents/scheduled_events .md | 136 ++ documents/services.md | 8 +- documents/subprojects.md | 1 + examples/CMakeLists.txt | 4 +- examples/celix-examples/CMakeLists.txt | 9 +- .../bundle_with_private_lib/src/activator.c | 3 +- examples/celix-examples/dm_example/CMakeLists.txt | 1 - .../dm_example/phase3/src/phase3_activator.c | 3 +- .../dm_example_cxx/phase1/src/Phase1Activator.cc | 5 +- .../celix-examples/export_import/CMakeLists.txt | 59 - .../celix-examples/export_import/src/activator.c | 69 -- examples/celix-examples/export_import/src/test.c | 32 - .../log_service_example/src/activator.c | 5 +- .../readme_c_examples/CMakeLists.txt | 6 + .../component_with_provided_service_activator.c | 3 +- .../readme_c_examples/src/my_bundle_activator.c | 5 +- .../my_shell_command_provider_bundle_activator.c | 3 +- .../src/schedule_events_bundle_activator.c | 70 ++ .../src/using_command_service_example.c | 7 +- .../readme_cxx_examples/CMakeLists.txt | 7 + .../src/ScheduleEventsBundleActivator.cc | 51 + .../src/using_command_service_example.c | 3 +- .../src/dynamic_consumer_example.c | 11 +- .../src/dynamic_provider_example.c | 5 +- .../src/simple_consumer_example.c | 7 +- .../track_tracker_example/src/activator.c | 5 +- examples/conan_test_package/CMakeLists.txt | 165 ++- examples/conan_test_package/conanfile.py | 68 +- examples/conan_test_package/hello_bundle.c | 11 +- .../conan_test_package/my_log_writer_activator.c | 12 +- examples/conan_test_package/my_psa_activator.c | 6 +- examples/conan_test_package/my_rsa_activator.c | 4 +- examples/conan_test_package/test_celix_dfi.c | 25 + examples/conan_test_package/test_cxx_shell.cpp | 14 +- examples/conan_test_package/test_etcd_lib.c | 2 +- examples/conan_test_package/test_framework.c | 15 +- .../conan_test_package/test_http_admin_activator.c | 22 +- examples/conan_test_package/test_log_helper.c | 43 + examples/conan_test_package/test_log_service_api.c | 25 + examples/conan_test_package/test_rsa_spi.cc | 25 + examples/conan_test_package/test_shell.c | 18 +- examples/conan_test_package/test_shell_api.c | 26 + examples/conan_test_package/test_utils.c | 28 + libs/CMakeLists.txt | 1 + libs/dependency_manager/CMakeLists.txt | 65 +- libs/dependency_manager/src/dm_activator.c | 3 +- libs/dependency_manager_cxx/CMakeLists.txt | 36 +- libs/dfi/CMakeLists.txt | 5 +- .../error_injector/CMakeLists.txt} | 3 +- libs/{ => dfi}/error_injector/dfi/CMakeLists.txt | 2 +- libs/{ => dfi}/error_injector/dfi/include/dfi_ei.h | 0 libs/{ => dfi}/error_injector/dfi/src/dfi_ei.cc | 0 libs/dfi/gtest/descriptors/example5.descriptor | 8 + .../descriptors/invalids/multiOutArgs.descriptor | 9 + libs/dfi/gtest/src/dyn_avpr_function_tests.cpp | 17 +- libs/dfi/gtest/src/json_rpc_tests.cpp | 218 +++- libs/dfi/include/avrobin_serializer.h | 53 + libs/dfi/include/dfi_log_util.h | 10 +- libs/dfi/include/dyn_common.h | 54 + libs/dfi/include/dyn_function.h | 110 +- libs/dfi/include/dyn_interface.h | 115 +- libs/dfi/include/dyn_message.h | 89 +- libs/dfi/include/dyn_type.h | 98 +- libs/dfi/include/json_rpc.h | 42 +- libs/dfi/include/json_serializer.h | 54 + libs/dfi/src/avrobin_serializer.c | 13 +- libs/dfi/src/dyn_avpr_function.c | 13 +- libs/dfi/src/dyn_avpr_interface.c | 3 +- libs/dfi/src/dyn_avpr_type.c | 49 +- libs/dfi/src/dyn_common.c | 1 - libs/dfi/src/dyn_function.c | 3 +- libs/dfi/src/dyn_interface.c | 2 +- libs/dfi/src/dyn_message.c | 3 +- libs/dfi/src/dyn_type.c | 18 +- libs/dfi/src/dyn_type_common.c | 2 - libs/dfi/src/json_rpc.c | 73 +- libs/dfi/src/json_serializer.c | 8 +- libs/error_injector/CMakeLists.txt | 14 +- libs/error_injector/stat/CMakeLists.txt | 1 + libs/error_injector/stat/include/stat_ei.h | 2 + libs/error_injector/stat/src/stat_ei.cc | 17 +- libs/error_injector/stdio/CMakeLists.txt | 3 + libs/error_injector/stdio/include/stdio_ei.h | 6 + libs/error_injector/stdio/src/stdio_ei.cc | 50 +- .../error_injector/stdlib}/CMakeLists.txt | 16 +- .../stat_ei.h => stdlib/include/stdlib_ei.h} | 13 +- .../include/stat_ei.h => stdlib/src/stdlib_ei.cc} | 27 +- .../error_injector/string}/CMakeLists.txt | 16 +- .../include/string_ei.h} | 15 +- .../error_injector/string/src/string_ei.cc | 23 +- .../error_injector/{stat => unistd}/CMakeLists.txt | 15 +- .../stat_ei.h => unistd/include/unistd_ei.h} | 16 +- .../src/stat_ei.cc => unistd/src/unistd_ei.cc} | 37 +- libs/etcdlib/CMakeLists.txt | 18 +- libs/framework/CMakeLists.txt | 146 ++- .../CMakeLists.txt} | 4 +- .../error_injector/celix_bundle/CMakeLists.txt | 2 +- .../celix_bundle/include/celix_bundle_ei.h | 0 .../celix_bundle/src/celix_bundle_ei.cc | 0 .../error_injector/celix_bundle_ctx/CMakeLists.txt | 3 +- .../include/celix_bundle_context_ei.h | 1 + .../src/celix_bundle_context_ei.cc | 7 + libs/framework/gtest/CMakeLists.txt | 40 +- libs/framework/gtest/config.properties.in | 2 +- libs/framework/gtest/src/BundleArchiveTestSuite.cc | 27 +- .../BundleArchiveWithErrorInjectionTestSuite.cc | 207 +++- .../src/CelixBundleCacheErrorInjectionTestSuite.cc | 166 +++ .../gtest/src/CelixBundleCacheTestSuite.cc | 101 ++ .../src/CelixBundleContextBundlesTestSuite.cc | 229 +++- .../CelixBundleContextBundlesWithErrorTestSuite.cc | 7 +- .../src/CelixBundleContextServicesTestSuite.cc | 3 +- .../framework/gtest/src/CelixFrameworkTestSuite.cc | 46 +- .../CelixFrameworkUtilsErrorInjectionTestSuite.cc | 31 +- .../gtest/src/CelixFrameworkUtilsTestSuite.cc | 32 +- .../src/CondTestBundleActivator.cc} | 41 +- .../gtest/src/CxxBundleContextTestSuite.cc | 15 +- .../gtest/src/DependencyManagerTestSuite.cc | 4 +- .../gtest/src/FrameworkBundleTestSuite.cc | 122 ++ .../FrameworkBundleWithErrorInjectionTestSuite.cc | 93 ++ ...ryTestSuite.cc => FrameworkFactoryTestSuite.cc} | 18 +- .../FrameworkFactoryWithErrorInjectionTestSuite.cc | 61 + .../gtest/src/ManifestErrorInjectionTestSuite.cc | 176 +++ libs/framework/gtest/src/ManifestTestSuite.cc | 307 +++++ .../framework/gtest/src/ScheduledEventTestSuite.cc | 751 +++++++++++ .../ScheduledEventWithErrorInjectionTestSuite.cc | 59 + libs/framework/gtest/src/nop_activator.c | 5 +- libs/framework/include/celix/Bundle.h | 2 +- libs/framework/include/celix/BundleContext.h | 17 + libs/framework/include/celix/Constants.h | 8 + libs/framework/include/celix/Exception.h | 48 - libs/framework/include/celix/Framework.h | 5 +- .../include/celix/FrameworkExceptions.h} | 29 +- libs/framework/include/celix/FrameworkFactory.h | 39 +- libs/framework/include/celix/ScheduledEvent.h | 162 +++ .../include/celix/ScheduledEventBuilder.h | 128 ++ libs/framework/include/celix/ServiceRegistration.h | 8 +- libs/framework/include/celix/Trackers.h | 15 +- libs/framework/include/celix/UseServiceBuilder.h | 2 +- libs/framework/include/celix/dm/Component.h | 4 +- .../framework/include/celix/dm/DependencyManager.h | 3 + libs/framework/include/celix_bundle.h | 2 + libs/framework/include/celix_bundle_context.h | 217 +++- libs/framework/include/celix_condition.h | 92 ++ libs/framework/include/celix_constants.h | 26 +- libs/framework/include/celix_dependency_manager.h | 43 +- libs/framework/include/celix_framework.h | 163 ++- libs/framework/include/celix_framework_factory.h | 5 +- libs/framework/include/celix_log.h | 2 + libs/framework/include_deprecated/bundle_archive.h | 9 +- libs/framework/include_deprecated/bundle_context.h | 33 + libs/framework/include_deprecated/framework.h | 12 + libs/framework/include_deprecated/manifest.h | 8 + .../framework/include_deprecated/service_tracker.h | 9 + libs/framework/src/attribute.c | 65 - libs/framework/src/bundle.c | 49 +- libs/framework/src/bundle_archive.c | 423 +++---- libs/framework/src/bundle_archive_private.h | 27 +- libs/framework/src/bundle_context.c | 107 +- libs/framework/src/bundle_context_private.h | 27 +- libs/framework/src/bundle_revision.c | 28 +- libs/framework/src/capability.c | 65 +- libs/framework/src/celix_bundle_cache.c | 220 ++-- libs/framework/src/celix_bundle_cache.h | 37 +- libs/framework/src/celix_framework_bundle.c | 176 +++ libs/framework/src/celix_framework_bundle.h | 61 + libs/framework/src/celix_framework_factory.c | 22 +- libs/framework/src/celix_framework_utils.c | 29 +- libs/framework/src/celix_launcher.c | 8 +- libs/framework/src/celix_libloader.c | 44 + libs/framework/src/celix_libloader.h | 46 +- libs/framework/src/celix_log.c | 13 +- libs/framework/src/celix_scheduled_event.c | 295 +++++ libs/framework/src/celix_scheduled_event.h | 174 +++ libs/framework/src/dm_dependency_manager_impl.c | 66 +- libs/framework/src/dm_service_dependency.c | 5 +- libs/framework/src/framework.c | 1306 +++++++++++--------- .../src/framework_bundle_lifecycle_handler.c | 20 +- libs/framework/src/framework_private.h | 132 +- libs/framework/src/manifest.c | 454 +++---- libs/framework/src/manifest_parser.c | 382 +----- libs/framework/src/manifest_parser.h | 2 - libs/framework/src/module.c | 127 +- libs/framework/src/requirement.c | 87 +- libs/framework/src/resolver.c | 499 -------- libs/framework/src/service_reference.c | 3 +- libs/framework/src/service_registry.c | 17 +- libs/framework/src/service_tracker.c | 126 +- libs/framework/src/wire.c | 53 +- libs/launcher/CMakeLists.txt | 6 +- libs/launcher/src/main.c | 7 +- libs/promises/cmake/CelixPromisesConfig.cmake | 10 +- libs/pushstreams/CMakeLists.txt | 3 +- libs/pushstreams/api/celix/PushEvent.h | 2 +- libs/pushstreams/api/celix/PushStream.h | 2 +- libs/rcm/CMakeLists.txt | 41 + libs/rcm/README.md | 51 + libs/rcm/diagrams/logical-req-cap-model.png | Bin 0 -> 4927 bytes libs/rcm/diagrams/logical-req-cap-model.puml | 23 + libs/rcm/gtest/CMakeLists.txt | 38 + .../src/RequirementCapabilityModelTestSuite.cc | 261 ++++ ...ntCapabilityModelWithErrorInjectionTestSuite.cc | 134 ++ libs/rcm/include/celix_capability.h | 161 +++ .../dfi_ei.h => rcm/include/celix_rcm_types.h} | 19 +- libs/rcm/include/celix_requirement.h | 173 +++ libs/rcm/include/celix_resource.h | 114 ++ libs/rcm/src/celix_capability.c | 172 +++ libs/rcm/src/celix_requirement.c | 185 +++ libs/rcm/src/celix_resource.c | 159 +++ libs/utils/CMakeLists.txt | 288 ++--- .../utils/error_injector}/CMakeLists.txt | 17 +- .../error_injector/celix_array_list/CMakeLists.txt | 2 +- .../celix_array_list/include/celix_array_list_ei.h | 0 .../celix_array_list/src/celix_array_list_ei.cc | 0 .../error_injector/celix_hash_map}/CMakeLists.txt | 15 +- .../celix_hash_map/include/celix_hash_map_ei.h} | 16 +- .../celix_hash_map/src/celix_hash_map_ei.cc} | 29 +- .../celix_long_hash_map}/CMakeLists.txt | 13 +- .../include/celix_long_hash_map_ei.h} | 11 +- .../src/celix_long_hash_map_ei.cc} | 19 +- .../error_injector/celix_properties/CMakeLists.txt | 7 +- .../celix_properties/include/celix_properties_ei.h | 1 + .../celix_properties/src/celix_properties_ei.cc | 8 + .../error_injector/celix_threads/CMakeLists.txt | 2 +- .../celix_threads/include/celix_threads_ei.h | 0 .../celix_threads/src/celix_threads_ei.cc | 0 .../error_injector/celix_utils/CMakeLists.txt | 2 +- .../celix_utils/include/celix_utils_ei.h | 0 .../celix_utils/src/celix_utils_ei.cc | 0 .../error_injector/celix_version/CMakeLists.txt | 2 +- .../celix_version/include/celix_version_ei.h | 0 .../celix_version/src/celix_version_ei.cc | 0 .../utils/error_injector/hash_map}/CMakeLists.txt | 15 +- .../error_injector/hash_map/include/hmap_ei.h} | 15 +- .../utils/error_injector/hash_map/src/hmap_ei.cc | 33 +- libs/{ => utils}/error_injector/zip/CMakeLists.txt | 3 +- .../error_injector/zip/include/zip_ei.h | 0 libs/{ => utils}/error_injector/zip/src/zip_ei.cc | 0 libs/utils/gtest/CMakeLists.txt | 20 +- libs/utils/gtest/src/ArrayListTestSuite.cc | 5 + libs/utils/gtest/src/CelixErrnoTestSuite.cc | 61 + .../gtest/src/CelixUtilsAutoCleanupTestSuite.cc | 195 +++ libs/utils/gtest/src/CelixUtilsTestSuite.cc | 2 +- libs/utils/gtest/src/ErrErrorInjectionTestSuite.cc | 2 - libs/utils/gtest/src/ErrTestSuite.cc | 41 +- libs/utils/gtest/src/FilterTestSuite.cc | 4 + libs/utils/gtest/src/HashMapTestSuite.cc | 10 + libs/utils/gtest/src/LogTestSuite.cc | 56 + libs/utils/gtest/src/LogUtilsTestSuite.cc | 28 +- .../gtest/src/PropertiesErrorInjectionTestSuite.cc | 46 + libs/utils/gtest/src/PropertiesTestSuite.cc | 4 + libs/utils/gtest/src/ThreadsTestSuite.cc | 43 +- libs/utils/gtest/src/TimeUtilsTestSuite.cc | 81 +- libs/utils/gtest/src/VersionRangeTestSuite.cc | 4 + .../test.h => libs/utils/include/celix/Exception.h | 23 +- libs/utils/include/celix/Filter.h | 19 +- libs/utils/include/celix_array_list.h | 3 + libs/utils/include/celix_cleanup.h | 131 ++ libs/utils/include/celix_compiler.h | 48 + libs/utils/include/celix_err.h | 12 + libs/utils/include/celix_errno.h | 10 +- libs/utils/include/celix_file_utils.h | 2 +- libs/utils/include/celix_filter.h | 3 + libs/utils/include/celix_log_level.h | 46 +- libs/utils/include/celix_log_utils.h | 20 +- libs/utils/include/celix_long_hash_map.h | 3 + libs/utils/include/celix_properties.h | 14 +- .../include/celix_stdio_cleanup.h} | 18 +- libs/utils/include/celix_stdlib_cleanup.h | 48 + libs/utils/include/celix_string_hash_map.h | 3 + libs/utils/include/celix_threads.h | 217 +++- libs/utils/include/celix_unistd_cleanup.h | 40 + libs/utils/include/celix_utils.h | 27 +- libs/utils/include/celix_version.h | 7 + libs/utils/include/celix_version_range.h | 3 + libs/utils/src/celix_cleanup.c | 20 + libs/utils/src/celix_convert_utils.c | 4 +- libs/utils/src/celix_err.c | 33 +- libs/utils/src/celix_log_level.c | 97 ++ libs/utils/src/celix_log_utils.c | 71 +- libs/utils/src/celix_threads.c | 77 +- libs/utils/src/properties.c | 16 +- libs/utils/src/utils.c | 57 +- misc/experimental/CMakeLists.txt | 3 +- .../bundles/event_admin/CMakeLists.txt | 2 +- .../bundles/pubsub_admin_nanomsg/CMakeLists.txt | 1 - .../src/pubsub_nanomsg_admin.cc | 6 +- .../src/pubsub_nanomsg_admin.h | 5 +- .../src/pubsub_nanomsg_common.cc | 3 +- .../src/pubsub_nanomsg_topic_sender.cc | 3 +- .../src/pubsub_nanomsg_topic_sender.h | 5 +- .../experimental/rust/.gitignore | 3 +- misc/experimental/rust/CMakeLists.txt | 52 + .../experimental/rust/Cargo.toml | 7 +- misc/experimental/rust/README.md | 51 + .../experimental/rust/celix_bindings/Cargo.toml | 13 +- misc/experimental/rust/celix_bindings/build.rs | 65 + .../rust/celix_bindings/src/celix_bindings.h | 24 +- .../experimental/rust/celix_bindings/src/lib.rs | 58 +- .../hello_world_activator/Cargo.toml} | 15 +- .../rust/hello_world_activator/src/lib.rs | 107 ++ 513 files changed, 16114 insertions(+), 6137 deletions(-) create mode 100644 .clang-format create mode 100644 .github/workflows/conan_create.yml create mode 100644 bundles/components_ready_check/CMakeLists.txt create mode 100644 bundles/components_ready_check/README.md copy libs/error_injector/celix_bundle/include/celix_bundle_ei.h => bundles/components_ready_check/api/celix_components_ready_constants.h (67%) create mode 100644 bundles/components_ready_check/gtest/CMakeLists.txt rename libs/framework/src/attribute_private.h => bundles/components_ready_check/gtest/src/ActiveComponentBundle.cc (60%) create mode 100644 bundles/components_ready_check/gtest/src/ComponentsReadyTestSuite.cc create mode 100644 bundles/components_ready_check/gtest/src/ComponentsReadyWithErrorInjectionTestSuite.cc rename libs/framework/src/attribute.h => bundles/components_ready_check/gtest/src/InactiveComponentBundle.cc (51%) create mode 100644 bundles/components_ready_check/src/celix_components_ready_check.c create mode 100644 bundles/components_ready_check/src/celix_components_ready_check.h copy libs/framework/gtest/src/nop_activator.c => bundles/components_ready_check/src/celix_components_ready_check_activator.c (52%) rename {libs/error_injector/celix_log_helper => bundles/logging/log_helper/error_injector}/CMakeLists.txt (93%) copy {libs/error_injector/celix_log_helper => bundles/logging/log_helper/error_injector}/include/celix_log_helper_ei.h (100%) rename {libs/error_injector/celix_log_helper => bundles/logging/log_helper/error_injector}/src/celix_log_helper_ei.cc (100%) rename bundles/remote_services/discovery_common/{include => src}/endpoint_descriptor_common.h (80%) create mode 100644 bundles/remote_services/remote_service_admin_shm_v2/rsa_shm/gtest/src/shm_pool_ei.cc create mode 100644 bundles/remote_services/remote_service_admin_shm_v2/rsa_shm/gtest/src/shm_pool_ei.h copy bundles/remote_services/{ => remote_service_admin_shm_v2}/thpool/CMakeLists.txt (96%) rename bundles/remote_services/{ => remote_service_admin_shm_v2}/thpool/LICENSE (100%) rename bundles/remote_services/{ => remote_service_admin_shm_v2}/thpool/README.md (100%) rename bundles/remote_services/{ => remote_service_admin_shm_v2}/thpool/include/thpool.h (100%) rename bundles/remote_services/{ => remote_service_admin_shm_v2}/thpool/src/thpool.c (100%) copy bundles/{logging/log_admin => remote_services/rsa_common}/gtest/CMakeLists.txt (53%) create mode 100644 bundles/remote_services/rsa_common/gtest/src/EndpointDescriptionUnitTestSuite.cc copy bundles/remote_services/{remote_service_admin_dfi/gtest/src => topology_manager/tms_tst}/main.cc (91%) copy libs/error_injector/stat/include/stat_ei.h => bundles/shell/shell/src/unload_command.c (73%) create mode 100644 cmake/CelixDeps.cmake.in create mode 100644 cmake/Modules/FindDNSSD.cmake create mode 100644 cmake/celix_project/WarningTests.cmake create mode 100644 documents/c_patterns.md create mode 100644 documents/development/README.md create mode 100644 documents/scheduled_events .md delete mode 100644 examples/celix-examples/export_import/CMakeLists.txt delete mode 100644 examples/celix-examples/export_import/src/activator.c delete mode 100644 examples/celix-examples/export_import/src/test.c create mode 100644 examples/celix-examples/readme_c_examples/src/schedule_events_bundle_activator.c create mode 100644 examples/celix-examples/readme_cxx_examples/src/ScheduleEventsBundleActivator.cc create mode 100644 examples/conan_test_package/test_celix_dfi.c create mode 100644 examples/conan_test_package/test_log_helper.c create mode 100644 examples/conan_test_package/test_log_service_api.c create mode 100644 examples/conan_test_package/test_rsa_spi.cc create mode 100644 examples/conan_test_package/test_shell_api.c create mode 100644 examples/conan_test_package/test_utils.c copy libs/{framework/gtest/config.properties.in => dfi/error_injector/CMakeLists.txt} (90%) rename libs/{ => dfi}/error_injector/dfi/CMakeLists.txt (93%) copy libs/{ => dfi}/error_injector/dfi/include/dfi_ei.h (100%) rename libs/{ => dfi}/error_injector/dfi/src/dfi_ei.cc (100%) create mode 100644 libs/dfi/gtest/descriptors/example5.descriptor create mode 100644 libs/dfi/gtest/descriptors/invalids/multiOutArgs.descriptor copy {bundles/remote_services/thpool => libs/error_injector/stdlib}/CMakeLists.txt (71%) copy libs/error_injector/{stat/include/stat_ei.h => stdlib/include/stdlib_ei.h} (83%) copy libs/error_injector/{stat/include/stat_ei.h => stdlib/src/stdlib_ei.cc} (69%) rename {bundles/remote_services/thpool => libs/error_injector/string}/CMakeLists.txt (72%) copy libs/error_injector/{celix_log_helper/include/celix_log_helper_ei.h => string/include/string_ei.h} (76%) rename examples/celix-examples/export_import/src/test2.c => libs/error_injector/string/src/string_ei.cc (68%) copy libs/error_injector/{stat => unistd}/CMakeLists.txt (68%) copy libs/error_injector/{stat/include/stat_ei.h => unistd/include/unistd_ei.h} (81%) copy libs/error_injector/{stat/src/stat_ei.cc => unistd/src/unistd_ei.cc} (56%) copy libs/framework/{gtest/config.properties.in => error_injector/CMakeLists.txt} (90%) rename libs/{ => framework}/error_injector/celix_bundle/CMakeLists.txt (93%) copy libs/{ => framework}/error_injector/celix_bundle/include/celix_bundle_ei.h (100%) rename libs/{ => framework}/error_injector/celix_bundle/src/celix_bundle_ei.cc (100%) rename libs/{ => framework}/error_injector/celix_bundle_ctx/CMakeLists.txt (93%) rename libs/{ => framework}/error_injector/celix_bundle_ctx/include/celix_bundle_context_ei.h (96%) rename libs/{ => framework}/error_injector/celix_bundle_ctx/src/celix_bundle_context_ei.cc (93%) create mode 100644 libs/framework/gtest/src/CelixBundleCacheErrorInjectionTestSuite.cc create mode 100644 libs/framework/gtest/src/CelixBundleCacheTestSuite.cc rename libs/framework/{src/resolver.h => gtest/src/CondTestBundleActivator.cc} (54%) create mode 100644 libs/framework/gtest/src/FrameworkBundleTestSuite.cc create mode 100644 libs/framework/gtest/src/FrameworkBundleWithErrorInjectionTestSuite.cc rename libs/framework/gtest/src/{CxxFrameworkFactoryTestSuite.cc => FrameworkFactoryTestSuite.cc} (76%) create mode 100644 libs/framework/gtest/src/FrameworkFactoryWithErrorInjectionTestSuite.cc create mode 100644 libs/framework/gtest/src/ManifestErrorInjectionTestSuite.cc create mode 100644 libs/framework/gtest/src/ManifestTestSuite.cc create mode 100644 libs/framework/gtest/src/ScheduledEventTestSuite.cc create mode 100644 libs/framework/gtest/src/ScheduledEventWithErrorInjectionTestSuite.cc delete mode 100644 libs/framework/include/celix/Exception.h copy libs/{error_injector/celix_bundle/include/celix_bundle_ei.h => framework/include/celix/FrameworkExceptions.h} (65%) create mode 100644 libs/framework/include/celix/ScheduledEvent.h create mode 100644 libs/framework/include/celix/ScheduledEventBuilder.h create mode 100644 libs/framework/include/celix_condition.h delete mode 100644 libs/framework/src/attribute.c create mode 100644 libs/framework/src/celix_framework_bundle.c create mode 100644 libs/framework/src/celix_framework_bundle.h create mode 100644 libs/framework/src/celix_scheduled_event.c create mode 100644 libs/framework/src/celix_scheduled_event.h delete mode 100644 libs/framework/src/resolver.c create mode 100644 libs/rcm/CMakeLists.txt create mode 100644 libs/rcm/README.md create mode 100644 libs/rcm/diagrams/logical-req-cap-model.png create mode 100644 libs/rcm/diagrams/logical-req-cap-model.puml create mode 100644 libs/rcm/gtest/CMakeLists.txt create mode 100644 libs/rcm/gtest/src/RequirementCapabilityModelTestSuite.cc create mode 100644 libs/rcm/gtest/src/RequirementCapabilityModelWithErrorInjectionTestSuite.cc create mode 100644 libs/rcm/include/celix_capability.h rename libs/{error_injector/dfi/include/dfi_ei.h => rcm/include/celix_rcm_types.h} (64%) create mode 100644 libs/rcm/include/celix_requirement.h create mode 100644 libs/rcm/include/celix_resource.h create mode 100644 libs/rcm/src/celix_capability.c create mode 100644 libs/rcm/src/celix_requirement.c create mode 100644 libs/rcm/src/celix_resource.c copy {bundles => libs/utils/error_injector}/CMakeLists.txt (73%) rename libs/{ => utils}/error_injector/celix_array_list/CMakeLists.txt (94%) rename libs/{ => utils}/error_injector/celix_array_list/include/celix_array_list_ei.h (100%) rename libs/{ => utils}/error_injector/celix_array_list/src/celix_array_list_ei.cc (100%) copy {bundles/logging/log_helper/gtest => libs/utils/error_injector/celix_hash_map}/CMakeLists.txt (66%) copy libs/{error_injector/stdio/include/stdio_ei.h => utils/error_injector/celix_hash_map/include/celix_hash_map_ei.h} (75%) copy libs/{error_injector/stat/src/stat_ei.cc => utils/error_injector/celix_hash_map/src/celix_hash_map_ei.cc} (50%) copy libs/{error_injector/stat => utils/error_injector/celix_long_hash_map}/CMakeLists.txt (68%) copy libs/{error_injector/celix_version/include/celix_version_ei.h => utils/error_injector/celix_long_hash_map/include/celix_long_hash_map_ei.h} (80%) rename libs/{error_injector/celix_bundle/include/celix_bundle_ei.h => utils/error_injector/celix_long_hash_map/src/celix_long_hash_map_ei.cc} (72%) rename libs/{ => utils}/error_injector/celix_properties/CMakeLists.txt (83%) rename libs/{ => utils}/error_injector/celix_properties/include/celix_properties_ei.h (94%) rename libs/{ => utils}/error_injector/celix_properties/src/celix_properties_ei.cc (76%) rename libs/{ => utils}/error_injector/celix_threads/CMakeLists.txt (94%) rename libs/{ => utils}/error_injector/celix_threads/include/celix_threads_ei.h (100%) rename libs/{ => utils}/error_injector/celix_threads/src/celix_threads_ei.cc (100%) rename libs/{ => utils}/error_injector/celix_utils/CMakeLists.txt (94%) rename libs/{ => utils}/error_injector/celix_utils/include/celix_utils_ei.h (100%) rename libs/{ => utils}/error_injector/celix_utils/src/celix_utils_ei.cc (100%) rename libs/{ => utils}/error_injector/celix_version/CMakeLists.txt (93%) rename libs/{ => utils}/error_injector/celix_version/include/celix_version_ei.h (100%) rename libs/{ => utils}/error_injector/celix_version/src/celix_version_ei.cc (100%) copy {bundles/logging/log_helper/gtest => libs/utils/error_injector/hash_map}/CMakeLists.txt (70%) copy libs/{error_injector/celix_log_helper/include/celix_log_helper_ei.h => utils/error_injector/hash_map/include/hmap_ei.h} (76%) copy bundles/remote_services/discovery_zeroconf/src/discovery_zeroconf_watcher.h => libs/utils/error_injector/hash_map/src/hmap_ei.cc (52%) rename libs/{ => utils}/error_injector/zip/CMakeLists.txt (93%) rename libs/{ => utils}/error_injector/zip/include/zip_ei.h (100%) rename libs/{ => utils}/error_injector/zip/src/zip_ei.cc (100%) create mode 100644 libs/utils/gtest/src/CelixUtilsAutoCleanupTestSuite.cc create mode 100644 libs/utils/gtest/src/LogTestSuite.cc create mode 100644 libs/utils/gtest/src/PropertiesErrorInjectionTestSuite.cc rename examples/celix-examples/export_import/include/test.h => libs/utils/include/celix/Exception.h (76%) create mode 100644 libs/utils/include/celix_cleanup.h create mode 100644 libs/utils/include/celix_compiler.h rename libs/{error_injector/celix_log_helper/include/celix_log_helper_ei.h => utils/include/celix_stdio_cleanup.h} (73%) create mode 100644 libs/utils/include/celix_stdlib_cleanup.h create mode 100644 libs/utils/include/celix_unistd_cleanup.h create mode 100644 libs/utils/src/celix_cleanup.c create mode 100644 libs/utils/src/celix_log_level.c copy libs/framework/gtest/config.properties.in => misc/experimental/rust/.gitignore (90%) create mode 100644 misc/experimental/rust/CMakeLists.txt copy libs/framework/gtest/config.properties.in => misc/experimental/rust/Cargo.toml (90%) create mode 100644 misc/experimental/rust/README.md copy libs/framework/gtest/config.properties.in => misc/experimental/rust/celix_bindings/Cargo.toml (82%) create mode 100644 misc/experimental/rust/celix_bindings/build.rs rename examples/celix-examples/export_import/include/test2.h => misc/experimental/rust/celix_bindings/src/celix_bindings.h (70%) copy libs/dfi/include/dyn_common.h => misc/experimental/rust/celix_bindings/src/lib.rs (51%) copy misc/experimental/{CMakeLists.txt => rust/hello_world_activator/Cargo.toml} (79%) create mode 100644 misc/experimental/rust/hello_world_activator/src/lib.rs