Rust feasbility
- Dominant language
- C
- Stars
- 193
- Forks
- 99
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
# Rust Support
The Apache Celix framework is written in C and supports C++ through a header-only implementation. Another native language that is rapidly gaining popularity is Rust.
Adding Rust support to Apache Celix, ideally in the same manner as C++, would be a valuable enhancement.
# Feasibility
Whether Apache Celix can support Rust needs to be first investigated. This can be done within the misc/experimental directory. The following steps require investigation:
- [x] Starting/stopping a 'Hello World' bundle written in Rust
- [x] Registering a C service in Rust using the C or C++ Apache Celix API
- [x] Using a C service in Rust using the C or C++ Apache Celix API
- [x] Creating a minimal wrapper/binding Rust library so that native Rust can be used on a Rust BundleContext object
- [x] Creating a bundle activator Rust library without directly using the unsafe non-mangled C functions
- [ ] Creating a bundle zip from cargo (potentially using a custom cargo command) or another method
Please note that not all steps need to be completed or possible to continue with Rust support for Apache Celix. However, a more seamless integration of Rust will be more achievable if all steps are feasible.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.