Merge branch 'develop' into feature/CELIX-335_deploy_refactoring
Project: http://git-wip-us.apache.org/repos/asf/celix/repo Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/a43d78b3 Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/a43d78b3 Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/a43d78b3 Branch: refs/heads/develop Commit: a43d78b30e012b03956db398bccd79e71a53739d Parents: cd1f749 2eac60e Author: Pepijn Noltes <pepijnnol...@gmail.com> Authored: Mon Jan 25 19:00:29 2016 +0100 Committer: Pepijn Noltes <pepijnnol...@gmail.com> Committed: Mon Jan 25 19:00:29 2016 +0100 ---------------------------------------------------------------------- .travis.yml | 94 ++-- BUILDING | 17 +- CMakeLists.txt | 6 +- Dockerfile.Android | 119 +++++ README.md | 2 +- cmake/cmake_celix/Config.cmake.in | 4 + config_admin/CMakeLists.txt | 25 +- config_admin/config_admin_tst/CMakeLists.txt | 47 ++ .../config_admin_tst/config.properties.in | 20 + .../config_admin_tst/config_admin_test.cpp | 404 +++++++++++++++ .../example_test/CMakeLists.txt | 31 ++ .../example_test/META-INF/MANIFEST.MF | 5 + .../include/example_managed_service_impl.h | 68 +++ .../example_test/private/src/activator.c | 206 ++++++++ .../private/src/example_managed_service_impl.c | 103 ++++ .../example_test2/CMakeLists.txt | 30 ++ .../example_test2/META-INF/MANIFEST.MF | 5 + .../include/example2_managed_service_impl.h | 66 +++ .../example_test2/private/src/activator.c | 227 ++++++++ .../private/src/example_managed_service_impl.c | 108 ++++ config_admin/examples/CMakeLists.txt | 21 - .../examples/example_test/CMakeLists.txt | 31 -- .../examples/example_test/META-INF/MANIFEST.MF | 5 - .../include/example_managed_service_impl.h | 53 -- .../example_test/private/src/activator.c | 188 ------- .../private/src/example_managed_service_impl.c | 94 ---- .../examples/example_test2/CMakeLists.txt | 21 - .../bundle_configuring/CMakeLists.txt | 28 - .../bundle_configuring/META-INF/MANIFEST.MF | 5 - .../bundle_configuring/private/src/activator.c | 94 ---- .../bundle_managed_service/CMakeLists.txt | 30 -- .../bundle_managed_service/META-INF/MANIFEST.MF | 5 - .../include/example_managed_service_impl.h | 55 -- .../private/src/activator.c | 120 ----- .../private/src/example_managed_service_impl.c | 95 ---- config_admin/readme.md | 29 ++ .../include/configuration_admin_factory.h | 4 +- .../private/include/configuration_admin_impl.h | 3 +- .../private/include/configuration_impl.h | 38 +- .../private/include/configuration_store.h | 3 +- .../service/private/include/framework_patch.h | 2 +- .../private/include/managed_service_tracker.h | 11 +- .../private/include/updated_thread_pool.h | 10 +- config_admin/service/private/src/activator.c | 23 +- .../private/src/configuration_admin_factory.c | 42 +- .../private/src/configuration_admin_impl.c | 19 +- .../service/private/src/configuration_impl.c | 327 +++++++----- .../service/private/src/configuration_store.c | 98 ++-- .../service/private/src/managed_service_impl.c | 7 +- .../private/src/managed_service_tracker.c | 174 ++++--- .../service/private/src/updated_thread_pool.c | 47 +- .../service/public/include/configuration.h | 29 +- .../public/include/configuration_admin.h | 2 +- .../public/include/configuration_event.h | 2 +- .../public/include/configuration_listener.h | 2 +- .../public/include/configuration_plugin.h | 2 +- .../service/public/include/managed_service.h | 4 +- .../private/src/dm_service_dependency.c | 4 + dfi/CMakeLists.txt | 2 +- framework/CMakeLists.txt | 10 +- framework/private/include/filter_private.h | 1 - framework/private/mock/celix_log_mock.c | 54 ++ framework/private/src/filter.c | 212 +++++--- framework/private/src/service_registration.c | 4 +- framework/private/src/service_registry.c | 8 +- framework/private/test/filter_test.cpp | 514 ++++++++++++++++++- .../private/test/service_registration_test.cpp | 8 +- .../private/test/service_registry_test.cpp | 2 +- framework/public/include/service_factory.h | 6 +- log_service/private/src/log_factory.c | 4 +- remote_services/discovery_etcd/README.md | 12 + .../discovery_etcd/private/src/etcd.c | 3 +- .../discovery_etcd/private/src/etcd_watcher.c | 45 +- ...apache.celix.calc.api.Calculator2.descriptor | 2 +- .../examples/calculator_shell/CMakeLists.txt | 1 + ...apache.celix.calc.api.Calculator2.descriptor | 11 + .../calculator_shell/private/src/add_command.c | 9 +- .../calculator_shell/private/src/sqrt_command.c | 9 +- .../calculator_shell/private/src/sub_command.c | 9 +- remote_services/remote_service_admin/README.md | 10 + .../private/include/import_registration_dfi.h | 2 +- .../rsa/private/src/export_registration_dfi.c | 11 +- .../rsa/private/src/import_registration_dfi.c | 52 +- .../rsa/private/src/remote_service_admin_dfi.c | 13 +- .../rsa_tst/rsa_tests.cpp | 1 + .../private/test/CMakeLists.txt | 4 +- remote_services/topology_manager/README.md | 6 + .../private/src/topology_manager.c | 67 +-- .../topology_manager/tms_tst/tms_tests.cpp | 7 +- shell/private/src/activator.c | 34 +- shell/private/src/log_command.c | 5 +- shell/private/src/shell.c | 126 ++--- shell_tui/CMakeLists.txt | 2 + shell_tui/private/include/shell_tui.h | 51 ++ shell_tui/private/src/activator.c | 102 ++++ shell_tui/private/src/shell_tui.c | 197 +++---- utils/CMakeLists.txt | 14 +- utils/private/src/version.c | 17 + utils/private/test/version_test.cpp | 34 +- utils/public/include/version.h | 18 + 100 files changed, 3346 insertions(+), 1667 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/CMakeLists.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/config_admin/CMakeLists.txt ---------------------------------------------------------------------- diff --cc config_admin/CMakeLists.txt index 81040db,3801e6e..6a8e08c --- a/config_admin/CMakeLists.txt +++ b/config_admin/CMakeLists.txt @@@ -20,9 -20,29 +20,32 @@@ celix_subproject(CONFIG_ADMIN "Option t if (CONFIG_ADMIN) add_subdirectory(service) - add_subdirectory(examples) + # add_subdirectory(examples) + + if (ENABLE_TESTING) + find_package(CppUTest REQUIRED) + + include_directories(${CPPUTEST_INCLUDE_DIR}) + add_subdirectory(config_admin_tst) + # find_package(CppUTest REQUIRED) + # + # include_directories(${CUNIT_INCLUDE_DIRS}) + # include_directories(${CPPUTEST_INCLUDE_DIR}) + # include_directories("${PROJECT_SOURCE_DIR}/config_admin/service/public/include") + # include_directories("${PROJECT_SOURCE_DIR}/config_admin/service/private/include") + # include_directories("${PROJECT_SOURCE_DIR}/utils/public/include") + # + # add_executable(config_admin_test config_admin_tst/config_admin_test.cpp) + # target_link_libraries(config_admin_test celix_utils ${CPPUTEST_LIBRARY} pthread) + # + # + # add_test(NAME run_config_admin_test COMMAND config_admin_test) + # SETUP_TARGET_FOR_COVERAGE(config_admin_test config_admin_test ${CMAKE_BINARY_DIR}/coverage/config_admin_test/config_admin_test) + + endif(ENABLE_TESTING) + + add_deploy("config_admin1" BUNDLES config_admin shell shell_tui log_service log_writer example_test) + add_deploy("config_admin2" BUNDLES config_admin shell shell_tui log_service log_writer bundle_managed_service bundle_configuring) + endif (CONFIG_ADMIN) http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/config_admin/config_admin_tst/example_test/CMakeLists.txt ---------------------------------------------------------------------- diff --cc config_admin/config_admin_tst/example_test/CMakeLists.txt index 0000000,7782c0d..d4c4b3d mode 000000,100644..100644 --- a/config_admin/config_admin_tst/example_test/CMakeLists.txt +++ b/config_admin/config_admin_tst/example_test/CMakeLists.txt @@@ -1,0 -1,32 +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. + + + include_directories("${PROJECT_SOURCE_DIR}/utils/public/include") + include_directories("${PROJECT_SOURCE_DIR}/framework/public/include") + include_directories("${PROJECT_SOURCE_DIR}/config_admin/service/public/include") + include_directories("private/include") + -SET(BUNDLE_SYMBOLICNAME "example_test") -SET(BUNDLE_VERSION "0.1.0") - -bundle(example_test SOURCES ++add_bundle(example_test ++ VERSION 0.1.0 ++ SOURCES + private/src/activator + private/src/example_managed_service_impl + ) + + target_link_libraries(example_test celix_framework celix_utils config_admin) http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/config_admin/config_admin_tst/example_test2/CMakeLists.txt ---------------------------------------------------------------------- diff --cc config_admin/config_admin_tst/example_test2/CMakeLists.txt index 0000000,ddad504..2d38251 mode 000000,100644..100644 --- a/config_admin/config_admin_tst/example_test2/CMakeLists.txt +++ b/config_admin/config_admin_tst/example_test2/CMakeLists.txt @@@ -1,0 -1,32 +1,30 @@@ + # 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. + + + include_directories("${PROJECT_SOURCE_DIR}/utils/public/include") + include_directories("${PROJECT_SOURCE_DIR}/framework/public/include") + include_directories("${PROJECT_SOURCE_DIR}/config_admin/service/public/include") + include_directories("private/include") + -SET(BUNDLE_SYMBOLICNAME "example_test2") -SET(BUNDLE_VERSION "0.1.0") - -bundle(example_test2 SOURCES ++add_bundle(bundle_managed_service SOURCES + private/src/activator + private/src/example_managed_service_impl ++ VERSION 0.1.0 + ) + + target_link_libraries(example_test2 celix_framework celix_utils config_admin) http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/dfi/CMakeLists.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/framework/CMakeLists.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/remote_services/examples/calculator_shell/CMakeLists.txt ---------------------------------------------------------------------- diff --cc remote_services/examples/calculator_shell/CMakeLists.txt index e45f041,24a4d1e..361b688 --- a/remote_services/examples/calculator_shell/CMakeLists.txt +++ b/remote_services/examples/calculator_shell/CMakeLists.txt @@@ -29,14 -32,11 +29,15 @@@ add_bundle(calculator_shell SOURCE private/include/add_command.h private/include/sqrt_command.h private/include/sub_command.h + + VERSION 0.0.1 + SYMBOLIC_NAME "apache_celix_remoting_calculator_shell" +) - - FILES - ../calculator_service/public/include/org.apache.celix.calc.api.Calculator2.descriptor - #private/include/org.apache.celix.calc.api.Calculator2.descriptor ##Use this descriptor in case you want to try out versioning! +bundle_files(calculator_shell + ../calculator_service/public/include/org.apache.celix.calc.api.Calculator2.descriptor ++ #private/include/org.apache.celix.calc.api.Calculator2.descriptor ##Use this descriptor in case you want to try out versioning! + DESTINATION . ) target_link_libraries(calculator_shell celix_framework) http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/remote_services/remote_service_admin_shm/private/test/CMakeLists.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/shell_tui/CMakeLists.txt ---------------------------------------------------------------------- diff --cc shell_tui/CMakeLists.txt index a94b616,6690d46..9bcab15 --- a/shell_tui/CMakeLists.txt +++ b/shell_tui/CMakeLists.txt @@@ -17,11 -17,13 +17,12 @@@ celix_subproject(SHELL_TUI "Option to enable building the Shell Textual User Interface bundles" ON DEPS LAUNCHER SHELL) if (SHELL_TUI) - SET_HEADER(BUNDLE_VERSION "1.0.0") - SET_HEADER(BUNDLE_SYMBOLICNAME "apache_celix_shell_tui") - SET_HEADERS("Bundle-Name: Apache Celix Shell TUI") - - bundle(shell_tui - SOURCES + add_bundle(shell_tui + SYMBOLIC_NAME "apache_celix_shell_tui" + VERSION "1.0.0" + NAME "Apache Celix Shell TUI" + SOURCES + private/src/activator private/src/shell_tui ) http://git-wip-us.apache.org/repos/asf/celix/blob/a43d78b3/utils/CMakeLists.txt ---------------------------------------------------------------------- diff --cc utils/CMakeLists.txt index 8f6385c,77b1aa2..6c273bd --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@@ -54,11 -54,12 +54,14 @@@ if (UTILS private/src/thpool.c public/include/thpool.h ) ++ + set_target_properties(celix_utils PROPERTIES "SOVERSION" 2) - - IF(UNIX) + + IF(UNIX AND NOT ANDROID) target_link_libraries(celix_utils m pthread) - ENDIF(UNIX) + ELSEIF(ANDROID) + target_link_libraries(celix_utils m) + ENDIF() install(TARGETS celix_utils DESTINATION lib COMPONENT framework) FILE(GLOB files "public/include/*.h")