2018-04-17 02:23:53 +03:00
|
|
|
website/build
|
2018-04-21 08:19:19 +03:00
|
|
|
target
|
2018-04-26 23:47:12 +03:00
|
|
|
credentials.json
|
2018-05-30 18:44:15 +03:00
|
|
|
*-engine.json
|
2018-05-31 04:20:29 +03:00
|
|
|
*.db
|
2020-04-02 06:19:09 +03:00
|
|
|
.*.swp
|
2018-09-20 01:19:32 +03:00
|
|
|
|
|
|
|
# Android stuff.
|
|
|
|
*.iml
|
|
|
|
.gradle
|
2018-09-20 01:28:41 +03:00
|
|
|
local.properties
|
2018-09-20 01:19:32 +03:00
|
|
|
.idea
|
2018-09-20 01:28:41 +03:00
|
|
|
build
|
2018-09-20 01:19:32 +03:00
|
|
|
.DS_Store
|
2018-09-20 01:28:41 +03:00
|
|
|
captures
|
2018-09-20 01:19:32 +03:00
|
|
|
.externalNativeBuild
|
2020-04-02 06:19:09 +03:00
|
|
|
.lastAutoPublishContentsHash
|
2018-12-14 00:09:12 +03:00
|
|
|
|
|
|
|
# iOS stuff.
|
|
|
|
xcuserdata
|
2019-02-06 00:44:51 +03:00
|
|
|
|
|
|
|
# Protobuf Swift
|
|
|
|
*.pb.swift
|
|
|
|
|
Restructure, UniFFI, and document the fxa-client crate. (#3876)
This is a substantial refactor of the fxa-client crate, intended to bring it
up to speed with our latest best-practices around developing cross-platform
Rust components, in order to ease ongoing maintenance.
THe core change here is that I've deleted the hand-written Kotlin and Swift
bindings, replacing them with autogenerated bindings thanks to UniFFI.
There is still a little bit of hand-written Kotlin, since we have a layer that
automatically manages persistence via a callback. There is still a nontrivial
amount of hand-written Swift, since we have a higher-level state machine built
atop the lower-level fxa-client functionality (such state-machine also exists
for Kotlin, but lives in the android-components repo). If UniFFI works out then
we should look into moving more of that logic into shared Rust code over time.
To support the introduction of UniFFI, I have restructured to Rust crate so
that its public interface deliberately parallels the interface offered to
Kotlin and Swift, and have moved the implementation details into a submodule
named `internal`. It's my opinionated belief that structuring the crate this
way will help us focus on producing a nice consumer API, which is not always
the same thing as producing a nice Rust crate.
On top of that, I've also revamped the documentation in the crate, leaning
in to the use of `cargo doc` as the source of truth for both developer-
and consumer-facing documentation. Let's consider that an experiment and
see how we like it in practice.
Unfortunately, this is a big PR, but I don't think I could have made it
too much smaller. Hopefully it will be easier to review than its size
suggests since it's mostly additions and deletions rather than complex
changes.
2021-03-09 14:34:58 +03:00
|
|
|
# UniFFI generated artifacts
|
|
|
|
components/**/ios/Generated
|
|
|
|
|
2020-09-07 14:17:35 +03:00
|
|
|
# Glean generated artifacts
|
|
|
|
megazords/ios/MozillaAppServices/Generated/Metrics.swift
|
|
|
|
megazords/ios/.venv
|
|
|
|
|
2019-04-24 22:17:15 +03:00
|
|
|
# Carthage generated artifacts
|
2019-02-06 00:44:51 +03:00
|
|
|
Carthage
|
2019-04-24 22:17:15 +03:00
|
|
|
MozillaAppServices.framework.zip
|
|
|
|
raw_xcodebuild.log
|
|
|
|
raw_xcodetest.log
|
2019-03-07 20:43:14 +03:00
|
|
|
|
|
|
|
# Generated debug symbols
|
|
|
|
crashreporter-symbols*
|
|
|
|
automation/symbols-generation/bin/
|
2020-03-06 20:54:29 +03:00
|
|
|
|
|
|
|
# Python
|
|
|
|
__pycache__
|
2020-05-27 17:30:45 +03:00
|
|
|
*.py[cod]
|
|
|
|
.Python
|
2021-04-02 18:39:37 +03:00
|
|
|
|
|
|
|
# Generated mdbook documentation files
|
|
|
|
build/docs/*
|
2021-06-25 21:01:52 +03:00
|
|
|
docs/book
|
|
|
|
|
|
|
|
# Generated rustdocs
|
|
|
|
docs/rust-docs
|