This is an automated email from the ASF dual-hosted git repository. pnoltes pushed a commit to branch feature/update_github_actions in repository https://gitbox.apache.org/repos/asf/celix.git
commit 2870a970917e61a53cae81c58a21be96253f4a34 Author: Pepijn Noltes <[email protected]> AuthorDate: Fri Jan 13 10:46:03 2023 +0100 Fix several small issues detected/needed in the github ci actions --- .../discovery_configured/CMakeLists.txt | 6 ++++++ bundles/remote_services/discovery_shm/CMakeLists.txt | 4 +++- .../remote_service_admin_shm_v2/CMakeLists.txt | 8 ++++++-- .../rsa_spi/include/export_registration.h | 11 ++++++++++- .../rsa_spi/include/import_registration.h | 11 ++++++++++- bundles/shell/shell_bonjour/private/src/bonjour_shell.c | 2 +- conanfile.py | 16 +++++++++++++--- libs/dfi/src/dyn_common.c | 2 +- libs/framework/src/celix_log.c | 2 +- libs/utils/CMakeLists.txt | 2 +- 10 files changed, 52 insertions(+), 12 deletions(-) diff --git a/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt b/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt index ea45b4ce..ec973790 100644 --- a/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt +++ b/bundles/cxx_remote_services/discovery_configured/CMakeLists.txt @@ -39,6 +39,12 @@ target_link_libraries(RsaConfiguredDiscovery PRIVATE Celix::rsa_spi Celix::log_helper ) + +#Note import target RapidJSON::RapidJSO only created when using conan, else /usr/include is used. +if (TARGET RapidJSON::RapidJSON) + target_link_libraries(RsaConfiguredDiscovery PRIVATE RapidJSON::RapidJSON) +endif () + target_include_directories(RsaConfiguredDiscovery PRIVATE src) install_celix_bundle(RsaConfiguredDiscovery EXPORT celix COMPONENT rsa) add_library(Celix::RsaConfiguredDiscovery ALIAS RsaConfiguredDiscovery) diff --git a/bundles/remote_services/discovery_shm/CMakeLists.txt b/bundles/remote_services/discovery_shm/CMakeLists.txt index eecadaff..7a2d9be1 100644 --- a/bundles/remote_services/discovery_shm/CMakeLists.txt +++ b/bundles/remote_services/discovery_shm/CMakeLists.txt @@ -37,7 +37,9 @@ target_include_directories(rsa_discovery_shm PRIVATE $<TARGET_PROPERTY:Celix::rsa_discovery_common,INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:Celix::civetweb,INCLUDE_DIRECTORIES> ) -target_link_libraries(rsa_discovery_shm PRIVATE Celix::framework CURL::libcurl ${LIBXML2_LIBRARIES}) +target_link_libraries(rsa_discovery_shm PRIVATE + Celix::framework CURL::libcurl ${LIBXML2_LIBRARIES} Celix::log_helper + rsa_common) install_celix_bundle(rsa_discovery_shm EXPORT celix COMPONENT rsa) diff --git a/bundles/remote_services/remote_service_admin_shm_v2/CMakeLists.txt b/bundles/remote_services/remote_service_admin_shm_v2/CMakeLists.txt index e62a07df..c475f3c4 100644 --- a/bundles/remote_services/remote_service_admin_shm_v2/CMakeLists.txt +++ b/bundles/remote_services/remote_service_admin_shm_v2/CMakeLists.txt @@ -15,8 +15,12 @@ # specific language governing permissions and limitations # under the License. -celix_subproject(RSA_REMOTE_SERVICE_ADMIN_SHM_V2 "Option to enable building the Remote Service Admin Service SHM V2 bundle" ON) -if (RSA_REMOTE_SERVICE_ADMIN_SHM_V2 AND CMAKE_SYSTEM_NAME STREQUAL "Linux") +set(RSA_REMOTE_SERVICE_ADMIN_SHM_V2_DEFAULT OFF) +if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(RSA_REMOTE_SERVICE_ADMIN_SHM_V2_DEFAULT ON) +endif () +celix_subproject(RSA_REMOTE_SERVICE_ADMIN_SHM_V2 "Option to enable building the Remote Service Admin Service SHM V2 bundle" RSA_REMOTE_SERVICE_ADMIN_SHM_V2_DEFAULT) +if (RSA_REMOTE_SERVICE_ADMIN_SHM_V2) add_subdirectory(shm_pool) add_subdirectory(rsa_shm) diff --git a/bundles/remote_services/rsa_spi/include/export_registration.h b/bundles/remote_services/rsa_spi/include/export_registration.h index 6aa95a99..f6ac78e0 100644 --- a/bundles/remote_services/rsa_spi/include/export_registration.h +++ b/bundles/remote_services/rsa_spi/include/export_registration.h @@ -24,8 +24,17 @@ #include "endpoint_description.h" #include "service_reference.h" -typedef struct export_registration export_registration_t; +/** + * This headers contains a opaque declaration of the export_registration type and declaration of some generic + * exportRegistration functions. The export_registration type and the generic exportRegistration functions are used + * the common remote service parts. + * + * Service providers (i.e. RSA implementations) must provide the definition of type export_registration and can + * must implement the exportRegistration functions. Service providers can add additional exportRegistration functions, + * if needed. + */ +typedef struct export_registration export_registration_t; typedef struct export_reference export_reference_t; celix_status_t exportRegistration_close(export_registration_t *registration); diff --git a/bundles/remote_services/rsa_spi/include/import_registration.h b/bundles/remote_services/rsa_spi/include/import_registration.h index c51eeea1..0447729d 100644 --- a/bundles/remote_services/rsa_spi/include/import_registration.h +++ b/bundles/remote_services/rsa_spi/include/import_registration.h @@ -24,8 +24,17 @@ #include "endpoint_description.h" #include "service_reference.h" -typedef struct import_registration import_registration_t; +/** + * This headers contains a opaque declaration of the import_registration type and declaration of some generic + * importRegistration functions. The import_registration type and the generic importRegistration functions are used + * the common remote service parts. + * + * Service providers (i.e. RSA implementations) must provide the definition of type import_registration and can + * must implement the importRegistration functions. Service providers can add additional importRegistration functions, + * if needed. + */ +typedef struct import_registration import_registration_t; typedef struct import_reference import_reference_t; celix_status_t importRegistration_getException(import_registration_t *registration); diff --git a/bundles/shell/shell_bonjour/private/src/bonjour_shell.c b/bundles/shell/shell_bonjour/private/src/bonjour_shell.c index 9e241ed6..8bceacf9 100644 --- a/bundles/shell/shell_bonjour/private/src/bonjour_shell.c +++ b/bundles/shell/shell_bonjour/private/src/bonjour_shell.c @@ -40,7 +40,7 @@ #include <stdbool.h> #include <shell.h> -#if defined(BSD) || defined(__APPLE__) || defined(ANDROID) +#if CELIX_UTILS_NO_MEMSTREAM_AVAILABLE #include "open_memstream.h" #include "fmemopen.h" #endif diff --git a/conanfile.py b/conanfile.py index 81b5dfe0..f1c05008 100644 --- a/conanfile.py +++ b/conanfile.py @@ -78,12 +78,13 @@ class CelixConan(ConanFile): "build_launcher": [True, False], "build_promises": [True, False], "build_pushstreams": [True, False], + "build_experimental": [True, False], "celix_cxx14": [True, False], "celix_cxx17": [True, False], "celix_install_deprecated_api": [True, False], "celix_use_compression_for_bundle_zips": [True, False], } - default_options = { + default_options = { "enable_testing": False, "enable_code_coverage": False, "enable_address_sanitizer": False, @@ -124,8 +125,9 @@ class CelixConan(ConanFile): "build_launcher": False, "build_promises": False, "build_pushstreams": False, - "celix_cxx14": False, - "celix_cxx17": False, + "build_experimental": False, + "celix_cxx14": True, + "celix_cxx17": True, "celix_install_deprecated_api": False, "celix_use_compression_for_bundle_zips": True, } @@ -229,6 +231,14 @@ class CelixConan(ConanFile): self.requires("czmq/4.2.0") self.options['czmq'].shared = True + #If czmq is needed, disable crypto for libzip to prevent openssl conflict: + # 'czmq/4.2.0' requires 'openssl/1.1.1m' while 'libcurl/7.86.0' requires 'openssl/1.1.1s' + self.options['libzip'].crypto = False + + #If czmq is needed, disable ssl for libcurl to prevent openssl conflict: + # 'czmq/4.2.0' requires 'openssl/1.1.1m' while 'libcurl/7.87.0' requires 'openssl/1.1.1s' + self.options['libcurl'].with_ssl = False + def _configure_cmake(self): if self._cmake: return self._cmake diff --git a/libs/dfi/src/dyn_common.c b/libs/dfi/src/dyn_common.c index ff1b21ed..7180cf82 100644 --- a/libs/dfi/src/dyn_common.c +++ b/libs/dfi/src/dyn_common.c @@ -24,7 +24,7 @@ #include <ctype.h> #include <stdbool.h> -#if NO_MEMSTREAM_AVAILABLE +#if CELIX_UTILS_NO_MEMSTREAM_AVAILABLE #include "open_memstream.h" #include "fmemopen.h" #endif diff --git a/libs/framework/src/celix_log.c b/libs/framework/src/celix_log.c index 7cf34905..429d06e5 100644 --- a/libs/framework/src/celix_log.c +++ b/libs/framework/src/celix_log.c @@ -27,7 +27,7 @@ #include "celix_threads.h" #include "celix_array_list.h" -#ifdef NO_MEMSTREAM_AVAILABLE +#ifdef CELIX_UTILS_NO_MEMSTREAM_AVAILABLE #include "memstream/open_memstream.h" #endif diff --git a/libs/utils/CMakeLists.txt b/libs/utils/CMakeLists.txt index 51fa47ca..d1aa4bdc 100644 --- a/libs/utils/CMakeLists.txt +++ b/libs/utils/CMakeLists.txt @@ -49,7 +49,7 @@ set_target_properties(utils PROPERTIES OUTPUT_NAME "celix_utils") target_link_libraries(utils PRIVATE libzip::libzip) if (NOT OPEN_MEMSTREAM_EXISTS) - target_compile_definitions(utils PUBLIC -DNO_MEMSTREAM_AVAILABLE) + target_compile_definitions(utils PUBLIC -DCELIX_UTILS_NO_MEMSTREAM_AVAILABLE) endif () if (ANDROID)
