Whisker build orchestration.
Cross-platform cargo + gradle + xcodebuild invocation, shared by
whisker-dev-server's Tier 2 cold rebuild path, the cli, and the
whisker-build binary that gradle / xcodebuild call into during
whisker run.
Public surface
- [
Profile] — Debug / Release selector. - [
capture] — Tier 1 hot-patch capture shim wiring (rustc / linker workspace wrappers + cache dirs + env-var assembly). Consumed by the dev-server's Tier 2 fat build (capture: Some) and the xcodebuild Build Phase path (capture: None). - [
android] — NDK toolchain resolution,cargo rustc --crate-type dylib, jniLibs staging,gradle assemble{Debug,Release}. - [
ios] —cargo rustcper iOS triple, lipo of simulator slices,WhiskerDriver.xcframeworkassembly,xcodebuildfor the generated app project. - [
modules] — discover[package.metadata.whisker]deps viacargo metadataand resolve per-platform source contributions the host build needs to stage.
No Lynx fetcher anymore. iOS resolves the four Lynx xcframeworks
via SPM binaryTarget(url:checksum:) in platforms/ios/Package. swift; Android pulls rs.whisker:lynx-android:<ver> from the
whiskerrs.github.io/lynx/maven repository transitively via the
SDK pom. No ~/.cache/whisker/lynx/ directory is ever written.
Sync-only API. Dev-server callers wrap invocations in
tokio::task::spawn_blocking; the cli runs them directly.