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