Closed Bug 1602756 Opened 5 years ago Closed 5 years ago

Prototype Rust API over FFI (for a-s)

Categories

(Data Platform and Tools :: Glean: SDK, enhancement, P1)

enhancement

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: janerik, Assigned: janerik)

References

Details

(Whiteboard: [telemetry:glean-rs:m11])

With the Rust API changes accepted, I want to prototype that it actually works across the FFI boundary.

Managed to implement the demo thing as an android-components service, included in the glean-sample-app.

Code available in a branch: https://github.com/mozilla-mobile/android-components/compare/master...badboy:new-glean-api

Learnings:

  • linking is hard
  • calling cargo build inside a build.rs feels hacky, but it's not much different than invoking any other build system
    • advantage: the top-level cargo takes care of the dependency resolution (and download)
  • We need a version check at runtime, to ensure a-s (or any other user) is using the version of Glean they expect
  • We need a glean-sys, that runs bindgen over the (cbindgen-generated) headers and then a "nice Rust API" on top of that
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.