field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | LICENSE

commit a741b7cab63983c0e58ebc99500bb3c81976c1c6
parent be7593e1e34711a0deebe40d135421784c7cd805
Author: triesap <tyson@radroots.org>
Date:   Sun, 15 Feb 2026 19:59:31 +0000

build: repoint RadrootsCore ffi sources

- update RadrootsCore Cargo workspace dependency for radroots-app-ffi-swift
- align ios wrapper make targets with the shared ffi source layout
- refresh RadrootsCore README build paths and dependency wording
- verify with cargo metadata on RadrootsCore manifest

Diffstat:
MMakefile | 2+-
MRadrootsCore/Cargo.toml | 2+-
MRadrootsCore/Makefile | 12+++++-------
MRadrootsCore/README.md | 7++++---
4 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,4 +1,4 @@ -WRAPPER_ROOT := $(CURDIR)/RadrootsCore +WRAPPER_ROOT := RadrootsCore .PHONY: all clean build generate package bindings diff --git a/RadrootsCore/Cargo.toml b/RadrootsCore/Cargo.toml @@ -11,4 +11,4 @@ description = "radroots ios rust wrapper manifest" resolver = "2" [workspace.dependencies] -radroots-app-ffi-swift = { path = "../../crates/app-ffi-swift" } +radroots-app-ffi-swift = { path = "../../../../../../foundation/oss/rs/crates/app-ffi-swift" } diff --git a/RadrootsCore/Makefile b/RadrootsCore/Makefile @@ -1,14 +1,12 @@ CRATE := radroots-app-ffi-swift -WRAPPER_ROOT := $(CURDIR) -IOS_ROOT := $(abspath $(WRAPPER_ROOT)/..) -CRATES_ROOT := $(abspath $(WRAPPER_ROOT)/../../crates) +CRATES_ROOT := ../../../../../../foundation/oss/rs/crates FFI_MANIFEST := $(CRATES_ROOT)/app-ffi-swift/Cargo.toml -RUST_TARGET_DIR := $(WRAPPER_ROOT)/target +RUST_TARGET_DIR := target OUTDIR := $(RUST_TARGET_DIR)/xcframework -CARGO_FFI := cd $(WRAPPER_ROOT) && CARGO_TARGET_DIR=$(RUST_TARGET_DIR) cargo +CARGO_FFI := CARGO_TARGET_DIR=$(RUST_TARGET_DIR) cargo -FRAMEWORK_DEST := $(IOS_ROOT)/RadrootsKit/Artifacts -GENERATED_SWIFT := $(IOS_ROOT)/RadrootsKit/Sources/RadrootsKit/Generated +FRAMEWORK_DEST := ../RadrootsKit/Artifacts +GENERATED_SWIFT := ../RadrootsKit/Sources/RadrootsKit/Generated CONFIG_PATH := $(CRATES_ROOT)/app-ffi-swift/uniffi.toml LIB_DEV := $(RUST_TARGET_DIR)/aarch64-apple-ios/release/libradroots_app_ffi_swift.a diff --git a/RadrootsCore/README.md b/RadrootsCore/README.md @@ -3,16 +3,17 @@ `ios/RadrootsCore` is the iOS Rust wrapper for the shared Swift FFI crate. ## Source of truth -- `../../crates/app-ffi-swift` (built via `--manifest-path`) +- `../../../../../../foundation/oss/rs/crates/app-ffi-swift` (built via `--manifest-path`) +- the transitive `radroots-*` crate graph resolves through that vendor workspace, where those crates use `workspace = true` ## Dependency pattern -- Keep `radroots-app-ffi-swift` in `[workspace.dependencies]` with a local `path` during development. +- Keep `radroots-app-ffi-swift` in `[workspace.dependencies]` with a monorepo-relative `path`. - Switch this to a crates.io version later without changing the make/build flow. - Do not link `radroots-app-ffi-swift` as a Rust `[dependencies]` crate in this wrapper. ## Build flow Run `make -C ios` (or `make -C ios/RadrootsCore`) to: -- build from `../../crates/app-ffi-swift/Cargo.toml` +- build from `../../../../../../foundation/oss/rs/crates/app-ffi-swift/Cargo.toml` - write Rust build artifacts under `ios/RadrootsCore/target` - generate UniFFI Swift bindings - package `RadrootsFFI.xcframework` into `ios/RadrootsKit/Artifacts`