We had the weekly Mobile Tech Leads meeting earlier today (US/AU
timezone). It was a fairly small group but we discussed the following:
- A recap and some follow-ups on the discussion around organization of
code between the android-components and application-services repos.
- The current plan is to organize the code for the "logins" component
into three layers:
- The core rust code, which will live in application-services.
- A minimal FFI wrapper layer to expose it to Kotlin, which will
also in application-services.
- A higher-level Kotlin layer to expose the functionality in a way
that fits nicely with the Android Components ecosystem, which
will live in
android-components.
- Once we've tried this out, and if we like it, then we'll copy that
pattern for future application-services components, and will migrate the
FxA client component to use it as well.
- We revisited the story around "dependency injection" between Rust and
Kotlin components for cross-cutting concerns such as logging and telemetry.
- Logging is the smallest and best understood instance of this
problem, so we're going to try out an approach there to see if it works,
then copy that pattern for others.
- On the Rust side we'll use the existing "log" crate, which provides
a generic interface while allowing an application to configure
its logging
backend at runtime.
- On the Kotlin side, we'll need to figure out how to plug the
android-components logging infrastructure into this Rust crate in a nice
developer-friendly way.
We came away with two action items, both falling onto @nalexander in the
first instance:
- Nick to help wrangle the publishing of the "logins" component .aar
published, to enable splitting the code between the two repositories.
- Nick to flesh out the details of our approach to logging, filing or
updating bugs as appropriate.
You can find more of the details in our running minutes doc
<https://docs.google.com/document/d/13ZqcDtmedjAykVveOlZSFYP5tWi2i6G5dCzUuHEBY0U/edit#heading=h.7e1iy7sft9mt>
.
Cheers,
Ryan
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev