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

pengzheng pushed a commit to branch feature/511-remove-resolver
in repository https://gitbox.apache.org/repos/asf/celix.git

commit 4ce9a10337f5464b59b7d2c7cb6bd8bd6599c412
Merge: d6637a98 2683e8b8
Author: PengZheng <[email protected]>
AuthorDate: Tue Aug 1 12:02:00 2023 +0800

    Merge branch 'master' into feature/511-remove-resolver
    
    # Conflicts:
    #       libs/framework/CMakeLists.txt

 .github/workflows/conan_create.yml                 |  71 +++++
 .github/workflows/coverage.yml                     |   3 +-
 .github/workflows/macos.yml                        |  11 +-
 .github/workflows/ubuntu.yml                       |  17 +-
 CMakeLists.txt                                     |  34 +--
 bundles/CMakeLists.txt                             |   1 +
 bundles/components_ready_check/CMakeLists.txt      |  50 +++
 bundles/components_ready_check/README.md           |  50 +++
 .../api/celix_components_ready_constants.h         |  20 +-
 .../components_ready_check/gtest/CMakeLists.txt    |  57 ++++
 .../gtest/src/ActiveComponentBundle.cc             |  28 +-
 .../gtest/src/ComponentsReadyTestSuite.cc          |  97 ++++++
 .../ComponentsReadyWithErrorInjectionTestSuite.cc  | 123 ++++++++
 .../gtest/src/InactiveComponentBundle.cc           |  49 ++-
 .../src/celix_components_ready_check.c             | 158 ++++++++++
 .../src/celix_components_ready_check.h             |  58 ++++
 .../src/celix_components_ready_check_activator.c   |  20 +-
 .../cxx_remote_services/integration/CMakeLists.txt |   6 +-
 .../integration/gtest/CMakeLists.txt               |   2 +-
 bundles/cxx_remote_services/rsa_spi/CMakeLists.txt |   1 +
 .../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/log_admin/CMakeLists.txt           |   2 +-
 bundles/logging/log_admin/gtest/CMakeLists.txt     |   2 +-
 bundles/logging/log_admin/src/celix_log_admin.c    |   5 +-
 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
 .../log_helper/gtest/src/LogHelperTestSuite.cc     |   5 +
 .../logging/log_helper/include/celix_log_helper.h  |   3 +
 bundles/logging/log_service_api/CMakeLists.txt     |  34 ++-
 .../log_service_api/include/celix_log_control.h    |   1 +
 .../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             |  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/integration/gtest/tst_activator.c   |  11 +-
 .../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_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 +-
 .../pubsub/pubsub_spi/src/pubsub_endpoint_match.c  |   3 +-
 .../pubsub_spi/src/pubsub_interceptors_handler.c   |   3 +-
 .../src/pubsub_topology_manager.c                  |  17 +-
 .../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/remote_services/CMakeLists.txt             |   4 +-
 .../discovery_common/CMakeLists.txt                |  49 ++-
 .../{include => src}/endpoint_descriptor_common.h  |  12 +-
 .../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 +-
 .../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               |  53 ++--
 .../src/discovery_zeroconf_watcher.h               |   3 +
 bundles/remote_services/examples/CMakeLists.txt    |   5 +-
 .../calculator_service/src/calculator_impl.c       |   7 +-
 .../remote_service_admin_dfi/gtest/CMakeLists.txt  |   2 -
 .../gtest/client.properties.in                     |   2 +-
 .../gtest/src/rsa_client_server_tests.cc           |  27 +-
 .../gtest/src/rsa_tests.cc                         |   7 +-
 .../remote_service_admin_shm_v2/CMakeLists.txt     |   1 +
 .../rsa_shm/CMakeLists.txt                         |   1 +
 .../rsa_shm/gtest/CMakeLists.txt                   |   6 +-
 .../gtest/src/RsaShmClientServerUnitTestSuite.cc   |  51 ++++
 .../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                   | 326 +++++++++-----------
 .../rsa_shm/src/rsa_shm_client.h                   |   3 +
 .../rsa_shm/src/rsa_shm_export_registration.c      |  96 +++---
 .../rsa_shm/src/rsa_shm_export_registration.h      |   3 +
 .../rsa_shm/src/rsa_shm_impl.c                     | 338 ++++++++-------------
 .../rsa_shm/src/rsa_shm_impl.h                     |   3 +
 .../rsa_shm/src/rsa_shm_import_registration.c      |  46 +--
 .../rsa_shm/src/rsa_shm_server.c                   |  47 ++-
 .../shm_pool/include/shm_cache.h                   |   3 +
 .../shm_pool/include/shm_pool.h                    |  36 ++-
 .../shm_pool/src/shm_cache.c                       |  26 +-
 .../thpool/CMakeLists.txt                          |   0
 .../thpool/LICENSE                                 |   0
 .../thpool/README.md                               |   0
 .../thpool/include/thpool.h                        |   0
 .../thpool/src/thpool.c                            |   0
 .../rsa_common/src/endpoint_description.c          |  22 +-
 .../rsa_common/src/remote_interceptors_handler.c   |   3 +-
 .../rsa_rpc_json/src/rsa_json_rpc_activator.c      |  24 +-
 .../rsa_rpc_json/src/rsa_json_rpc_endpoint_impl.c  |  82 ++---
 .../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     |  81 ++---
 .../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 +-
 .../topology_manager/src/topology_manager.c        |  10 +-
 .../tms_tst/disc_mock/CMakeLists.txt               |   4 +-
 bundles/shell/README.md                            |  18 +-
 bundles/shell/remote_shell/CMakeLists.txt          |   2 +-
 bundles/shell/shell/CMakeLists.txt                 | 136 +++++----
 bundles/shell/shell/gtest/src/ShellTestSuite.cc    |   4 +
 bundles/shell/shell/src/bundle_command.c           |  22 +-
 bundles/shell/shell/src/c_shell_activator.c        |   3 +-
 bundles/shell/shell/src/query_command.c            |  18 +-
 bundles/shell/shell/src/quit_command.c             |   3 +-
 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/FindDNSSD.cmake                      |  49 +++
 cmake/Modules/Findlibuuid.cmake                    |  18 +-
 cmake/celix_project/CodeCoverage.cmake             |   2 +-
 cmake/cmake_celix/BundlePackaging.cmake            |   2 +-
 conanfile.py                                       | 295 ++++++++++++++----
 documents/README.md                                |   5 +
 documents/building/dev_celix_with_clion.md         |   2 +-
 documents/bundles.md                               |   4 +-
 documents/c_patterns.md                            |  91 ++++++
 documents/components.md                            |   2 +-
 documents/framework.md                             |  27 ++
 documents/services.md                              |   8 +-
 documents/subprojects.md                           |   1 +
 examples/celix-examples/CMakeLists.txt             |   2 +-
 .../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 +-
 .../log_service_example/src/activator.c            |   5 +-
 .../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/using_command_service_example.c            |   7 +-
 .../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         |  97 +++++-
 examples/conan_test_package/conanfile.py           |  59 +++-
 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_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/src/dm_activator.c         |   3 +-
 libs/dependency_manager_cxx/CMakeLists.txt         |  36 +--
 libs/dfi/CMakeLists.txt                            |   3 +
 .../dfi/error_injector}/CMakeLists.txt             |  12 +-
 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/src/dyn_avpr_function_tests.cpp     |  17 +-
 libs/dfi/include/dyn_interface.h                   |   3 +
 libs/dfi/src/json_rpc.c                            |   3 +-
 libs/error_injector/CMakeLists.txt                 |  15 -
 libs/etcdlib/CMakeLists.txt                        |  18 +-
 libs/framework/CMakeLists.txt                      | 134 ++++----
 .../framework/error_injector}/CMakeLists.txt       |  13 +-
 .../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                |  19 +-
 .../BundleArchiveWithErrorInjectionTestSuite.cc    |   5 +-
 .../src/CelixBundleContextBundlesTestSuite.cc      |  10 +-
 .../CelixBundleContextBundlesWithErrorTestSuite.cc |   7 +-
 .../src/CelixBundleContextServicesTestSuite.cc     |   1 +
 .../CelixFrameworkUtilsErrorInjectionTestSuite.cc  |   5 +-
 .../src/CondTestBundleActivator.cc}                |  44 ++-
 .../gtest/src/CxxBundleContextTestSuite.cc         |   8 +-
 .../gtest/src/FrameworkBundleTestSuite.cc          | 122 ++++++++
 .../FrameworkBundleWithErrorInjectionTestSuite.cc  |  93 ++++++
 ...ryTestSuite.cc => FrameworkFactoryTestSuite.cc} |  18 +-
 .../FrameworkFactoryWithErrorInjectionTestSuite.cc |  61 ++++
 .../framework/gtest/src/ScheduledEventTestSuite.cc |  83 +++--
 .../ScheduledEventWithErrorInjectionTestSuite.cc   |   5 +-
 libs/framework/gtest/src/nop_activator.c           |   5 +-
 libs/framework/include/celix/Constants.h           |   8 +
 libs/framework/include/celix/Framework.h           |   3 +-
 libs/framework/include/celix/FrameworkFactory.h    |  39 ++-
 libs/framework/include/celix/UseServiceBuilder.h   |   2 +-
 libs/framework/include/celix_bundle_context.h      |  32 ++
 libs/framework/include/celix_condition.h           |  92 ++++++
 libs/framework/include/celix_constants.h           |   9 +
 libs/framework/include/celix_framework.h           |   5 +
 libs/framework/include/celix_framework_factory.h   |   5 +-
 libs/framework/include_deprecated/bundle_context.h |  33 ++
 libs/framework/include_deprecated/framework.h      |  12 +
 libs/framework/src/bundle_archive.c                |  15 +-
 libs/framework/src/bundle_revision.c               |   3 +-
 libs/framework/src/celix_bundle_cache.c            |  38 ++-
 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_launcher.c                |   2 +-
 libs/framework/src/celix_libloader.h               |   6 +
 libs/framework/src/celix_scheduled_event.c         |   6 -
 libs/framework/src/celix_scheduled_event.h         |  23 +-
 libs/framework/src/dm_dependency_manager_impl.c    |   5 +-
 libs/framework/src/dm_service_dependency.c         |   5 +-
 libs/framework/src/framework.c                     | 265 ++++++++--------
 libs/framework/src/framework_private.h             |   6 +
 libs/framework/src/service_reference.c             |   3 +-
 libs/pushstreams/CMakeLists.txt                    |   3 +-
 libs/rcm/CMakeLists.txt                            |  37 +--
 libs/utils/CMakeLists.txt                          | 331 ++++++++++----------
 .../utils/error_injector}/CMakeLists.txt           |  16 +-
 .../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   |   2 +-
 .../celix_hash_map/include/celix_hash_map_ei.h     |   0
 .../celix_hash_map/src/celix_hash_map_ei.cc        |   0
 .../celix_long_hash_map/CMakeLists.txt             |   2 +-
 .../include/celix_long_hash_map_ei.h               |   0
 .../src/celix_long_hash_map_ei.cc                  |   0
 .../error_injector/celix_properties/CMakeLists.txt |   2 +-
 .../celix_properties/include/celix_properties_ei.h |   0
 .../celix_properties/src/celix_properties_ei.cc    |   0
 .../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
 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                    |   3 +-
 libs/utils/gtest/src/ArrayListTestSuite.cc         |   5 +
 .../gtest/src/CelixUtilsAutoCleanupTestSuite.cc    | 190 ++++++++++++
 libs/utils/gtest/src/HashMapTestSuite.cc           |  10 +
 libs/utils/gtest/src/ThreadsTestSuite.cc           |   3 +-
 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_long_hash_map.h           |   3 +
 libs/utils/include/celix_properties.h              |   9 +-
 libs/utils/include/celix_stdlib_cleanup.h          |  48 +++
 libs/utils/include/celix_string_hash_map.h         |   3 +
 libs/utils/include/celix_threads.h                 | 155 +++++++++-
 libs/utils/include/celix_unistd_cleanup.h          |  40 +++
 libs/utils/include/celix_version.h                 |   3 +
 libs/utils/private/test/properties_test.cpp        |   4 +
 libs/utils/src/celix_cleanup.c                     |  20 ++
 libs/utils/src/celix_log_utils.c                   |   3 +-
 libs/utils/src/celix_threads.c                     |  18 +-
 .../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 +-
 313 files changed, 4980 insertions(+), 2303 deletions(-)

diff --cc libs/framework/CMakeLists.txt
index 31235e1c,14742d3f..11278062
--- a/libs/framework/CMakeLists.txt
+++ b/libs/framework/CMakeLists.txt
@@@ -15,74 -15,82 +15,82 @@@
  # specific language governing permissions and limitations
  # under the License.
  
- find_package(ZLIB REQUIRED)
- find_package(libuuid REQUIRED)
- find_package(CURL REQUIRED)
+ celix_subproject(FRAMEWORK "Option to build the Celix Framework" ON)
+ if (FRAMEWORK)
+     find_package(libuuid REQUIRED)
+     find_package(CURL REQUIRED)
  
- set(FRAMEWORK_SRC
-         src/attribute.c src/bundle.c src/bundle_archive.c 
src/celix_bundle_cache.c
-         src/bundle_context.c src/bundle_revision.c
-         src/framework.c src/manifest.c
-         src/manifest_parser.c src/module.c
-         src/requirement.c src/capability.c src/wire.c
-         src/service_reference.c src/service_registration.c
-         src/service_registry.c src/service_tracker.c 
src/service_tracker_customizer.c
-         src/celix_log.c src/celix_launcher.c
-         src/celix_framework_factory.c
-         src/dm_dependency_manager_impl.c src/dm_component_impl.c
-         src/dm_service_dependency.c src/celix_libloader.c
-         src/framework_bundle_lifecycle_handler.c
-         src/celix_bundle_state.c
-         src/celix_framework_utils.c
-         src/celix_scheduled_event.c
- )
- set(FRAMEWORK_DEPS libuuid::libuuid CURL::libcurl ZLIB::ZLIB ${CMAKE_DL_LIBS})
+     set(FRAMEWORK_SRC
+             src/attribute.c src/bundle.c src/bundle_archive.c 
src/celix_bundle_cache.c
+             src/bundle_context.c src/bundle_revision.c
+             src/framework.c src/manifest.c
+             src/manifest_parser.c src/module.c
 -            src/requirement.c src/capability.c src/resolver.c src/wire.c
++            src/requirement.c src/capability.c src/wire.c
+             src/service_reference.c src/service_registration.c
+             src/service_registry.c src/service_tracker.c 
src/service_tracker_customizer.c
+             src/celix_log.c src/celix_launcher.c
+             src/celix_framework_factory.c
+             src/dm_dependency_manager_impl.c src/dm_component_impl.c
+             src/dm_service_dependency.c src/celix_libloader.c
+             src/framework_bundle_lifecycle_handler.c
+             src/celix_bundle_state.c
+             src/celix_framework_utils.c
+             src/celix_scheduled_event.c
+             src/celix_framework_bundle.c
+             )
+     set(FRAMEWORK_DEPS libuuid::libuuid CURL::libcurl ${CMAKE_DL_LIBS})
  
- add_library(framework SHARED ${FRAMEWORK_SRC})
+     add_library(framework SHARED ${FRAMEWORK_SRC})
  
- set_target_properties(framework
-         PROPERTIES
-         C_VISIBILITY_PRESET hidden
-         "VERSION" "${CELIX_MAJOR}.${CELIX_MINOR}.${CELIX_MICRO}"
-         "SOVERSION" ${CELIX_MAJOR}
-         OUTPUT_NAME "celix_framework")
- target_include_directories(framework PUBLIC
-     $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
- )
- target_include_directories(framework PRIVATE 
${CMAKE_CURRENT_LIST_DIR}/include_deprecated)
- target_compile_options(framework PRIVATE -DUSE_FILE32API)
- target_compile_options(framework PRIVATE -Wno-deprecated-declarations) #note 
part of the api is deprecated, ignore this warning on own api
- target_link_libraries(framework PUBLIC Celix::utils 
${CELIX_OPTIONAL_EXTRA_LIBS})
- target_link_libraries(framework PRIVATE ${FRAMEWORK_DEPS})
+     set_target_properties(framework
+             PROPERTIES
+             "VERSION" "${CELIX_MAJOR}.${CELIX_MINOR}.${CELIX_MICRO}"
+             "SOVERSION" ${CELIX_MAJOR}
+             OUTPUT_NAME "celix_framework")
+     celix_target_hide_symbols(framework)
+     target_include_directories(framework PUBLIC
+             $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
+             )
+     target_include_directories(framework PRIVATE 
${CMAKE_CURRENT_LIST_DIR}/include_deprecated)
+     target_compile_options(framework PRIVATE -DUSE_FILE32API)
+     target_compile_options(framework PRIVATE -Wno-deprecated-declarations) 
#note part of the api is deprecated, ignore this warning on own api
+     target_link_libraries(framework PUBLIC Celix::utils 
${CELIX_OPTIONAL_EXTRA_LIBS})
+     target_link_libraries(framework PRIVATE ${FRAMEWORK_DEPS})
  
- generate_export_header(framework
-         BASE_NAME "CELIX_FRAMEWORK"
-         EXPORT_FILE_NAME 
"${CMAKE_BINARY_DIR}/celix/gen/includes/framework/celix_framework_export.h")
- target_include_directories(framework PUBLIC 
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/framework>)
- celix_deprecated_utils_headers(framework)
+     generate_export_header(framework
+             BASE_NAME "CELIX_FRAMEWORK"
+             EXPORT_FILE_NAME 
"${CMAKE_BINARY_DIR}/celix/gen/includes/framework/celix_framework_export.h")
+     target_include_directories(framework PUBLIC 
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/celix/gen/includes/framework>)
+     celix_deprecated_utils_headers(framework)
  
- install(TARGETS framework EXPORT celix LIBRARY DESTINATION 
${CMAKE_INSTALL_LIBDIR} COMPONENT framework
-         INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework)
- install(DIRECTORY include/ DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework)
- install(DIRECTORY include_deprecated/ DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework)
- install(DIRECTORY ${CMAKE_BINARY_DIR}/celix/gen/includes/framework/ 
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework)
+     install(TARGETS framework EXPORT celix LIBRARY DESTINATION 
${CMAKE_INSTALL_LIBDIR} COMPONENT framework
+             INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework)
+     install(DIRECTORY include/ DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework)
+     if (CELIX_INSTALL_DEPRECATED_API)
+         install(DIRECTORY include_deprecated/ DESTINATION 
${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework)
+     endif ()
+     install(DIRECTORY ${CMAKE_BINARY_DIR}/celix/gen/includes/framework/ 
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/celix/framework COMPONENT framework)
  
- #Alias setup to match external usage
- add_library(Celix::framework ALIAS framework)
+     #Alias setup to match external usage
+     add_library(Celix::framework ALIAS framework)
  
- if (ENABLE_TESTING AND CELIX_CXX17) #framework tests are C++17
-     add_library(framework_cut STATIC ${FRAMEWORK_SRC})
-     target_include_directories(framework_cut PUBLIC
-             ${CMAKE_CURRENT_LIST_DIR}/src
-             ${CMAKE_CURRENT_LIST_DIR}/include
-             ${CMAKE_BINARY_DIR}/celix/gen/includes/framework
-             ${CMAKE_CURRENT_LIST_DIR}/include_deprecated
-             )
-     target_compile_options(framework_cut PRIVATE -DUSE_FILE32API)
-     target_compile_options(framework_cut PRIVATE 
-Wno-deprecated-declarations) #note part of the api is deprecated, ignore this 
warning on own api
-     target_link_libraries(framework_cut PUBLIC Celix::utils 
${CELIX_OPTIONAL_EXTRA_LIBS} ${FRAMEWORK_DEPS})
-     celix_deprecated_utils_headers(framework_cut)
-     add_subdirectory(gtest)
- endif()
+     if (ENABLE_TESTING AND LINKER_WRAP_SUPPORTED)
+         add_subdirectory(error_injector)
+     endif ()
+     if (ENABLE_TESTING AND CELIX_CXX17) #framework tests are C++17
+         add_library(framework_cut STATIC ${FRAMEWORK_SRC})
+         target_include_directories(framework_cut PUBLIC
+                 ${CMAKE_CURRENT_LIST_DIR}/src
+                 ${CMAKE_CURRENT_LIST_DIR}/include
+                 ${CMAKE_BINARY_DIR}/celix/gen/includes/framework
+                 ${CMAKE_CURRENT_LIST_DIR}/include_deprecated
+                 )
+         target_compile_options(framework_cut PRIVATE -DUSE_FILE32API)
+         target_compile_options(framework_cut PRIVATE 
-Wno-deprecated-declarations) #note part of the api is deprecated, ignore this 
warning on own api
+         target_link_libraries(framework_cut PUBLIC Celix::utils 
${CELIX_OPTIONAL_EXTRA_LIBS} ${FRAMEWORK_DEPS})
+         celix_deprecated_utils_headers(framework_cut)
+         add_subdirectory(gtest)
+     endif()
  
- add_subdirectory(benchmark)
+     add_subdirectory(benchmark)
+ endif ()

Reply via email to