Feature/separate deprecated headers
This PR deprecates all the not celix_ utils functions and moves them in a separate include_deprecated directly. This is done to prepare a celix v3 release where we "just" not install the include_deprecated directories.
For this PR default the include_deprecated is still installed, but bundles, libraries and executables in the Celix project still using the deprecated utils headers need to configure this with a celix_deprecated_utils_headers cmake function.
Further:
-
The deprecated include dir is added using a separate cmake function to ensure it is not transitive (and still works with static libs, etc) and also to make it possible to run a custom target (
celix-deprecated) to get a quick overview which targets are still using the deprecated headers. It also helps that the usage ofcelix_deprecated_utils_headerscan be easily found with a search function. -
The
celix_api.hheader is also moved to the include_deprecated directory, because it also includes non celix_ prefixed headers. Updating the celix_api.h would mean a backwards incompatible update, so for now I want to handle it as a deprecated api. A result of this is that a lot of files are updated, but they mostly are the same updates (replace celix_api.h include with some others includes). -
The v3 ci build is removed, because the approach has changed and I think it is not relevant anymore (and maybe never was).
-
The include_deprecated headers now contains attribute((deprecated)) statements and as result, usage will generate a warning (or if configured an error). For Celix itself, the default compiler config will not generate the deprecated warnings (-Wno-deprecated-declarations).
Lastly note that a celix v3 release does not (directly) mean that non celix_ prefixed headers cannot be used internally anymore, the header are just not installed anymore. This should give us some time to slowly move aways from the deprecated functions.
Please leave it open for another week. I have to check how the deprecated APIs are used in my day time job.
Please leave it open for another week. I have to check how the deprecated APIs are used in my day time job.
No problem.
Please note that the deprecated headers are installed, so downstream the "only" impact would be a deprecated warning. I could update the PR so that the deprecated attribute is behind a macro, so that it is possible to configure whether you want the deprecated warning downstream or not.
Codecov Report
Merging #446 (450a340) into master (b743919) will increase coverage by
0.00%. The diff coverage is100.00%.
:exclamation: Current head 450a340 differs from pull request most recent head 566e631. Consider uploading reports for the commit 566e631 to get more accurate results
@@ Coverage Diff @@
## master #446 +/- ##
=======================================
Coverage 74.38% 74.39%
=======================================
Files 199 199
Lines 29602 29629 +27
=======================================
+ Hits 22019 22042 +23
- Misses 7583 7587 +4
| Impacted Files | Coverage Δ | |
|---|---|---|
| bundles/logging/log_admin/src/celix_log_admin.c | 99.73% <ø> (ø) |
|
| .../logging/log_admin/src/celix_log_admin_activator.c | 100.00% <ø> (ø) |
|
| bundles/logging/log_helper/src/celix_log_helper.c | 100.00% <ø> (ø) |
|
| .../syslog_writer/src/celix_syslog_writer_activator.c | 100.00% <ø> (ø) |
|
| ...b_protocol_wire_v1/src/pubsub_wire_protocol_impl.c | 96.38% <ø> (ø) |
|
| ...otocol_wire_v2/src/ps_wire_v2_protocol_activator.c | 100.00% <ø> (ø) |
|
| ...ubsub/pubsub_spi/src/pubsub_interceptors_handler.c | 98.11% <ø> (ø) |
|
| ...ubsub/pubsub_utils/src/pubsub_serializer_handler.c | 93.47% <ø> (ø) |
|
| ...dles/remote_services/rsa_dfi_utils/src/dfi_utils.c | 86.90% <ø> (ø) |
|
| bundles/shell/shell/src/lb_command.c | 78.33% <ø> (ø) |
|
| ... and 19 more |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more