// swift-tools-version:5.9 import PackageDescription // The macOS IOKit hardware collector (spec Phase 3). A *sibling* of the Rust // cargo workspace, deliberately kept OUT of it: SwiftPM and cargo do not share a // build system. This package speaks the shared wire protocol (signal-schema) and // nothing else — it is one more producer for the same daemon/schema. let package = Package( name: "macos-collector", platforms: [.macOS(.v13)], products: [ .executable(name: "macos-collector", targets: ["macos-collector"]), ], targets: [ // Wire encoder + IOKit reads, in a library so they are unit-testable. .target(name: "CollectorCore"), // Thin CLI: flags -> collect loop -> emit frames. .executableTarget(name: "macos-collector", dependencies: ["CollectorCore"]), // The cross-language wire-contract test (canonical frame bytes). .testTarget(name: "CollectorCoreTests", dependencies: ["CollectorCore"]), ] )