This is an automated email from the ASF dual-hosted git repository.

pengzheng pushed a change to branch feature/579-automatic-dependency-deduction
in repository https://gitbox.apache.org/repos/asf/celix.git


    from 0979ee3c Fix typo.
     new 58d06789 All build_ options are off by default so that users do not 
get what they do not need.
     new 0c216c80 Add missing build options.
     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 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
     new 7eef42ed Merge branch 'master' into 
feature/579-automatic-dependency-deduction
     new 096e19f7 Add options for log/shell api and log helper.
     new e21fcae9 Add automatic dependency deduction to shell/log/pubsub and 
improve cmake dependency specification.
     new 9bc9aea8 Fix compilation error.
     new d3ba7873 Use mDNSResponder package which supports cross-compilation.
     new ba204b16 Improve deprecated header dependency specification.
     new 276afafe Improve dependency specification of RSA.
     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 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 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 713d2c4c Add ignore scheduled event ids < 0
     add 781e7bdd Update ScheduledEventTimeoutLogTest timing to use actual 
sleep time
     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
     new 55431197 Merge branch 'master' into 
feature/579-automatic-dependency-deduction
     new 46915e07 Add automatic dependency deduction to RSA.
     new ecd5195f Add automatic dependency deduction to remaining libs.
     new 277e537e Fix `conan create` errors.
     new c09b8e68 Add automatic dependency deduction to examples, and remove 
DEPS from celix_subproject.
     new dbebb570 Add missing dependency specifications.
     new 2451c522 Update test_package to use celix API.
     new 28e0fdfa Add missing test_package.

The 17 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .clang-format                                      |   2 +-
 CMakeLists.txt                                     |  30 +-
 .../cxx_remote_services/integration/CMakeLists.txt |   6 +-
 .../integration/gtest/CMakeLists.txt               |   2 +-
 bundles/cxx_remote_services/rsa_spi/CMakeLists.txt |   1 +
 bundles/logging/log_admin/CMakeLists.txt           |   2 +-
 bundles/logging/log_admin/gtest/CMakeLists.txt     |   2 +-
 .../log_admin/gtest/src/LogAdminTestSuite.cc       |  20 +-
 bundles/logging/log_helper/CMakeLists.txt          |  57 +-
 bundles/logging/log_service_api/CMakeLists.txt     |  34 +-
 .../log_service_api/include/celix_log_control.h    |   1 +
 .../log_writers/syslog_writer/CMakeLists.txt       |   2 +-
 .../log_writers/syslog_writer/gtest/CMakeLists.txt |   2 +-
 bundles/pubsub/CMakeLists.txt                      |   2 +-
 bundles/pubsub/examples/CMakeLists.txt             |  28 +-
 .../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/pubsub_admin_tcp/CMakeLists.txt     |   7 +-
 bundles/pubsub/pubsub_admin_udp_mc/CMakeLists.txt  |   5 +-
 .../pubsub/pubsub_admin_websocket/CMakeLists.txt   |   9 +-
 bundles/pubsub/pubsub_admin_zmq/CMakeLists.txt     |   3 +-
 bundles/pubsub/pubsub_api/CMakeLists.txt           |   1 +
 bundles/pubsub/pubsub_discovery/CMakeLists.txt     |   7 +-
 .../pubsub_protocol_wire_v1/CMakeLists.txt         |  51 +-
 .../pubsub_protocol_wire_v2/CMakeLists.txt         |  45 +-
 .../pubsub_serializer_avrobin/CMakeLists.txt       |  50 +-
 .../pubsub/pubsub_serializer_json/CMakeLists.txt   |  48 +-
 bundles/pubsub/pubsub_spi/CMakeLists.txt           |   2 +
 .../src/pubsub_topology_manager.c                  |   1 -
 bundles/pubsub/pubsub_utils/CMakeLists.txt         |   1 +
 .../pubsub/pubsub_utils/include/pubsub_utils_url.h |   2 +
 bundles/remote_services/CMakeLists.txt             |   4 +-
 .../discovery_common/CMakeLists.txt                |  49 +-
 .../{include => src}/endpoint_descriptor_common.h  |   0
 .../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 +-
 bundles/remote_services/examples/CMakeLists.txt    |   5 +-
 .../remote_service_admin_dfi/gtest/CMakeLists.txt  |   2 -
 .../gtest/client.properties.in                     |   2 +-
 .../remote_service_admin_shm_v2/CMakeLists.txt     |   1 +
 .../rsa_shm/CMakeLists.txt                         |   1 +
 .../rsa_shm/gtest/CMakeLists.txt                   |   5 +-
 .../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  |  19 +-
 .../rsa_common/gtest/CMakeLists.txt                |   2 +-
 .../remote_services/rsa_dfi_utils/CMakeLists.txt   |   1 +
 .../rsa_rpc_json/gtest/CMakeLists.txt              |   2 +-
 bundles/remote_services/rsa_spi/CMakeLists.txt     |   3 -
 .../topology_manager/CMakeLists.txt                |   2 +-
 .../tms_tst/disc_mock/CMakeLists.txt               |   4 +-
 .../topology_manager/tms_tst/tms_tests.cpp         |  28 +-
 bundles/shell/remote_shell/CMakeLists.txt          |   2 +-
 bundles/shell/shell/CMakeLists.txt                 | 136 ++--
 bundles/shell/shell_bonjour/CMakeLists.txt         |  14 +-
 bundles/shell/shell_tui/CMakeLists.txt             |   2 +-
 bundles/shell/shell_wui/CMakeLists.txt             |   2 +-
 cmake/CelixConfig.cmake                            |  33 +-
 cmake/CelixDeps.cmake.in                           |  14 +-
 cmake/Modules/Findlibuuid.cmake                    |  52 +-
 conanfile.py                                       | 289 +++++++--
 documents/README.md                                |   1 +
 documents/framework.md                             |  35 +-
 documents/scheduled_events .md                     | 136 ++++
 examples/celix-examples/CMakeLists.txt             |   2 +-
 examples/celix-examples/dm_example/CMakeLists.txt  |   1 -
 .../readme_c_examples/CMakeLists.txt               |   6 +
 .../src/schedule_events_bundle_activator.c         |  70 ++
 .../readme_cxx_examples/CMakeLists.txt             |   7 +
 ...tivator.cc => ScheduleEventsBundleActivator.cc} |  27 +-
 examples/conan_test_package/CMakeLists.txt         |  92 ++-
 examples/conan_test_package/conanfile.py           |  55 +-
 examples/conan_test_package/hello_bundle.c         |  11 +-
 .../conan_test_package/my_log_writer_activator.c   |   9 +-
 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_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/dependency_manager/CMakeLists.txt             |  65 +-
 libs/dependency_manager_cxx/CMakeLists.txt         |  36 +-
 libs/error_injector/CMakeLists.txt                 |  30 +-
 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 +-
 .../{unistd => stdlib}/CMakeLists.txt              |  12 +-
 .../unistd_ei.h => stdlib/include/stdlib_ei.h}     |  11 +-
 .../src/ifaddrs_ei.cc => stdlib/src/stdlib_ei.cc}  |  15 +-
 libs/error_injector/unistd/CMakeLists.txt          |   6 +-
 libs/error_injector/unistd/include/unistd_ei.h     |   4 +
 libs/error_injector/unistd/src/unistd_ei.cc        |  23 +-
 libs/error_injector/zip/CMakeLists.txt             |   1 +
 libs/etcdlib/CMakeLists.txt                        |   4 +-
 libs/framework/CMakeLists.txt                      | 129 ++--
 libs/framework/gtest/CMakeLists.txt                |   6 +-
 libs/framework/gtest/config.properties.in          |   2 +-
 .../BundleArchiveWithErrorInjectionTestSuite.cc    |  43 +-
 .../src/CelixBundleContextBundlesTestSuite.cc      |  31 +-
 .../src/CelixBundleContextServicesTestSuite.cc     |   2 +-
 .../framework/gtest/src/CelixFrameworkTestSuite.cc |  19 +
 .../CelixFrameworkUtilsErrorInjectionTestSuite.cc  |  26 +
 .../gtest/src/CelixFrameworkUtilsTestSuite.cc      |  32 +-
 .../framework/gtest/src/ScheduledEventTestSuite.cc | 706 +++++++++++++++++++++
 .../ScheduledEventWithErrorInjectionTestSuite.cc   |  56 ++
 libs/framework/include/celix/BundleContext.h       |   9 +
 libs/framework/include/celix/Framework.h           |   2 +-
 libs/framework/include/celix/ScheduledEvent.h      | 162 +++++
 .../include/celix/ScheduledEventBuilder.h          | 128 ++++
 libs/framework/include/celix/dm/Component.h        |   2 +
 .../framework/include/celix/dm/DependencyManager.h |   3 +
 libs/framework/include/celix_bundle_context.h      | 159 ++++-
 libs/framework/include/celix_constants.h           |  15 +
 libs/framework/include/celix_dependency_manager.h  |  13 +-
 libs/framework/include/celix_framework.h           |  61 +-
 libs/framework/include_deprecated/bundle_archive.h |   2 +-
 libs/framework/src/bundle_archive.c                |  51 +-
 libs/framework/src/bundle_archive_private.h        |   5 -
 libs/framework/src/bundle_context.c                |  56 +-
 libs/framework/src/celix_framework_utils.c         |  29 +-
 libs/framework/src/celix_launcher.c                |   2 +-
 libs/framework/src/celix_scheduled_event.c         | 301 +++++++++
 libs/framework/src/celix_scheduled_event.h         | 191 ++++++
 libs/framework/src/framework.c                     | 445 ++++++++++---
 libs/framework/src/framework_private.h             | 106 +++-
 libs/framework/src/service_tracker.c               |  81 ++-
 libs/pushstreams/CMakeLists.txt                    |   3 +-
 libs/rcm/CMakeLists.txt                            |  37 +-
 libs/utils/CMakeLists.txt                          | 325 +++++-----
 libs/utils/gtest/CMakeLists.txt                    |   1 +
 libs/utils/gtest/src/LogTestSuite.cc               |  56 ++
 libs/utils/gtest/src/LogUtilsTestSuite.cc          |  28 +-
 libs/utils/gtest/src/ThreadsTestSuite.cc           |  40 +-
 libs/utils/gtest/src/TimeUtilsTestSuite.cc         |  81 ++-
 libs/utils/include/celix_errno.h                   |   1 +
 libs/utils/include/celix_log_level.h               |  46 +-
 libs/utils/include/celix_log_utils.h               |  20 +-
 libs/utils/include/celix_threads.h                 |  62 +-
 libs/utils/include/celix_utils.h                   |  16 +
 libs/utils/src/celix_log_level.c                   |  97 +++
 libs/utils/src/celix_log_utils.c                   |  68 +-
 libs/utils/src/celix_threads.c                     |  59 +-
 libs/utils/src/utils.c                             |  36 ++
 .../bundles/event_admin/CMakeLists.txt             |   2 +-
 .../bundles/pubsub_admin_nanomsg/CMakeLists.txt    |   1 -
 161 files changed, 4633 insertions(+), 1349 deletions(-)
 rename bundles/remote_services/discovery_common/{include => 
src}/endpoint_descriptor_common.h (100%)
 rename 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%)
 create mode 100644 documents/scheduled_events .md
 create mode 100644 
examples/celix-examples/readme_c_examples/src/schedule_events_bundle_activator.c
 copy examples/celix-examples/readme_cxx_examples/src/{MyBundleActivator.cc => 
ScheduleEventsBundleActivator.cc} (50%)
 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/error_injector/{unistd => stdlib}/CMakeLists.txt (72%)
 copy libs/error_injector/{unistd/include/unistd_ei.h => 
stdlib/include/stdlib_ei.h} (86%)
 copy libs/error_injector/{ifaddrs/src/ifaddrs_ei.cc => 
stdlib/src/stdlib_ei.cc} (72%)
 create mode 100644 libs/framework/gtest/src/ScheduledEventTestSuite.cc
 create mode 100644 
libs/framework/gtest/src/ScheduledEventWithErrorInjectionTestSuite.cc
 create mode 100644 libs/framework/include/celix/ScheduledEvent.h
 create mode 100644 libs/framework/include/celix/ScheduledEventBuilder.h
 create mode 100644 libs/framework/src/celix_scheduled_event.c
 create mode 100644 libs/framework/src/celix_scheduled_event.h
 create mode 100644 libs/utils/gtest/src/LogTestSuite.cc
 create mode 100644 libs/utils/src/celix_log_level.c

Reply via email to