apache / apache/celix

Rust feasbility

Open
#599 0 comments 1 reaction 1 assignee Claimed by @pnoltes View on GitHub
kind/experimental kind/feature
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.