mirror of
https://github.com/garrytan/gstack.git
synced 2026-06-23 02:00:00 +02:00
9ffde24474
StateServer is loopback-only (::1 + 127.0.0.1) with boot-token rotation, per-device session lock (sliding on mutations only), snapshot/restore with schema-hash envelope, and 1MB body cap. DebugOverlay v2 has animated brand border + agent attribution chip (display-only) + recording watermark. Package.swift enforces structural Release-build exclusion via .when(configuration: .debug). Includes Tailscale ACL example doc.
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
// AUTO-GENERATED from gstack/ios-qa/templates/Package.swift.template
|
|
//
|
|
// Drop-in SPM package definition for the DebugBridge target. The structural
|
|
// Release-build guard is the `.when(configuration: .debug)` conditional on
|
|
// every target dependency. SwiftPM refuses to link DebugBridge in Release.
|
|
//
|
|
// CI invariant: `swift build -c release` + `nm -j build/Release/<binary>
|
|
// | grep -q DebugBridge && exit 1`.
|
|
|
|
// swift-tools-version:5.9
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "DebugBridge",
|
|
platforms: [.iOS(.v16), .macOS(.v13)],
|
|
products: [
|
|
.library(name: "DebugBridge", targets: ["DebugBridge"]),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "DebugBridge",
|
|
dependencies: [],
|
|
path: "Sources/DebugBridge",
|
|
swiftSettings: [
|
|
// Belt and suspenders. The host app's `.when(configuration: .debug)`
|
|
// condition on the dependency means we never link in Release. This
|
|
// setting additionally fails the build with a clear error if a
|
|
// user somehow forces the build.
|
|
.define("DEBUG", .when(configuration: .debug)),
|
|
]
|
|
),
|
|
.testTarget(
|
|
name: "DebugBridgeTests",
|
|
dependencies: ["DebugBridge"],
|
|
path: "Tests/DebugBridgeTests"
|
|
),
|
|
]
|
|
)
|