-
Notifications
You must be signed in to change notification settings - Fork 97
Open
Labels
component/frameworkCategorizes an issue or PR relevant to the framework.Categorizes an issue or PR relevant to the framework.component/loggingcomponent/shellCategorizes an issue or PR relevant to the shell.Categorizes an issue or PR relevant to the shell.component/utilsCategorizes an issue or PR relevant to the utils.Categorizes an issue or PR relevant to the utils.kind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.Categorizes issue or PR as related to cleaning up code, process, or technical debt.
Milestone
Description
For the next major version bump a lot deprecated functionality and functions can be dropped. Also some header files not meant for users should be made private.
An overview of the changes that should or can be done, before a Celix 3.0.0 release are:
- Update CELIX_MAJOR (etc) to 3.0.0
- Remove static dm libs
- Change bundle cache dir scheme in v3
- Remove CELIX_PROPERTIES_FOR_EACH
- Remove deployment admin
- Refactor C++ DependencyManager and remove setCSevice methods and not longer wanted SetCallbacks, etc
- Remove C++11 support (dep man and C++11 dep man tests)
- Add FRAMEWORK_EXPORT/UTIL_EXPORT to all public header functions
- Remove installation of deprecated headers dir (libs/utils an libs/framework)
- Rename non prefixed celix_ symbols from celix_ headers
- Remove non celix prefixed function from cmake
- Remove OSGI_ from celix_constants.h and remove old unused entries
- Remove usage of cosgi.auto.start.0 etc from framework.c and celix_bundle_cache.c
- Change delimiters in CELIX_AUTO_START_1 (etc) from " " to ","
- Remove OSGI_FRAMEWORK_BUNDLE_UNKNOWN and other OSGI_ (no CELIX_) prefix enums
- Refactor celix launcher and remove some of the functions
- Remove USE_FILE32API from framework cmake target compile definitions
- Remove add_celix_docker support from cmake
- Remove add_celix_runtime support from cmake
- Before release make all installed libs (including interface libs) not depend on deprecated headers
-
- rsa_api
-
- rsa_commons
-
- pubsub_spi
-
- pubsub_utils
-
- pubsub_api
- Update celix_types.h so that non prefixed celix_ typedef are removed to a celix_private_types.h
- Update celix_api.h to not include non prefixed celix_ headers
- Remove support for old log_service and shell service
- Remove lang_c / lang_cxx from service registration/lookup in bundle context and dep manager
- Remove deprecated functions from celix_array_list.h, celix_properties.h and other celix_ headers
- Remove pubsub libs/bundles from celix (pubsub is not part of the OSGi specifications)
- Remove C++17 (std::string_view) support from utils and framework and keep support on C++14.
- Merge type support for properties #470 (updated properties)
- Remove avpr support from dfi. Not stable and not used.
- Check if embedded memstream can be removed from utils (not needed anymore for OSX)
- Update doxygen for celix_bundleContext_useService (and C++ variant) to indicate that the callbacks can be called from the calling thread or the Celix event thread. This will give the option to changes to useService(s) function so that they directly work on the calling thread.
- maybe update the rsa spi/api. Create api for the remote constants header, remove svc references and registrations from the rsa_spi.
- Move celix_log.h header to framework src (private).
- Remove celix_status struct from celix_errno.h
- Remove some api in the celix_framework.h that is already available in celix_bundle_context to framework_private (minimize the public api)
- Remove support for CELIX_DEPRECATED_FACTORY_SERVICE in service registration and upstream
- Remove cpputest or replace them with gtest
Note that this does not mean that all deprecated functions/types usage (i.e. bundle_getState, etc) needs to be removed from Celix, but for a first 3.0.0 only that these functions / types are no longer useable downstream (so not useable for Apache Celix users)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
component/frameworkCategorizes an issue or PR relevant to the framework.Categorizes an issue or PR relevant to the framework.component/loggingcomponent/shellCategorizes an issue or PR relevant to the shell.Categorizes an issue or PR relevant to the shell.component/utilsCategorizes an issue or PR relevant to the utils.Categorizes an issue or PR relevant to the utils.kind/cleanupCategorizes issue or PR as related to cleaning up code, process, or technical debt.Categorizes issue or PR as related to cleaning up code, process, or technical debt.