You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2017/11/20 20:33:43 UTC
[46/46] celix git commit: CELIX-417: Initial refactoring for CMake
usage
CELIX-417: Initial refactoring for CMake usage
Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/a1c30887
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/a1c30887
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/a1c30887
Branch: refs/heads/feature/CELIX-417-cmake-refactor
Commit: a1c308879bb4f2834334f120ca6d5d6dabecc4d4
Parents: 78e435b
Author: Pepijn Noltes <pe...@gmail.com>
Authored: Mon Nov 20 21:40:38 2017 +0100
Committer: Pepijn Noltes <pe...@gmail.com>
Committed: Mon Nov 20 21:40:38 2017 +0100
----------------------------------------------------------------------
CMakeLists.txt | 31 +-
cmake/CMakeCelix-local.cmake | 31 +
cmake/CMakeCelix.cmake | 32 -
cmake/FindCELIX.cmake | 44 +-
cmake/cmake_celix/BundlePackaging.cmake | 53 +-
cmake/cmake_celix/DeployPackaging.cmake | 43 +-
cmake/cmake_celix/UseCelix.cmake | 22 +
config_admin/CMakeLists.txt | 7 +-
config_admin/config_admin_tst/CMakeLists.txt | 2 +-
.../example_test/CMakeLists.txt | 2 +-
.../example_test2/CMakeLists.txt | 2 +-
config_admin/example/CMakeLists.txt | 2 -
config_admin/service/CMakeLists.txt | 3 -
dependency_manager/CMakeLists.txt | 96 +-
dependency_manager/api/dm_activator.h | 65 +
dependency_manager/api/dm_component.h | 158 ++
dependency_manager/api/dm_dependency_manager.h | 79 +
dependency_manager/api/dm_info.h | 81 +
dependency_manager/api/dm_service_dependency.h | 171 ++
.../private/include/dm_component_impl.h | 48 -
.../private/include/dm_dependency.h | 41 -
.../include/dm_dependency_manager_impl.h | 45 -
dependency_manager/private/include/dm_event.h | 72 -
.../include/dm_service_dependency_impl.h | 104 -
.../private/include/dm_shell_list_command.h | 42 -
dependency_manager/private/src/dm_activator.c | 119 -
.../private/src/dm_component_impl.c | 1442 ----------
.../private/src/dm_dependency_manager_impl.c | 129 -
dependency_manager/private/src/dm_event.c | 105 -
.../private/src/dm_service_dependency.c | 811 ------
.../private/src/dm_shell_activator.c | 94 -
.../private/src/dm_shell_list_command.c | 126 -
.../public/include/dm_activator.h | 65 -
.../public/include/dm_component.h | 158 --
.../public/include/dm_dependency_manager.h | 79 -
dependency_manager/public/include/dm_info.h | 81 -
.../public/include/dm_service_dependency.h | 171 --
dependency_manager/readme.md | 18 +-
dependency_manager/src/dm_activator.c | 119 +
dependency_manager/src/dm_component_impl.c | 1442 ++++++++++
dependency_manager/src/dm_component_impl.h | 48 +
dependency_manager/src/dm_dependency.h | 41 +
.../src/dm_dependency_manager_impl.c | 129 +
.../src/dm_dependency_manager_impl.h | 45 +
dependency_manager/src/dm_event.c | 105 +
dependency_manager/src/dm_event.h | 72 +
dependency_manager/src/dm_service_dependency.c | 811 ++++++
.../src/dm_service_dependency_impl.h | 104 +
dependency_manager/src/dm_shell_activator.c | 94 +
dependency_manager/src/dm_shell_list_command.c | 126 +
dependency_manager/src/dm_shell_list_command.h | 42 +
dependency_manager_cxx/CMakeLists.txt | 32 +-
dependency_manager_cxx/readme.md | 6 +
deployment_admin/CMakeLists.txt | 59 +-
deployment_admin/README.md | 20 +-
deployment_admin/api/resource_processor.h | 54 +
.../private/include/deployment_admin.h | 57 -
.../private/include/deployment_package.h | 76 -
deployment_admin/private/include/ioapi.h | 200 --
deployment_admin/private/include/log.h | 44 -
deployment_admin/private/include/log_event.h | 43 -
deployment_admin/private/include/log_store.h | 45 -
deployment_admin/private/include/log_sync.h | 36 -
deployment_admin/private/include/miniunz.h | 34 -
deployment_admin/private/include/unzip.h | 437 ---
deployment_admin/private/src/deployment_admin.c | 809 ------
.../private/src/deployment_admin_activator.c | 78 -
.../private/src/deployment_package.c | 219 --
deployment_admin/private/src/ioapi.c | 235 --
deployment_admin/private/src/log.c | 73 -
deployment_admin/private/src/log_store.c | 94 -
deployment_admin/private/src/log_sync.c | 209 --
deployment_admin/private/src/miniunz.c | 402 ---
deployment_admin/private/src/unzip.c | 2128 --------------
.../public/include/resource_processor.h | 54 -
deployment_admin/src/deployment_admin.c | 809 ++++++
deployment_admin/src/deployment_admin.h | 57 +
.../src/deployment_admin_activator.c | 78 +
deployment_admin/src/deployment_package.c | 219 ++
deployment_admin/src/deployment_package.h | 76 +
deployment_admin/src/ioapi.c | 235 ++
deployment_admin/src/ioapi.h | 200 ++
deployment_admin/src/log.c | 73 +
deployment_admin/src/log.h | 44 +
deployment_admin/src/log_event.h | 43 +
deployment_admin/src/log_store.c | 94 +
deployment_admin/src/log_store.h | 45 +
deployment_admin/src/log_sync.c | 209 ++
deployment_admin/src/log_sync.h | 36 +
deployment_admin/src/miniunz.c | 402 +++
deployment_admin/src/miniunz.h | 34 +
deployment_admin/src/unzip.c | 2128 ++++++++++++++
deployment_admin/src/unzip.h | 437 +++
device_access/README.md | 11 +-
device_access/device_access/CMakeLists.txt | 42 +-
device_access/device_access/include/device.h | 47 +
device_access/device_access/include/driver.h | 45 +
.../device_access/include/driver_locator.h | 46 +
.../device_access/include/driver_selector.h | 41 +
device_access/device_access/include/match.h | 38 +
.../private/include/device_manager.h | 56 -
.../private/include/driver_attributes.h | 46 -
.../private/include/driver_loader.h | 48 -
.../private/include/driver_matcher.h | 42 -
.../device_access/private/src/activator.c | 194 --
.../device_access/private/src/device_manager.c | 570 ----
.../private/src/driver_attributes.c | 169 --
.../device_access/private/src/driver_loader.c | 185 --
.../device_access/private/src/driver_matcher.c | 274 --
.../device_access/public/include/device.h | 47 -
.../device_access/public/include/driver.h | 45 -
.../public/include/driver_locator.h | 46 -
.../public/include/driver_selector.h | 41 -
.../device_access/public/include/match.h | 38 -
device_access/device_access/src/activator.c | 194 ++
.../device_access/src/device_manager.c | 570 ++++
.../device_access/src/device_manager.h | 56 +
.../device_access/src/driver_attributes.c | 169 ++
.../device_access/src/driver_attributes.h | 46 +
device_access/device_access/src/driver_loader.c | 185 ++
device_access/device_access/src/driver_loader.h | 48 +
.../device_access/src/driver_matcher.c | 274 ++
.../device_access/src/driver_matcher.h | 42 +
device_access/driver_locator/CMakeLists.txt | 14 +-
.../private/include/driver_locator_private.h | 39 -
.../driver_locator/private/src/activator.c | 89 -
.../driver_locator/private/src/driver_locator.c | 91 -
device_access/driver_locator/src/activator.c | 89 +
.../driver_locator/src/driver_locator.c | 91 +
.../driver_locator/src/driver_locator_private.h | 39 +
device_access/example/CMakeLists.txt | 2 +-
.../example/base_driver/CMakeLists.txt | 15 +-
.../base_driver/include/base_driver_device.h | 44 +
.../private/include/base_driver_private.h | 41 -
.../example/base_driver/private/src/activator.c | 140 -
.../base_driver/private/src/base_driver.c | 111 -
.../public/include/base_driver_device.h | 44 -
.../example/base_driver/src/activator.c | 140 +
.../example/base_driver/src/base_driver.c | 111 +
.../base_driver/src/base_driver_private.h | 41 +
.../example/consuming_driver/CMakeLists.txt | 12 +-
.../private/include/consuming_driver_private.h | 43 -
.../consuming_driver/private/src/activator.c | 104 -
.../private/src/consuming_driver.c | 125 -
.../example/consuming_driver/src/activator.c | 104 +
.../consuming_driver/src/consuming_driver.c | 125 +
.../src/consuming_driver_private.h | 43 +
.../example/refining_driver/CMakeLists.txt | 15 +-
.../include/refining_driver_device.h | 45 +
.../private/include/refining_driver_private.h | 58 -
.../refining_driver/private/src/activator.c | 104 -
.../private/src/refining_driver.c | 281 --
.../public/include/refining_driver_device.h | 45 -
.../example/refining_driver/src/activator.c | 104 +
.../refining_driver/src/refining_driver.c | 281 ++
.../src/refining_driver_private.h | 58 +
dfi/CMakeLists.txt | 88 +-
dfi/include/dfi_log_util.h | 63 +
dfi/include/dyn_common.h | 47 +
dfi/include/dyn_function.h | 60 +
dfi/include/dyn_interface.h | 66 +
dfi/include/dyn_message.h | 56 +
dfi/include/dyn_type.h | 155 ++
dfi/include/json_rpc.h | 37 +
dfi/include/json_serializer.h | 37 +
dfi/private/src/dyn_common.c | 151 -
dfi/private/src/dyn_function.c | 331 ---
dfi/private/src/dyn_interface.c | 444 ---
dfi/private/src/dyn_message.c | 358 ---
dfi/private/src/dyn_type.c | 1160 --------
dfi/private/src/json_rpc.c | 341 ---
dfi/private/src/json_serializer.c | 484 ----
.../test/avro_descriptor_translator_tests.cpp | 180 --
.../test/descriptors/example1.descriptor | 13 -
.../test/descriptors/example2.descriptor | 9 -
.../test/descriptors/example3.descriptor | 11 -
.../test/descriptors/example4.descriptor | 8 -
.../descriptors/invalids/invalid.descriptor | 13 -
.../invalids/invalidMetaType.descriptor | 8 -
.../invalids/invalidMethod.descriptor | 8 -
.../invalids/invalidMethodReturnType.descriptor | 8 -
.../invalids/invalidMsgHdr.descriptor | 9 -
.../invalids/invalidMsgInvalidName.descriptor | 9 -
.../invalidMsgInvalidSection.descriptor | 10 -
.../invalids/invalidMsgInvalidType.descriptor | 9 -
.../invalidMsgInvalidVersion.descriptor | 10 -
.../invalidMsgMissingVersion.descriptor | 10 -
.../invalids/invalidSection.descriptor | 6 -
.../descriptors/invalids/invalidType.descriptor | 10 -
.../invalids/invalidVersion.descriptor | 9 -
.../descriptors/invalids/noVersion.descriptor | 12 -
.../test/descriptors/msg_example1.descriptor | 10 -
.../test/descriptors/msg_example2.descriptor | 12 -
.../test/descriptors/msg_example3.descriptor | 10 -
.../test/descriptors/msg_example4.descriptor | 10 -
dfi/private/test/dyn_closure_tests.cpp | 162 --
dfi/private/test/dyn_function_tests.cpp | 274 --
dfi/private/test/dyn_interface_tests.cpp | 207 --
dfi/private/test/dyn_message_tests.cpp | 253 --
dfi/private/test/dyn_type_tests.cpp | 297 --
dfi/private/test/json_rpc_tests.cpp | 433 ---
dfi/private/test/json_serializer_tests.cpp | 558 ----
dfi/private/test/run_tests.cpp | 24 -
dfi/private/test/schemas/complex.avdl | 30 -
dfi/private/test/schemas/complex.avpr | 55 -
dfi/private/test/schemas/invalid1.avpr | 47 -
dfi/private/test/schemas/invalid2.avpr | 49 -
dfi/private/test/schemas/simple.avdl | 24 -
dfi/private/test/schemas/simple.avpr | 51 -
dfi/private/test/schemas/simple_min.avpr | 19 -
dfi/public/include/dfi_log_util.h | 63 -
dfi/public/include/dyn_common.h | 47 -
dfi/public/include/dyn_function.h | 60 -
dfi/public/include/dyn_interface.h | 66 -
dfi/public/include/dyn_message.h | 56 -
dfi/public/include/dyn_type.h | 155 --
dfi/public/include/json_rpc.h | 37 -
dfi/public/include/json_serializer.h | 37 -
dfi/src/dyn_common.c | 151 +
dfi/src/dyn_function.c | 331 +++
dfi/src/dyn_interface.c | 444 +++
dfi/src/dyn_message.c | 358 +++
dfi/src/dyn_type.c | 1160 ++++++++
dfi/src/json_rpc.c | 341 +++
dfi/src/json_serializer.c | 484 ++++
dfi/test/avro_descriptor_translator_tests.cpp | 180 ++
dfi/test/descriptors/example1.descriptor | 13 +
dfi/test/descriptors/example2.descriptor | 9 +
dfi/test/descriptors/example3.descriptor | 11 +
dfi/test/descriptors/example4.descriptor | 8 +
.../descriptors/invalids/invalid.descriptor | 13 +
.../invalids/invalidMetaType.descriptor | 8 +
.../invalids/invalidMethod.descriptor | 8 +
.../invalids/invalidMethodReturnType.descriptor | 8 +
.../invalids/invalidMsgHdr.descriptor | 9 +
.../invalids/invalidMsgInvalidName.descriptor | 9 +
.../invalidMsgInvalidSection.descriptor | 10 +
.../invalids/invalidMsgInvalidType.descriptor | 9 +
.../invalidMsgInvalidVersion.descriptor | 10 +
.../invalidMsgMissingVersion.descriptor | 10 +
.../invalids/invalidSection.descriptor | 6 +
.../descriptors/invalids/invalidType.descriptor | 10 +
.../invalids/invalidVersion.descriptor | 9 +
.../descriptors/invalids/noVersion.descriptor | 12 +
dfi/test/descriptors/msg_example1.descriptor | 10 +
dfi/test/descriptors/msg_example2.descriptor | 12 +
dfi/test/descriptors/msg_example3.descriptor | 10 +
dfi/test/descriptors/msg_example4.descriptor | 10 +
dfi/test/dyn_closure_tests.cpp | 162 ++
dfi/test/dyn_function_tests.cpp | 274 ++
dfi/test/dyn_interface_tests.cpp | 207 ++
dfi/test/dyn_message_tests.cpp | 253 ++
dfi/test/dyn_type_tests.cpp | 297 ++
dfi/test/json_rpc_tests.cpp | 433 +++
dfi/test/json_serializer_tests.cpp | 558 ++++
dfi/test/run_tests.cpp | 24 +
dfi/test/schemas/complex.avdl | 30 +
dfi/test/schemas/complex.avpr | 55 +
dfi/test/schemas/invalid1.avpr | 47 +
dfi/test/schemas/invalid2.avpr | 49 +
dfi/test/schemas/simple.avdl | 24 +
dfi/test/schemas/simple.avpr | 51 +
dfi/test/schemas/simple_min.avpr | 19 +
doap/doap_Celix.rdf | 2 +-
etcdlib/CMakeLists.txt | 30 +-
etcdlib/api/etcd.h | 110 +
etcdlib/private/src/etcd.c | 487 ----
etcdlib/public/include/etcd.h | 110 -
etcdlib/src/etcd.c | 487 ++++
event_admin/event_admin/CMakeLists.txt | 2 +-
event_admin/event_handler/CMakeLists.txt | 2 +-
event_admin/event_publisher/CMakeLists.txt | 2 +-
examples/CMakeLists.txt | 1 -
examples/dm_example/CMakeLists.txt | 8 +-
examples/dm_example/phase1/CMakeLists.txt | 9 +-
examples/dm_example/phase2a/CMakeLists.txt | 6 +-
examples/dm_example/phase2b/CMakeLists.txt | 6 +-
examples/dm_example/phase3/CMakeLists.txt | 6 +-
examples/dm_example_cxx/CMakeLists.txt | 9 +-
examples/dm_example_cxx/phase1/CMakeLists.txt | 6 +-
examples/dm_example_cxx/phase2a/CMakeLists.txt | 19 +-
examples/dm_example_cxx/phase2b/CMakeLists.txt | 16 +-
examples/dm_example_cxx/phase3/CMakeLists.txt | 6 +-
.../phase3_locking/CMakeLists.txt | 6 +-
examples/embedding/CMakeLists.txt | 2 +-
examples/hello_world/CMakeLists.txt | 4 +-
examples/hello_world_test/CMakeLists.txt | 10 +-
examples/log_service_example/CMakeLists.txt | 15 +-
.../log_service_example/private/src/activator.c | 85 -
examples/log_service_example/src/activator.c | 85 +
examples/mongoose/CMakeLists.txt | 4 +-
examples/service_hook_example/CMakeLists.txt | 27 +-
.../private/src/activator.c | 137 -
examples/service_hook_example/src/activator.c | 137 +
examples/services_example_c/CMakeLists.txt | 4 +-
examples/services_example_c/bar/CMakeLists.txt | 6 +-
examples/services_example_c/foo1/CMakeLists.txt | 6 +-
examples/services_example_c/foo2/CMakeLists.txt | 6 +-
examples/services_example_cxx/CMakeLists.txt | 4 +-
.../services_example_cxx/bar/CMakeLists.txt | 6 +-
.../services_example_cxx/baz/CMakeLists.txt | 6 +-
.../services_example_cxx/foo/CMakeLists.txt | 6 +-
examples/whiteboard/CMakeLists.txt | 24 -
examples/whiteboard/publisherA/CMakeLists.txt | 23 -
.../publisherA/private/src/activator.c | 83 -
.../publisherA/private/src/publisher.c | 33 -
examples/whiteboard/publisherB/CMakeLists.txt | 22 -
.../publisherB/private/src/activator.c | 77 -
.../publisherB/private/src/publisher.c | 33 -
.../private/include/publisher_private.h | 38 -
.../publisherService/public/include/publisher.h | 42 -
examples/whiteboard/tracker/CMakeLists.txt | 21 -
.../whiteboard/tracker/private/src/activator.c | 126 -
.../whiteboard/tracker_depman/CMakeLists.txt | 36 -
.../tracker_depman/private/include/tracker.h | 63 -
.../private/src/dependency_activator.c | 116 -
.../tracker_depman/private/src/tracker.c | 142 -
framework/CMakeLists.txt | 628 ++---
framework/include/archive.h | 58 +
framework/include/bundle.h | 139 +
framework/include/bundle_activator.h | 126 +
framework/include/bundle_archive.h | 93 +
framework/include/bundle_context.h | 175 ++
framework/include/bundle_event.h | 63 +
framework/include/bundle_listener.h | 57 +
framework/include/bundle_revision.h | 142 +
framework/include/bundle_state.h | 49 +
framework/include/capability.h | 54 +
framework/include/celix_launcher.h | 55 +
framework/include/celix_log.h | 85 +
framework/include/constants.h | 67 +
framework/include/filter.h | 55 +
framework/include/framework.h | 57 +
framework/include/framework_event.h | 71 +
framework/include/framework_exports.h | 65 +
framework/include/framework_listener.h | 55 +
framework/include/listener_hook_service.h | 60 +
framework/include/manifest.h | 67 +
framework/include/module.h | 94 +
framework/include/requirement.h | 53 +
framework/include/service_event.h | 68 +
framework/include/service_factory.h | 60 +
framework/include/service_listener.h | 55 +
framework/include/service_reference.h | 72 +
framework/include/service_registration.h | 58 +
framework/include/service_registry.h | 103 +
framework/include/service_tracker.h | 72 +
framework/include/service_tracker_customizer.h | 78 +
framework/include/wire.h | 120 +
framework/private/include/attribute.h | 39 -
framework/private/include/attribute_private.h | 39 -
framework/private/include/bundle_cache.h | 115 -
.../private/include/bundle_cache_private.h | 39 -
.../private/include/bundle_context_private.h | 43 -
framework/private/include/bundle_private.h | 48 -
.../private/include/bundle_revision_private.h | 42 -
framework/private/include/capability_private.h | 41 -
framework/private/include/filter_private.h | 57 -
framework/private/include/framework_private.h | 145 -
framework/private/include/ioapi.h | 200 --
framework/private/include/iowin32.h | 28 -
.../private/include/listener_hook_info_impl.h | 34 -
framework/private/include/manifest_parser.h | 45 -
.../private/include/registry_callback_private.h | 42 -
framework/private/include/requirement_private.h | 40 -
framework/private/include/resolver.h | 45 -
.../private/include/service_reference_private.h | 69 -
.../include/service_registration_private.h | 71 -
.../private/include/service_registry_private.h | 67 -
.../service_tracker_customizer_private.h | 49 -
.../private/include/service_tracker_private.h | 52 -
framework/private/include/unzip.h | 437 ---
framework/private/src/attribute.c | 71 -
framework/private/src/bundle.c | 695 -----
framework/private/src/bundle_archive.c | 792 ------
framework/private/src/bundle_cache.c | 218 --
framework/private/src/bundle_context.c | 384 ---
framework/private/src/bundle_revision.c | 153 -
framework/private/src/capability.c | 100 -
framework/private/src/celix_errorcodes.c | 64 -
framework/private/src/celix_launcher.c | 242 --
framework/private/src/celix_log.c | 83 -
framework/private/src/filter.c | 687 -----
framework/private/src/framework.c | 2620 ------------------
framework/private/src/ioapi.c | 235 --
framework/private/src/iowin32.c | 389 ---
framework/private/src/manifest.c | 271 --
framework/private/src/manifest_parser.c | 490 ----
framework/private/src/miniunz.c | 382 ---
framework/private/src/module.c | 281 --
framework/private/src/requirement.c | 114 -
framework/private/src/resolver.c | 495 ----
framework/private/src/service_reference.c | 378 ---
framework/private/src/service_registration.c | 291 --
framework/private/src/service_registry.c | 800 ------
framework/private/src/service_tracker.c | 449 ---
.../private/src/service_tracker_customizer.c | 107 -
framework/private/src/unzip.c | 2128 --------------
framework/private/src/wire.c | 87 -
framework/public/include/archive.h | 58 -
framework/public/include/bundle.h | 139 -
framework/public/include/bundle_activator.h | 126 -
framework/public/include/bundle_archive.h | 93 -
framework/public/include/bundle_context.h | 159 --
framework/public/include/bundle_event.h | 63 -
framework/public/include/bundle_listener.h | 57 -
framework/public/include/bundle_revision.h | 142 -
framework/public/include/bundle_state.h | 49 -
framework/public/include/capability.h | 54 -
framework/public/include/celix_launcher.h | 55 -
framework/public/include/celix_log.h | 85 -
framework/public/include/constants.h | 67 -
framework/public/include/filter.h | 55 -
framework/public/include/framework.h | 57 -
framework/public/include/framework_event.h | 71 -
framework/public/include/framework_exports.h | 65 -
framework/public/include/framework_listener.h | 55 -
.../public/include/listener_hook_service.h | 60 -
framework/public/include/manifest.h | 67 -
framework/public/include/module.h | 94 -
framework/public/include/requirement.h | 53 -
framework/public/include/service_event.h | 68 -
framework/public/include/service_factory.h | 60 -
framework/public/include/service_listener.h | 55 -
framework/public/include/service_reference.h | 72 -
framework/public/include/service_registration.h | 58 -
framework/public/include/service_registry.h | 103 -
framework/public/include/service_tracker.h | 72 -
.../public/include/service_tracker_customizer.h | 78 -
framework/public/include/wire.h | 120 -
framework/src/attribute.c | 71 +
framework/src/attribute.h | 39 +
framework/src/attribute_private.h | 39 +
framework/src/bundle.c | 695 +++++
framework/src/bundle_archive.c | 792 ++++++
framework/src/bundle_cache.c | 218 ++
framework/src/bundle_cache.h | 115 +
framework/src/bundle_cache_private.h | 39 +
framework/src/bundle_context.c | 384 +++
framework/src/bundle_context_private.h | 43 +
framework/src/bundle_private.h | 48 +
framework/src/bundle_revision.c | 153 +
framework/src/bundle_revision_private.h | 42 +
framework/src/capability.c | 100 +
framework/src/capability_private.h | 41 +
framework/src/celix_errorcodes.c | 64 +
framework/src/celix_launcher.c | 242 ++
framework/src/celix_log.c | 83 +
framework/src/filter.c | 687 +++++
framework/src/filter_private.h | 57 +
framework/src/framework.c | 2620 ++++++++++++++++++
framework/src/framework_private.h | 145 +
framework/src/ioapi.c | 235 ++
framework/src/ioapi.h | 200 ++
framework/src/iowin32.c | 389 +++
framework/src/iowin32.h | 28 +
framework/src/listener_hook_info_impl.h | 34 +
framework/src/manifest.c | 271 ++
framework/src/manifest_parser.c | 490 ++++
framework/src/manifest_parser.h | 45 +
framework/src/miniunz.c | 382 +++
framework/src/module.c | 281 ++
framework/src/registry_callback_private.h | 42 +
framework/src/requirement.c | 114 +
framework/src/requirement_private.h | 40 +
framework/src/resolver.c | 495 ++++
framework/src/resolver.h | 45 +
framework/src/service_reference.c | 378 +++
framework/src/service_reference_private.h | 69 +
framework/src/service_registration.c | 291 ++
framework/src/service_registration_private.h | 71 +
framework/src/service_registry.c | 800 ++++++
framework/src/service_registry_private.h | 67 +
framework/src/service_tracker.c | 449 +++
framework/src/service_tracker_customizer.c | 107 +
.../src/service_tracker_customizer_private.h | 49 +
framework/src/service_tracker_private.h | 52 +
framework/src/unzip.c | 2128 ++++++++++++++
framework/src/unzip.h | 437 +++
framework/src/wire.c | 87 +
framework/tst/CMakeLists.txt | 12 +-
launcher/CMakeLists.txt | 33 +-
launcher/private/src/celix_test_runner.cpp | 73 -
launcher/private/src/main.c | 24 -
launcher/src/celix_test_runner.cpp | 73 +
launcher/src/main.c | 24 +
log_service/CMakeLists.txt | 49 +-
log_service/README.md | 13 +-
log_service/include/log_entry.h | 55 +
log_service/include/log_listener.h | 43 +
log_service/include/log_reader_service.h | 50 +
log_service/include/log_service.h | 58 +
log_service/loghelper_include/log_helper.h | 35 +
log_service/private/include/log.h | 48 -
log_service/private/include/log_factory.h | 40 -
.../private/include/log_reader_service_impl.h | 43 -
log_service/private/include/log_service_impl.h | 39 -
log_service/private/src/log.c | 375 ---
log_service/private/src/log_entry.c | 94 -
log_service/private/src/log_factory.c | 100 -
.../private/src/log_reader_service_impl.c | 82 -
log_service/private/src/log_service_activator.c | 198 --
log_service/private/src/log_service_impl.c | 96 -
log_service/public/include/log_entry.h | 55 -
log_service/public/include/log_helper.h | 35 -
log_service/public/include/log_listener.h | 43 -
log_service/public/include/log_reader_service.h | 50 -
log_service/public/include/log_service.h | 58 -
log_service/public/src/log_helper.c | 211 --
log_service/src/log.c | 375 +++
log_service/src/log.h | 48 +
log_service/src/log_entry.c | 94 +
log_service/src/log_factory.c | 100 +
log_service/src/log_factory.h | 40 +
log_service/src/log_helper.c | 211 ++
log_service/src/log_reader_service_impl.c | 82 +
log_service/src/log_reader_service_impl.h | 43 +
log_service/src/log_service_activator.c | 198 ++
log_service/src/log_service_impl.c | 96 +
log_service/src/log_service_impl.h | 39 +
log_writer/CMakeLists.txt | 1 +
log_writer/log_writer/CMakeLists.txt | 24 +
log_writer/log_writer/include/log_writer.h | 53 +
.../log_writer/private/include/log_writer.h | 54 -
log_writer/log_writer/private/src/log_writer.c | 122 -
.../private/src/log_writer_activator.c | 57 -
log_writer/log_writer/src/log_writer.c | 122 +
.../log_writer/src/log_writer_activator.c | 57 +
log_writer/log_writer_stdout/CMakeLists.txt | 16 +-
.../private/src/log_writer_stdout.c | 49 -
.../log_writer_stdout/src/log_writer_stdout.c | 49 +
log_writer/log_writer_syslog/CMakeLists.txt | 16 +-
pubsub/CMakeLists.txt | 11 +-
pubsub/deploy/CMakeLists.txt | 176 +-
remote_services/CMakeLists.txt | 15 +-
.../discovery_configured/CMakeLists.txt | 5 +-
remote_services/discovery_etcd/CMakeLists.txt | 10 +-
.../private/include/discovery_impl.h | 66 -
.../private/include/etcd_watcher.h | 40 -
.../discovery_etcd/private/src/discovery_impl.c | 183 --
.../discovery_etcd/private/src/etcd_watcher.c | 397 ---
.../discovery_etcd/src/discovery_impl.c | 183 ++
.../discovery_etcd/src/discovery_impl.h | 66 +
.../discovery_etcd/src/etcd_watcher.c | 397 +++
.../discovery_etcd/src/etcd_watcher.h | 40 +
remote_services/examples/CMakeLists.txt | 99 +-
.../examples/calculator_endpoint/CMakeLists.txt | 35 -
.../private/include/calculator_endpoint_impl.h | 46 -
.../private/src/calculator_endpoint_activator.c | 96 -
.../private/src/calculator_endpoint_impl.c | 184 --
.../calculator_endpoint2/CMakeLists.txt | 35 -
.../private/include/calculator_endpoint_impl.h | 46 -
.../private/src/calculator_endpoint_activator.c | 96 -
.../private/src/calculator_endpoint_impl.c | 184 --
.../examples/calculator_proxy/CMakeLists.txt | 37 -
.../private/include/calculator_proxy_impl.h | 59 -
.../private/src/calculator_proxy_activator.c | 124 -
.../private/src/calculator_proxy_impl.c | 173 --
.../examples/calculator_proxy2/CMakeLists.txt | 37 -
.../private/include/calculator_proxy_impl.h | 59 -
.../private/src/calculator_proxy_activator.c | 124 -
.../private/src/calculator_proxy_impl.c | 173 --
.../examples/calculator_service/CMakeLists.txt | 2 -
.../examples/calculator_shell/CMakeLists.txt | 3 +-
.../remote_service_admin_dfi/rsa/CMakeLists.txt | 3 +-
.../rsa_tst/CMakeLists.txt | 5 +-
.../rsa_tst/bundle/CMakeLists.txt | 2 +-
.../remote_service_admin_http/CMakeLists.txt | 55 -
.../include/remote_service_admin_http_impl.h | 52 -
.../src/remote_service_admin_activator.c | 123 -
.../private/src/remote_service_admin_impl.c | 822 ------
.../private/test/CMakeLists.txt | 58 -
.../private/test/client.properties.in | 26 -
.../private/test/rsa_client_server_tests.cpp | 495 ----
.../private/test/run_tests.cpp | 24 -
.../private/test/server.properties.in | 25 -
remote_services/topology_manager/CMakeLists.txt | 5 +-
.../topology_manager/tms_tst/CMakeLists.txt | 2 +-
.../tms_tst/bundle/CMakeLists.txt | 2 +-
.../tms_tst/disc_mock/CMakeLists.txt | 2 +-
remote_shell/CMakeLists.txt | 28 +-
.../private/include/connection_listener.h | 42 -
remote_shell/private/include/remote_shell.h | 50 -
remote_shell/private/include/shell_mediator.h | 54 -
remote_shell/private/src/activator.c | 153 -
remote_shell/private/src/connection_listener.c | 221 --
remote_shell/private/src/remote_shell.c | 242 --
remote_shell/private/src/shell_mediator.c | 139 -
remote_shell/src/activator.c | 153 +
remote_shell/src/connection_listener.c | 221 ++
remote_shell/src/connection_listener.h | 42 +
remote_shell/src/remote_shell.c | 242 ++
remote_shell/src/remote_shell.h | 50 +
remote_shell/src/shell_mediator.c | 139 +
remote_shell/src/shell_mediator.h | 54 +
shell/CMakeLists.txt | 49 +-
shell/README.md | 11 +-
shell/include/command.h | 57 +
shell/include/shell.h | 51 +
shell/include/shell_constants.h | 27 +
shell/private/include/shell_private.h | 51 -
shell/private/include/std_commands.h | 44 -
shell/private/src/activator.c | 269 --
shell/private/src/help_command.c | 112 -
shell/private/src/inspect_command.c | 277 --
shell/private/src/install_command.c | 76 -
shell/private/src/lb_command.c | 205 --
shell/private/src/log_command.c | 94 -
shell/private/src/shell.c | 305 --
shell/private/src/start_command.c | 84 -
shell/private/src/stop_command.c | 82 -
shell/private/src/uninstall_command.c | 58 -
shell/private/src/update_command.c | 117 -
shell/public/include/command.h | 57 -
shell/public/include/shell.h | 51 -
shell/public/include/shell_constants.h | 27 -
shell/src/activator.c | 269 ++
shell/src/help_command.c | 112 +
shell/src/inspect_command.c | 277 ++
shell/src/install_command.c | 76 +
shell/src/lb_command.c | 205 ++
shell/src/log_command.c | 94 +
shell/src/shell.c | 305 ++
shell/src/shell_private.h | 51 +
shell/src/start_command.c | 84 +
shell/src/std_commands.h | 44 +
shell/src/stop_command.c | 82 +
shell/src/uninstall_command.c | 58 +
shell/src/update_command.c | 117 +
shell_bonjour/CMakeLists.txt | 26 +-
shell_tui/CMakeLists.txt | 14 +-
shell_tui/README.md | 5 +
utils/CMakeLists.txt | 179 +-
utils/include/array_list.h | 99 +
utils/include/celix_errno.h | 119 +
utils/include/celix_threads.h | 135 +
utils/include/celixbool.h | 61 +
utils/include/exports.h | 49 +
utils/include/hash_map.h | 161 ++
utils/include/linked_list.h | 91 +
utils/include/linked_list_iterator.h | 66 +
utils/include/memstream/README.md | 49 +
utils/include/memstream/fmemopen.h | 52 +
utils/include/memstream/open_memstream.h | 15 +
utils/include/properties.h | 66 +
utils/include/thpool.h | 168 ++
utils/include/utils.h | 61 +
utils/include/version.h | 186 ++
utils/include/version_range.h | 160 ++
utils/private/include/array_list_private.h | 52 -
utils/private/include/hash_map_private.h | 74 -
utils/private/include/linked_list_private.h | 44 -
utils/private/include/version_private.h | 41 -
utils/private/include/version_range_private.h | 41 -
utils/private/src/array_list.c | 337 ---
utils/private/src/celix_threads.c | 184 --
utils/private/src/hash_map.c | 607 ----
utils/private/src/linked_list.c | 268 --
utils/private/src/linked_list_iterator.c | 153 -
utils/private/src/memstream/fmemopen.c | 76 -
utils/private/src/memstream/open_memstream.c | 130 -
utils/private/src/properties.c | 302 --
utils/private/src/thpool.c | 535 ----
utils/private/src/utils.c | 141 -
utils/private/src/version.c | 264 --
utils/private/src/version_range.c | 233 --
utils/public/include/array_list.h | 99 -
utils/public/include/celix_errno.h | 119 -
utils/public/include/celix_threads.h | 135 -
utils/public/include/celixbool.h | 61 -
utils/public/include/exports.h | 49 -
utils/public/include/hash_map.h | 161 --
utils/public/include/linked_list.h | 91 -
utils/public/include/linked_list_iterator.h | 66 -
utils/public/include/memstream/README.md | 49 -
utils/public/include/memstream/fmemopen.h | 52 -
utils/public/include/memstream/open_memstream.h | 15 -
utils/public/include/properties.h | 66 -
utils/public/include/thpool.h | 168 --
utils/public/include/utils.h | 61 -
utils/public/include/version.h | 186 --
utils/public/include/version_range.h | 160 --
utils/src/array_list.c | 337 +++
utils/src/array_list_private.h | 52 +
utils/src/celix_threads.c | 184 ++
utils/src/hash_map.c | 607 ++++
utils/src/hash_map_private.h | 74 +
utils/src/linked_list.c | 268 ++
utils/src/linked_list_iterator.c | 153 +
utils/src/linked_list_private.h | 44 +
utils/src/memstream/fmemopen.c | 76 +
utils/src/memstream/open_memstream.c | 130 +
utils/src/properties.c | 302 ++
utils/src/thpool.c | 535 ++++
utils/src/utils.c | 141 +
utils/src/version.c | 264 ++
utils/src/version_private.h | 41 +
utils/src/version_range.c | 233 ++
utils/src/version_range_private.h | 41 +
699 files changed, 48465 insertions(+), 52553 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dec1dff..9697da9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,27 +21,11 @@ cmake_policy(SET CMP0042 NEW)
project (Celix C CXX)
-include(GNUInstallDirs)
-
+include(GNUInstallDirs)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
-
-#Setup vars conform the FindCelix setup, so that examples and supporting cmake command can assume these variables are set
-#TODO move this to a seperate cmake file or integrate in the FindCelix.cmake file
-set(CELIX_FOUND true)
-set(CELIX_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/framework/public/include ${CMAKE_SOURCE_DIR}/utils/public/include)
-set(CELIX_LIBRARIES celix_framework celix_utils celix_dfi)
-set(CELIX_LAUNCHER celix)
-set(CELIX_FRAMEWORK_LIBRARY celix_framework)
-set(CELIX_UTILS_LIBRARY celix_utils)
-set(CELIX_DFI_LIBRARY celix_dfi)
-#TODO CELIX_BUNDLES_DIR this will not work, maybe only use var (e.g. ${CELIX_SHELL_BUNDLE}) for bundles
-set(CELIX_DM_LIB dependency_manager_so)
-set(CELIX_DM_STATIC_LIB dependency_manager_static)
-set(CELIX_DM_STATIC_CXX_LIB dependency_manager_cxx_static)
-set(CELIX_PROJECT true) #Note this var is not set by FindCelix and can be used to test if this is the celix project or a project using celix
-
set(CMAKE_BUILD_TYPE "Debug")
+
# see https://public.kitware.com/Bug/view.php?id=15696
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} EQUAL 3.3 AND ${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
message( FATAL_ERROR "Building Celix using CMake 3.3 and makefiles is not supported due to a bug in the Makefile Generator (see Bug 15696). Please change the used CMake version - both, CMake 3.2 and CMake 3.4 are working fine. Or use a different generator (e.g. Ninja)." )
@@ -77,22 +61,25 @@ if (ENABLE_TESTING)
endif()
-include(CMakeCelix)
+include(CMakeCelix-local)
include(UseDoxygen)
# Default bundle version
set(DEFAULT_VERSION 1.0.0)
+#libraries
#utils, dfi and etcdlib are standalone
#(e.g. no dependency on celix framework
add_subdirectory(utils)
add_subdirectory(dfi)
add_subdirectory(etcdlib)
-
add_subdirectory(framework)
-
include_directories(framework/public/include)
+
+#launcher
add_subdirectory(launcher)
+
+#Bundles
add_subdirectory(config_admin)
add_subdirectory(device_access)
add_subdirectory(deployment_admin)
@@ -104,8 +91,8 @@ add_subdirectory(shell)
add_subdirectory(log_writer)
add_subdirectory(log_service)
add_subdirectory(pubsub)
-
#add_subdirectory(event_admin)# event_admin is unstable
+
add_subdirectory(dependency_manager)
add_subdirectory(dependency_manager_cxx)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/cmake/CMakeCelix-local.cmake
----------------------------------------------------------------------
diff --git a/cmake/CMakeCelix-local.cmake b/cmake/CMakeCelix-local.cmake
new file mode 100644
index 0000000..f67648b
--- /dev/null
+++ b/cmake/CMakeCelix-local.cmake
@@ -0,0 +1,31 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set(CELIX_CMAKE_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
+
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/Dependencies.cmake)
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/ApacheRat.cmake)
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/CodeCoverage.cmake)
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/BuildOptions.cmake)
+
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/UseCelix.cmake)
+
+#UseCelix includes:
+#include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/BundlePackaging.cmake)
+#include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/DeployPackaging.cmake)
+#include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/DockerPackaging.cmake)
+#include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/Runtimes.cmake)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/cmake/CMakeCelix.cmake
----------------------------------------------------------------------
diff --git a/cmake/CMakeCelix.cmake b/cmake/CMakeCelix.cmake
deleted file mode 100644
index 8c14577..0000000
--- a/cmake/CMakeCelix.cmake
+++ /dev/null
@@ -1,32 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-set(CELIX_CMAKE_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
-
-if (ANDROID)
- add_definitions( -DANDROID )
-endif ()
-
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/Dependencies.cmake)
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/BundlePackaging.cmake)
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/DeployPackaging.cmake)
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/DockerPackaging.cmake)
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/Runtimes.cmake)
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/ApacheRat.cmake)
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/CodeCoverage.cmake)
-include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/BuildOptions.cmake)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/cmake/FindCELIX.cmake
----------------------------------------------------------------------
diff --git a/cmake/FindCELIX.cmake b/cmake/FindCELIX.cmake
index 3f67c50..ce31bc9 100644
--- a/cmake/FindCELIX.cmake
+++ b/cmake/FindCELIX.cmake
@@ -37,6 +37,8 @@
set(CELIX_DIR_FROM_FINDCELIX "${CMAKE_CURRENT_LIST_DIR}/../../../..")
+#Find libraries celix_framework, celix_utils, etcdlib and celix_dfi
+#Find celix launcher
find_path(CELIX_INCLUDE_DIR NAMES celix_errno.h
PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES include include/celix
@@ -67,37 +69,53 @@ find_program(CELIX_LAUNCHER NAMES celix
PATH_SUFFIXES bin
)
-find_file(CELIX_CMAKECELIX_FILE NAMES CMakeCelix.cmake
+find_file(CELIX_USECELIX_FILE NAMES UseCelix.cmake
PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
- PATH_SUFFIXES share/celix/cmake/modules
+ PATH_SUFFIXES share/celix/cmake/modules/cmake_celix
)
-#NOTE assuming shell.zip is always installed.
-find_path(CELIX_BUNDLES_DIR shell.zip
- PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
- PATH_SUFFIXES share/celix/bundles
-)
+
+
+#Finding dependency manager libraries for C and C++
find_library(CELIX_DM_LIB NAMES dependency_manager_so
PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES lib lib64
-)
+ )
find_library(CELIX_DM_STATIC_LIB NAMES dependency_manager_static
PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES lib lib64
-)
+ )
find_library(CELIX_DM_STATIC_CXX_LIB NAMES dependency_manager_cxx_static
PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES lib lib64
-)
+ )
find_library(CELIX_ETCD_LIB NAMES etcdlib
PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
PATH_SUFFIXES lib lib64
)
+
+#Finding bundles dir.
+find_path(CELIX_BUNDLES_DIR shell.zip #NOTE assuming shell.zip is always installed.
+ PATHS ${CELIX_DIR_FROM_FINDCELIX} $ENV{CELIX_DIR} ${CELIX_DIR} /usr /usr/local
+ PATH_SUFFIXES share/celix/bundles
+)
+
+#Finding bundles. If not found the <BUNDLEVAR>_BUNDLE var will be set to <BUNDLEVAR>-NOTFOUND
+find_file(CELIX_SHELL_BUNDLE shell.zip
+ PATHS ${CELIX_BUNDLES_DIR}
+ NO_DEFAULT_PATH
+ )
+find_file(CELIX_SHELL_TUI_BUNDLE shell_tui.zip
+ PATHS ${CELIX_BUNDLES_DIR}
+ NO_DEFAULT_PATH
+ )
+
+
if (CELIX_DM_STATIC_LIB)
set(CELIX_DM_INCLUDE_DIR ${CELIX_INCLUDE_DIR}/dependency_manager)
endif()
@@ -114,12 +132,12 @@ include(FindPackageHandleStandardArgs)
# if all listed variables are TRUE
find_package_handle_standard_args(CELIX DEFAULT_MSG
CELIX_FRAMEWORK_LIBRARY CELIX_UTILS_LIBRARY CELIX_DFI_LIBRARY CELIX_DM_LIB CELIX_DM_STATIC_LIB CELIX_DM_STATIC_CXX_LIB CELIX_INCLUDE_DIR CELIX_LAUNCHER CELIX_CMAKECELIX_FILE)
-mark_as_advanced(CELIX_INCLUDE_DIR CELIX_ETCD_INCLUDE_DIR CELIX_CMAKECELIX_FILE)
+mark_as_advanced(CELIX_INCLUDE_DIR CELIX_ETCD_INCLUDE_DIR CELIX_USECELIX_FILE)
if(CELIX_FOUND)
set(CELIX_LIBRARIES ${CELIX_FRAMEWORK_LIBRARY} ${CELIX_UTILS_LIBRARY} ${CELIX_DFI_LIBRARY})
set(CELIX_INCLUDE_DIRS ${CELIX_INCLUDE_DIR} ${CELIX_ETCD_INCLUDE_DIR} ${CELIX_DM_INCLUDE_DIR} ${CELIX_DM_CXX_INCLUDE_DIR})
- include(${CELIX_CMAKECELIX_FILE})
- include_directories(${CELIX_INCLUDE_DIRS})
+
+ include(${CELIX_USECELIX_FILE})
endif()
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/cmake/cmake_celix/BundlePackaging.cmake
----------------------------------------------------------------------
diff --git a/cmake/cmake_celix/BundlePackaging.cmake b/cmake/cmake_celix/BundlePackaging.cmake
index 7eb42fa..2071fca 100644
--- a/cmake/cmake_celix/BundlePackaging.cmake
+++ b/cmake/cmake_celix/BundlePackaging.cmake
@@ -94,36 +94,40 @@ function(add_bundle)
list(REMOVE_AT ARGN 0)
set(OPTIONS NO_ACTIVATOR)
- set(ONE_VAL_ARGS VERSION ACTIVATOR SYMBOLIC_NAME NAME DESCRIPTION)
+ set(ONE_VAL_ARGS VERSION ACTIVATOR SYMBOLIC_NAME NAME DESCRIPTION FILENAME)
set(MULTI_VAL_ARGS SOURCES PRIVATE_LIBRARIES EXPORT_LIBRARIES IMPORT_LIBRARIES HEADERS)
cmake_parse_arguments(BUNDLE "${OPTIONS}" "${ONE_VAL_ARGS}" "${MULTI_VAL_ARGS}" ${ARGN})
##check arguments
- if(NOT BUNDLE_TARGET_NAME)
+ if (NOT BUNDLE_TARGET_NAME)
message(FATAL_ERROR "add_bunde function requires first target name argument")
- endif()
- if((NOT (BUNDLE_SOURCES OR BUNDLE_ACTIVATOR)) AND (NOT BUNDLE_NO_ACTIVATOR))
+ endif ()
+ if ((NOT (BUNDLE_SOURCES OR BUNDLE_ACTIVATOR)) AND (NOT BUNDLE_NO_ACTIVATOR))
message(FATAL_ERROR "Bundle contain no SOURCES or ACTIVATOR target and the option NO_ACTIVATOR is not set")
- endif()
- if(BUNDLE_SOURCES AND BUNDLE_ACTIVATOR)
+ endif ()
+ if (BUNDLE_SOURCES AND BUNDLE_ACTIVATOR)
message(FATAL_ERROR "add_bundle function requires a value for SOURCES or ACTIVATOR not both")
- endif()
- if(BUNDLE_ACTIVATOR)
+ endif ()
+ if (BUNDLE_ACTIVATOR)
check_lib(${BUNDLE_ACTIVATOR})
- endif()
+ endif ()
#setting defaults
if(NOT BUNDLE_VERSION)
set(BUNDLE_VERSION "0.0.0")
message(WARNING "Bundle version for ${BUNDLE_NAME} not provided. Using 0.0.0")
- endif()
+ endif ()
if (NOT BUNDLE_NAME)
set(BUNDLE_NAME ${BUNDLE_TARGET_NAME})
- endif()
+ endif ()
if (NOT BUNDLE_SYMBOLIC_NAME)
set(BUNDLE_SYMBOLIC_NAME ${BUNDLE_TARGET_NAME})
- endif()
- set(BUNDLE_FILE "${CMAKE_CURRENT_BINARY_DIR}/${BUNDLE_TARGET_NAME}.zip")
+ endif ()
+ if (NOT BUNDLE_FILENAME)
+ set(BUNDLE_FILENAME ${BUNDLE_TARGET_NAME}.zip)
+ endif ()
+
+ set(BUNDLE_FILE "${CMAKE_CURRENT_BINARY_DIR}/${BUNDLE_FILENAME}")
set(BUNDLE_CONTENT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${BUNDLE_TARGET_NAME}_content")
set(BUNDLE_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/${BUNDLE_TARGET_NAME}_gen")
@@ -139,12 +143,20 @@ function(add_bundle)
#create lib from sources
add_library(${BUNDLE_TARGET_NAME} SHARED ${BUNDLE_SOURCES})
set_library_version(${BUNDLE_TARGET_NAME} ${BUNDLE_VERSION})
- set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_TARGET_IS_LIB" TRUE)
+ set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES
+ "BUNDLE_TARGET_IS_LIB" TRUE
+ "BUNDLE_BUILD_BUNDLE_TARGET" "${BUNDLE_TARGET_NAME}_bundle"
+ )
+ target_link_libraries(${BUNDLE_TARGET_NAME} PRIVATE Celix::framework)
else()
add_custom_target(${BUNDLE_TARGET_NAME})
+ set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES
+ "BUNDLE_TARGET_IS_LIB" FALSE
+ "BUNDLE_BUILD_BUNDLE_TARGET" "${BUNDLE_TARGET_NAME}_bundle"
+ )
endif()
add_custom_target(${BUNDLE_TARGET_NAME}_bundle
- DEPENDS "$<TARGET_PROPERTY:${BUNDLE_TARGET_NAME},BUNDLE_FILE>"
+ DEPENDS ${BUNDLE_TARGET_NAME} "$<TARGET_PROPERTY:${BUNDLE_TARGET_NAME},BUNDLE_FILE>"
)
add_dependencies(bundles ${BUNDLE_TARGET_NAME}_bundle)
#######################################################################
@@ -199,13 +211,18 @@ function(add_bundle)
#############################
### BUNDLE TARGET PROPERTIES
#############################
+ #alreadyer set
+ # BUNDLE_TARGET_IS_LIB -> true (can be use to test if target is bundle target
+ # BUNDLE_BUILD_BUNDLE_TARGET -> refers to the _bundle target which is responsible for building the zip file
#internal use
+ set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_IS_BUNDLE_TARGET" TRUE) #indicate that this is a bundle target
set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_DEPEND_TARGETS" "") #bundle target dependencies. Note can be extended after the add_bundle call
set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_GEN_DIR" ${BUNDLE_GEN_DIR}) #location for generated output.
#bundle specific
- set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_CONTENT_DIR" ${BUNDLE_CONTENT_DIR}) #location where the content to be jar/zipped.
- set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_FILE" ${BUNDLE_FILE}) #target bundle file (.zip)
+ set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_CONTENT_DIR" ${BUNDLE_CONTENT_DIR}) #location where the content to be jar/zipped.
+ set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_FILENAME" ${BUNDLE_FILENAME}) #target bundle filename (.zip)
+ set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_FILE" ${BUNDLE_FILE}) #target bundle abs file path (.zip)
#name and version
set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_NAME" ${BUNDLE_NAME}) #The bundle name default target name
@@ -326,7 +343,7 @@ function(bundle_libs)
if ("${LIB}" STREQUAL "${BUNDLE}")
#ignore. Do not have to link agaist own lib
elseif(IS_LIB)
- target_link_libraries(${BUNDLE} ${LIB})
+ target_link_libraries(${BUNDLE} PRIVATE ${LIB})
endif()
endforeach()
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/cmake/cmake_celix/DeployPackaging.cmake
----------------------------------------------------------------------
diff --git a/cmake/cmake_celix/DeployPackaging.cmake b/cmake/cmake_celix/DeployPackaging.cmake
index 21944c9..e7f8dc6 100644
--- a/cmake/cmake_celix/DeployPackaging.cmake
+++ b/cmake/cmake_celix/DeployPackaging.cmake
@@ -102,7 +102,7 @@ function(add_celix_container)
include_directories(${CELIX_INCLUDE_DIRS})
add_executable(${CONTAINER_TARGET} ${LAUNCHER_SRC})
set_target_properties(${CONTAINER_TARGET} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CONTAINER_LOC})
- target_link_libraries(${CONTAINER_TARGET} ${CELIX_FRAMEWORK_LIBRARY} ${CELIX_UTILS_LIBRARY})
+ target_link_libraries(${CONTAINER_TARGET} PRIVATE Celix::framework)
set(LAUNCHER "$<TARGET_FILE:${CONTAINER_TARGET}>")
endif ()
@@ -122,10 +122,10 @@ $<JOIN:$<TARGET_PROPERTY:${CONTAINER_TARGET},CONTAINER_PROPERTIES>,
#needed in the release.sh & run.sh files
#Setting CELIX_LIB_DIRS, CELIX_BIN_DIR and CELIX_LAUNCHER
- if (TARGET celix_framework)
+ if (TARGET framework)
#Celix Main Project
- set(CELIX_LIB_DIRS "$<TARGET_FILE_DIR:celix_framework>:$<TARGET_FILE_DIR:celix_utils>:$<TARGET_FILE_DIR:celix_dfi>")
- set(CELIX_BIN_DIR "$<TARGET_FILE_DIR:celix>")
+ set(CELIX_LIB_DIRS "$<TARGET_FILE_DIR:Celix::framework>:$<TARGET_FILE_DIR:Celix::utils>:$<TARGET_FILE_DIR:Celix::dfi>")
+ set(CELIX_BIN_DIR "$<TARGET_FILE_DIR:Celix::launcher>")
else ()
#CELIX_FRAMEWORK_LIBRARY and CELIX_LAUNCHER set by FindCelix.cmake -> Celix Based Project
get_filename_component(CELIX_LIB_DIR ${CELIX_FRAMEWORK_LIBRARY} DIRECTORY) #Note assuming all celix libs are in the same dir
@@ -214,17 +214,21 @@ function(celix_container_bundles_dir)
set(OUT "${CONTAINER_LOC}/${BD_DIR_NAME}/${BUNDLE_FILENAME}")
add_custom_command(OUTPUT ${OUT}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${BUNDLE} ${OUT}
- COMMENT "Copying bundle '${BUNDLE}' to '${CONTAINER_LOC}/${BD_DIR_NAME}'"
+ COMMENT "Copying bundle '${BUNDLE}' to '${CONTAINER_LOC}/${BD_DIR_NAME}'"
DEPENDS ${BUNDLE}
)
else()
- set(OUT "${CONTAINER_LOC}/${BD_DIR_NAME}/${BUNDLE}.zip")
+ string(MAKE_C_IDENTIFIER ${BUNDLE} BUNDLE_ID) #Create id with no special chars (e.g. for target like Celix::shell)
+ set(OUT "${CMAKE_BINARY_DIR}/celix/gen/${CONTAINER_TARGET}-copy-bundle-for-target-${BUNDLE_ID}.timestamp")
+ set(DEST "${CONTAINER_LOC}/${BD_DIR_NAME}/$<TARGET_PROPERTY:${BUNDLE},BUNDLE_FILENAME>")
add_custom_command(OUTPUT ${OUT}
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_PROPERTY:${BUNDLE},BUNDLE_FILE>" ${OUT}
+ COMMAND ${CMAKE_COMMAND} -E touch ${OUT}
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_PROPERTY:${BUNDLE},BUNDLE_FILE>" ${DEST}
COMMENT "Copying bundle '${BUNDLE}' to '${CONTAINER_LOC}/${BD_DIR_NAME}'"
- DEPENDS ${BUNDLE}
+ DEPENDS $<TARGET_PROPERTY:${BUNDLE},BUNDLE_BUILD_BUNDLE_TARGET>
)
- add_dependencies(${CONTAINER_TARGET} ${BUNDLE}_bundle) #ensure the the deploy depends on the _bundle target, custom_command depends on add_library
+ get_target_property(BUILD_BUNDLE_TARGET ${BUNDLE} BUNDLE_BUILD_BUNDLE_TARGET)
+ add_dependencies(${CONTAINER_TARGET} ${BUILD_BUNDLE_TARGET}) #ensure the the deploy depends on the _bundle target, custom_command depends on add_library
endif()
list(APPEND DEPS "${OUT}")
@@ -247,19 +251,18 @@ function(celix_container_bundles)
get_target_property(COPY ${CONTAINER_TARGET} "CONTAINER_COPY_BUNDLES")
foreach(BUNDLE IN ITEMS ${ARGN})
+ if (IS_ABSOLUTE ${BUNDLE} AND EXISTS ${BUNDLE})
+ get_filename_component(BUNDLE_FILENAME ${BUNDLE} NAME)
+ set(COPY_LOC "bundles/${BUNDLE_FILENAME}")
+ set(ABS_LOC "${BUNDLE}")
+ else () #assume target (could be a future target -> if (TARGET ...) not possible
+ set(COPY_LOC "bundles/$<TARGET_PROPERTY:${BUNDLE},BUNDLE_FILENAME>")
+ set(ABS_LOC "$<TARGET_PROPERTY:${BUNDLE},BUNDLE_FILE>")
+ endif ()
if(COPY)
- if(IS_ABSOLUTE ${BUNDLE} AND EXISTS ${BUNDLE})
- get_filename_component(BUNDLE_FILENAME ${BUNDLE} NAME)
- list(APPEND BUNDLES "bundles/${BUNDLE_FILENAME}")
- else() #assuming target
- list(APPEND BUNDLES "bundles/${BUNDLE}.zip")
- endif()
+ list(APPEND BUNDLES ${COPY_LOC})
else()
- if(IS_ABSOLUTE ${BUNDLE} AND EXISTS ${BUNDLE})
- list(APPEND BUNDLES ${BUNDLE})
- else() #assuming target
- list(APPEND BUNDLES "$<TARGET_PROPERTY:${BUNDLE},BUNDLE_FILE>")
- endif()
+ list(APPEND BUNDLES ${ABS_LOC})
endif()
endforeach()
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/cmake/cmake_celix/UseCelix.cmake
----------------------------------------------------------------------
diff --git a/cmake/cmake_celix/UseCelix.cmake b/cmake/cmake_celix/UseCelix.cmake
new file mode 100644
index 0000000..db3f109
--- /dev/null
+++ b/cmake/cmake_celix/UseCelix.cmake
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set(CELIX_CMAKE_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/..)
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/BundlePackaging.cmake)
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/DeployPackaging.cmake)
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/DockerPackaging.cmake)
+include(${CELIX_CMAKE_DIRECTORY}/cmake_celix/Runtimes.cmake)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/config_admin/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/config_admin/CMakeLists.txt b/config_admin/CMakeLists.txt
index 8087662..e1db68e 100644
--- a/config_admin/CMakeLists.txt
+++ b/config_admin/CMakeLists.txt
@@ -16,7 +16,9 @@
# under the License.
-celix_subproject(CONFIG_ADMIN "Option to enable building the Config Admin Service bundle and its examples" OFF DEPS framework launcher shell_tui log_writer)
+#TODO refactor and improve impl
+#celix_subproject(CONFIG_ADMIN "Option to enable building the Config Admin Service bundle and its examples" OFF DEPS framework launcher shell_tui log_writer)
+set(CONFIG_AMDIN FALSE)
if (CONFIG_ADMIN)
add_subdirectory(service)
@@ -49,7 +51,8 @@ if (CONFIG_ADMIN)
NAME "config_admin"
BUNDLES
config_admin
- shell shell_tui
+ Celix::shell
+ Celix::shell_tui
log_service
log_writer
config_admin_example
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/config_admin/config_admin_tst/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/config_admin/config_admin_tst/CMakeLists.txt b/config_admin/config_admin_tst/CMakeLists.txt
index e74e7bd..f0abb8c 100644
--- a/config_admin/config_admin_tst/CMakeLists.txt
+++ b/config_admin/config_admin_tst/CMakeLists.txt
@@ -32,7 +32,7 @@ SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) #TODO needed?
SET(CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/framework" "${PROJECT_BINARY_DIR}/utils" )
add_executable(config_admin_test config_admin_test.cpp)
-target_link_libraries(config_admin_test celix_framework ${CELIX_LIBRARIES} ${CPPUTEST_LIBRARY} pthread)
+target_link_libraries(config_admin_test Celix::framework ${CELIX_LIBRARIES} ${CPPUTEST_LIBRARY} pthread)
get_property(config_admin_bundle_file TARGET config_admin PROPERTY BUNDLE_FILE)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/config_admin/config_admin_tst/example_test/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/config_admin/config_admin_tst/example_test/CMakeLists.txt b/config_admin/config_admin_tst/example_test/CMakeLists.txt
index d4c4b3d..2f87ca3 100644
--- a/config_admin/config_admin_tst/example_test/CMakeLists.txt
+++ b/config_admin/config_admin_tst/example_test/CMakeLists.txt
@@ -28,4 +28,4 @@ add_bundle(example_test
private/src/example_managed_service_impl
)
-target_link_libraries(example_test celix_framework celix_utils config_admin)
+target_link_libraries(example_test PRIVATE Celix::framework celix_utils config_admin)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/config_admin/config_admin_tst/example_test2/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/config_admin/config_admin_tst/example_test2/CMakeLists.txt b/config_admin/config_admin_tst/example_test2/CMakeLists.txt
index d312673..25bc27a 100644
--- a/config_admin/config_admin_tst/example_test2/CMakeLists.txt
+++ b/config_admin/config_admin_tst/example_test2/CMakeLists.txt
@@ -27,4 +27,4 @@ add_bundle(example_test2 SOURCES
VERSION 0.1.0
)
-target_link_libraries(example_test2 celix_framework celix_utils config_admin)
+target_link_libraries(example_test2 Celix::framework celix_utils config_admin)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/config_admin/example/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/config_admin/example/CMakeLists.txt b/config_admin/example/CMakeLists.txt
index c1c80bd..6848073 100644
--- a/config_admin/example/CMakeLists.txt
+++ b/config_admin/example/CMakeLists.txt
@@ -23,5 +23,3 @@ add_bundle(config_admin_example
private/src/bundle_activator
private/src/example
)
-
-target_link_libraries(config_admin_example ${CELIX_FRAMEWORK_LIBRARY} ${CELIX_UTILS_LIBRARY})
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/config_admin/service/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/config_admin/service/CMakeLists.txt b/config_admin/service/CMakeLists.txt
index e194081..ba119e4 100644
--- a/config_admin/service/CMakeLists.txt
+++ b/config_admin/service/CMakeLists.txt
@@ -34,6 +34,3 @@ add_bundle(config_admin
private/src/updated_thread_pool.c
)
-target_link_libraries(config_admin celix_framework celix_utils ${APR_LIBRARY} ${APRUTIL_LIBRARY})
-
-
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/dependency_manager/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/dependency_manager/CMakeLists.txt b/dependency_manager/CMakeLists.txt
index 842f608..477a163 100644
--- a/dependency_manager/CMakeLists.txt
+++ b/dependency_manager/CMakeLists.txt
@@ -25,67 +25,75 @@ if (DEPENDENCY_MANAGER)
exec_program(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR)
set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE INTERNAL "processor type (i386 and x86_64)")
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
- add_definitions(-fPIC)
+ set(DM_COMP_OPT "-fPIC")
endif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
endif(CMAKE_UNAME)
endif(UNIX AND NOT WIN32)
- add_bundle(dm_shell
- SYMBOLIC_NAME "apache_celix_dm_shell"
- VERSION "1.0.0"
- NAME "Apache Celix DM Shell Commands"
- SOURCES
- private/src/dm_shell_activator
- private/src/dm_shell_list_command
- )
- target_link_libraries(dm_shell celix_framework celix_utils)
-
-
add_library(dependency_manager_static STATIC
- private/src/dm_component_impl
- private/src/dm_service_dependency
- private/src/dm_event
- private/src/dm_dependency_manager_impl
- private/src/dm_activator
+ src/dm_component_impl
+ src/dm_service_dependency
+ src/dm_event
+ src/dm_dependency_manager_impl
+ src/dm_activator
)
- set_target_properties(dependency_manager_static PROPERTIES SOVERSION 1)
+ target_link_libraries(dependency_manager_static Celix::framework)
+ target_compile_options(dependency_manager_static PRIVATE ${DM_COMP_OPT})
add_library(dependency_manager_so SHARED
- private/src/dm_component_impl
- private/src/dm_service_dependency
- private/src/dm_event
- private/src/dm_dependency_manager_impl
- private/src/dm_activator
+ src/dm_component_impl
+ src/dm_service_dependency
+ src/dm_event
+ src/dm_dependency_manager_impl
+ src/dm_activator
)
set_target_properties(dependency_manager_so PROPERTIES SOVERSION 1)
if (APPLE)
- target_link_libraries(dependency_manager_so celix_framework "-undefined dynamic_lookup")
+ target_link_libraries(dependency_manager_so Celix::framework "-undefined dynamic_lookup")
else()
- target_link_libraries(dependency_manager_so celix_framework)
+ target_link_libraries(dependency_manager_so Celix::framework)
endif()
- include_directories("public/include")
- include_directories("private/include")
- include_directories("${PROJECT_SOURCE_DIR}/shell/public/include")
- include_directories("${PROJECT_SOURCE_DIR}/utils/public/include")
- target_link_libraries(dependency_manager_static celix_framework)
-
- install(
- FILES
- public/include/dm_activator.h
- private/src/dm_activator.c
- public/include/dm_component.h
- public/include/dm_dependency_manager.h
- public/include/dm_service_dependency.h
- public/include/dm_info.h
- DESTINATION
- include/celix/dependency_manager
- COMPONENT
- dependency_manager
- )
+ target_include_directories(dependency_manager_static PUBLIC api)
+ target_include_directories(dependency_manager_static PRIVATE src)
+ target_include_directories(dependency_manager_so PUBLIC api)
+ target_include_directories(dependency_manager_so PRIVATE src)
+
+ add_bundle(dm_shell
+ SYMBOLIC_NAME "apache_celix_dm_shell"
+ VERSION "1.0.0"
+ NAME "Apache Celix DM Shell Commands"
+ SOURCES
+ src/dm_shell_activator
+ src/dm_shell_list_command
+ )
+ target_include_directories(dm_shell PRIVATE api src)
+ target_link_libraries(dm_shell PRIVATE Celix::shell_api)
+
+#TODO check
+# install(
+# FILES
+# api/dm_activator.h
+# src/dm_activator.c
+# api/dm_component.h
+# api/dm_dependency_manager.h
+# apidm_service_dependency.h
+# apidm_info.h
+# DESTINATION
+# include/celix/dependency_manager
+# COMPONENT
+# dependency_manager
+# )
install_bundle(dm_shell)
install(TARGETS dependency_manager_static DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dependency_manager)
install(TARGETS dependency_manager_so DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dependency_manager)
+ unset(DM_COMP_OPT)
+
+
+ #Setup target aliases to match external usage
+ add_library(Celix::dm_shell ALIAS dm_shell)
+ add_library(Celix::dependency_manager_static ALIAS dependency_manager_static)
+ add_library(Celix::dependency_manager_so ALIAS dependency_manager_so)
endif (DEPENDENCY_MANAGER)
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/dependency_manager/api/dm_activator.h
----------------------------------------------------------------------
diff --git a/dependency_manager/api/dm_activator.h b/dependency_manager/api/dm_activator.h
new file mode 100644
index 0000000..bba62e6
--- /dev/null
+++ b/dependency_manager/api/dm_activator.h
@@ -0,0 +1,65 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * dm_activator_base.h
+ *
+ * \date 26 Jul 2014
+ * \author <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
+ * \copyright Apache License, Version 2.0
+ */
+
+
+#ifndef DM_ACTIVATOR_BASE_H_
+#define DM_ACTIVATOR_BASE_H_
+
+
+#include "bundle_context.h"
+#include "celix_errno.h"
+#include "dm_dependency_manager.h"
+#include "bundle_activator.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Should be implemented by a bundle specific DM activator.
+ * Should allocate and initialize a bundle specific activator struct.
+ */
+celix_status_t dm_create(bundle_context_pt context, void ** userData);
+
+/**
+ * Should be implemented by a bundle specific DM activator.
+ * Will be called after the dm_create function.
+ * Can be used to specify with use of the provided dependency manager the bundle specific components.
+ */
+celix_status_t dm_init(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager);
+
+/**
+ * Should be implemented by a bundle specific DM activator.
+ * Should deinitialize and deallocate the undle specific activator struct.
+ */
+celix_status_t dm_destroy(void * userData, bundle_context_pt context, dm_dependency_manager_pt manager);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* DM_ACTIVATOR_BASE_H_ */
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/dependency_manager/api/dm_component.h
----------------------------------------------------------------------
diff --git a/dependency_manager/api/dm_component.h b/dependency_manager/api/dm_component.h
new file mode 100644
index 0000000..2cdad6d
--- /dev/null
+++ b/dependency_manager/api/dm_component.h
@@ -0,0 +1,158 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements. See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership. The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License is distributed on an
+ *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ *specific language governing permissions and limitations
+ *under the License.
+ */
+/*
+ * dm_component.h
+ *
+ * \date 8 Oct 2014
+ * \author <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
+ * \copyright Apache License, Version 2.0
+ */
+
+#ifndef COMPONENT_H_
+#define COMPONENT_H_
+
+
+#include <bundle_context.h>
+#include <celix_errno.h>
+
+#include "dm_service_dependency.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct dm_component_struct *dm_component_pt;
+
+typedef enum dm_component_state_enum {
+ DM_CMP_STATE_INACTIVE = 1,
+ DM_CMP_STATE_WAITING_FOR_REQUIRED = 2,
+ DM_CMP_STATE_INSTANTIATED_AND_WAITING_FOR_REQUIRED = 3,
+ DM_CMP_STATE_TRACKING_OPTIONAL = 4,
+} dm_component_state_t;
+
+#define DM_COMPONENT_MAX_ID_LENGTH 64
+#define DM_COMPONENT_MAX_NAME_LENGTH 128
+
+typedef int (*init_fpt)(void *userData);
+typedef int (*start_fpt)(void *userData);
+typedef int (*stop_fpt)(void *userData);
+typedef int (*deinit_fpt)(void *userData);
+
+/**
+ * Creates a DM Component
+ * Caller has ownership.
+ */
+celix_status_t component_create(bundle_context_pt context, const char* name, dm_component_pt *component);
+
+/**
+ * Destroys a DM Component
+ */
+void component_destroy(dm_component_pt component);
+
+
+/**
+ * Specify if a default 'service.lang=C' should be added to the properties of interfaces if no 'service.lang' has been
+ * provided. Default is false. Note that this should be set before using component_addInterface.
+ */
+celix_status_t component_setCLanguageProperty(dm_component_pt component, bool setCLangProp);
+
+
+/**
+ * Adds a C interface to provide as service to the Celix framework.
+ *
+ * @param serviceName the service name.
+ * @param version The version of the interface (e.g. "1.0.0"), Can be a NULL pointer.
+ * @param properties To (meta) properties to provide with the service. Can be a NULL pointer.
+ */
+celix_status_t component_addInterface(dm_component_pt component, const char* serviceName, const char* serviceVersion, const void* service, properties_pt properties);
+
+/**
+ * Sets the implementation of the component. e.g. the component handle/self/this pointer.
+ */
+celix_status_t component_setImplementation(dm_component_pt component, void* implementation);
+
+/**
+ * Returns an arraylist of service names. The caller owns the arraylist and strings (char *)
+ */
+celix_status_t component_getInterfaces(dm_component_pt component, array_list_pt *servicesNames);
+
+/**
+ * Adds a C service dependency to the component
+ */
+celix_status_t component_addServiceDependency(dm_component_pt component, dm_service_dependency_pt dep);
+
+/**
+ * Removes a C service dependency to the component
+ */
+celix_status_t component_removeServiceDependency(dm_component_pt component, dm_service_dependency_pt dependency);
+
+/**
+ * Returns the current state of the component.
+ */
+dm_component_state_t component_currentState(dm_component_pt cmp);
+
+/**
+ * Returns the implementation of the component. e.g. the component handle/self/this pointer.
+ */
+void * component_getImplementation(dm_component_pt cmp);
+
+/**
+ * Returns the DM component name. This is used when printing information about the component.
+ */
+const char * component_getName(dm_component_pt cmp);
+
+/**
+ * Returns bundle context for the bundle where this DM component is part of.
+ */
+celix_status_t component_getBundleContext(dm_component_pt component, bundle_context_pt *out);
+
+/**
+ * Set the component life cycle callbacks.
+ * The first argument will be the component implementation (@see component_getImplementation)
+ */
+celix_status_t component_setCallbacks(dm_component_pt component, init_fpt init, start_fpt start, stop_fpt stop, deinit_fpt deinit);
+
+/**
+ * Set the component life cycle callbacks using a MACRO for improving the type safety.
+ */
+#define component_setCallbacksSafe(dmCmp, type, init, start, stop, deinit) \
+ do { \
+ int (*tmp_init)(type) = (init); \
+ int (*tmp_start)(type) = (start); \
+ int (*tmp_stop)(type) = (stop); \
+ int (*tmp_deinit)(type) = (deinit); \
+ component_setCallbacks((dmCmp), (init_fpt)tmp_init, (start_fpt)tmp_start, (stop_fpt)tmp_stop, (deinit_fpt)tmp_deinit); \
+ } while(0)
+
+/**
+ * Create a DM Component info struct. Containing information about the component.
+ * Caller has ownership.
+ */
+celix_status_t component_getComponentInfo(dm_component_pt component, dm_component_info_pt *info);
+
+/**
+ * Destroys a DM Component info struct.
+ */
+void component_destroyComponentInfo(dm_component_info_pt info);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* COMPONENT_H_ */
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/dependency_manager/api/dm_dependency_manager.h
----------------------------------------------------------------------
diff --git a/dependency_manager/api/dm_dependency_manager.h b/dependency_manager/api/dm_dependency_manager.h
new file mode 100644
index 0000000..89fe51d
--- /dev/null
+++ b/dependency_manager/api/dm_dependency_manager.h
@@ -0,0 +1,79 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements. See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership. The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License is distributed on an
+ *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ *specific language governing permissions and limitations
+ *under the License.
+ */
+/*
+ * dm_dependency_manager.h
+ *
+ * \date 22 Feb 2014
+ * \author <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
+ * \copyright Apache License, Version 2.0
+ */
+
+#ifndef DM_DEPENDENCY_MANAGER_H_
+#define DM_DEPENDENCY_MANAGER_H_
+
+
+#include "bundle_context.h"
+#include "celix_errno.h"
+#include "array_list.h"
+#include "dm_info.h"
+#include "dm_component.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct dm_dependency_manager *dm_dependency_manager_pt;
+
+/**
+ * Creates a dependency manager.
+ * Caller has ownership.
+ */
+celix_status_t dependencyManager_create(bundle_context_pt context, dm_dependency_manager_pt *manager);
+
+/**
+ * Destroys the provided dependency manager
+ */
+void dependencyManager_destroy(dm_dependency_manager_pt manager);
+
+/**
+ * Adds a DM component to the dependency manager
+ */
+celix_status_t dependencyManager_add(dm_dependency_manager_pt manager, dm_component_pt component);
+
+/**
+ * Removes all DM components from the dependency manager
+ */
+celix_status_t dependencyManager_removeAllComponents(dm_dependency_manager_pt manager);
+
+/**
+ * Create and returns a DM Info struct. Which contains information about the state of the DM components
+ * Caller has ownership.
+ */
+celix_status_t dependencyManager_getInfo(dm_dependency_manager_pt manager, dm_dependency_manager_info_pt *info);
+
+/**
+ * Destroys a DM info struct.
+ */
+void dependencyManager_destroyInfo(dm_dependency_manager_pt manager, dm_dependency_manager_info_pt info);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* DM_DEPENDENCY_MANAGER_H_ */
http://git-wip-us.apache.org/repos/asf/celix/blob/a1c30887/dependency_manager/api/dm_info.h
----------------------------------------------------------------------
diff --git a/dependency_manager/api/dm_info.h b/dependency_manager/api/dm_info.h
new file mode 100644
index 0000000..f5e6b47
--- /dev/null
+++ b/dependency_manager/api/dm_info.h
@@ -0,0 +1,81 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements. See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership. The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License is distributed on an
+ *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ *specific language governing permissions and limitations
+ *under the License.
+ */
+/*
+ * dm_server.h
+ *
+ * \date 15 Oct 2015
+ * \author <a href="mailto:dev@celix.apache.org">Apache Celix Project Team</a>
+ * \copyright Apache License, Version 2.0
+ */
+#ifndef CELIX_DM_INFO_SERVICE_H
+#define CELIX_DM_INFO_SERVICE_H
+
+
+
+#include <stdbool.h>
+#include "array_list.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define DM_INFO_SERVICE_NAME "dm_info"
+
+
+typedef struct dm_interface_info_struct {
+ char* name;
+ properties_pt properties;
+} * dm_interface_info_pt;
+
+typedef struct dm_service_dependency_info_struct {
+ char *filter;
+ bool available;
+ bool required;
+ size_t count;
+} * dm_service_dependency_info_pt;
+
+typedef struct dm_component_info_struct {
+ char id[64];
+ char name[128];
+ bool active;
+ char * state;
+ array_list_pt interfaces; // type dm_interface_info_pt
+ array_list_pt dependency_list; // type dm_service_dependency_info_pt
+} * dm_component_info_pt;
+
+typedef struct dm_dependency_manager_info_struct {
+ array_list_pt components; // type dm_component_info
+} * dm_dependency_manager_info_pt;
+
+struct dm_info_service_struct {
+ void *handle;
+
+ /*Note: dm_caller has the ownership of the result.*/
+ celix_status_t (*getInfo)(void *handle, dm_dependency_manager_info_pt *info);
+ void (*destroyInfo)(void *handle, dm_dependency_manager_info_pt info);
+};
+
+typedef struct dm_info_service_struct dm_info_service_t;
+typedef dm_info_service_t* dm_info_service_pt;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //CELIX_DM_INFO_SERVICE_H