apache / celix

Apache Celix is a framework for C and C++14 to develop dynamic modular software applications using component and in-process service-oriented programming.
https://celix.apache.org/
Apache License 2.0
166 stars 87 forks source link

Feature/599 add rust bindings #603

Closed pnoltes closed 1 year ago

pnoltes commented 1 year ago

Apache Celix Rust2C Binding

This PR updates the "Hello World" Rust bundle with the addition of Apache Celix Rust-to-C bindings, enabling the usage of celix_bundleContext_log.

The main changes in this PR are as follows:

  1. Introducing a new Rust library named "celix_bindings," which utilizes bindgen to automatically generate the necessary Rust-to-C bindings.

  2. Updating the "Hello World" bundle by adding a RustBundle object and adding error handling mechanisms.

codecov-commenter commented 1 year ago

Codecov Report

Merging #603 (9e10867) into master (88bec1d) will increase coverage by 1.12%. Report is 6 commits behind head on master. The diff coverage is 36.36%.

:exclamation: Current head 9e10867 differs from pull request most recent head 035593f. Consider uploading reports for the commit 035593f to get more accurate results

@@            Coverage Diff             @@
##           master     #603      +/-   ##
==========================================
+ Coverage   78.56%   79.68%   +1.12%     
==========================================
  Files         260      256       -4     
  Lines       35415    34686     -729     
==========================================
- Hits        27823    27641     -182     
+ Misses       7592     7045     -547     
Files Changed Coverage Δ
libs/framework/src/bundle.c 70.76% <ø> (-0.16%) :arrow_down:
libs/framework/src/manifest_parser.c 92.85% <ø> (+60.79%) :arrow_up:
libs/framework/src/module.c 83.00% <0.00%> (+8.63%) :arrow_up:
libs/framework/src/celix_launcher.c 92.35% <100.00%> (ø)
libs/framework/src/framework.c 85.10% <100.00%> (+0.13%) :arrow_up:

... and 8 files with indirect coverage changes

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more