All checks were successful
ci / test (pull_request) Successful in 3m22s
Adds the Android product alongside the existing Linux TUI, in one repo. SDK — crates/onionwire-sdk is a UniFFI facade over the very same `onionwire` crate the TUI runs on. Identity, invite, friend upsert, send/receive, rotate and wipe all delegate; no protocol is reimplemented, so an Android peer and a Linux peer interoperate. It is its own Cargo workspace because Arti's TLS backends are non-additive: the TUI keeps native-tls (OpenSSL), Android needs rustls + static-sqlite (no OpenSSL, no system libsqlite3 in the NDK). android/ — Gradle project. :sdk produces the AAR (Kotlin bindings generated at build time + libonionwire_sdk.so via cargo-ndk), :app is a Kotlin/Compose/M3 messenger depending on :sdk only. minSdk 26, targetSdk/compileSdk 36, INTERNET-only, data in filesDir, backups excluded. Root Cargo.toml grows `native-tls` (default) and `rustls` features so exactly one Arti TLS backend is selected per build graph. The default build is unchanged: same backend, ratatui still a normal dependency, src/tui.rs untouched. Also: Store::self_fingerprint/set_petname + Node wrappers (additive only), scripts/build-android-local.sh, README sections, .gitignore for local SDK paths.
17 lines
384 B
Text
17 lines
384 B
Text
/target
|
|
/dist
|
|
/.worktrees/
|
|
|
|
# Machine-local Android build config. sdk.dir/ndk.dir are absolute paths to
|
|
# whatever the developer has installed — never commit them.
|
|
/.android-env.sh
|
|
android/local.properties
|
|
|
|
# Gradle / Android build output
|
|
android/.gradle/
|
|
android/build/
|
|
android/app/build/
|
|
android/sdk/build/
|
|
|
|
# Rust: the SDK is its own Cargo workspace
|
|
crates/onionwire-sdk/target/
|