- packages/Keychain — zero SPM deps (Security.framework at link time only) - packages/Logging — depends on apple/swift-log 1.5.3+; library product is named JarvisLogging to avoid collision with swift-log's own Logging module - packages/Config — depends on Keychain + Logging (product JarvisLogging) - packages/Shell — depends on Config + Logging; links AppKit, ServiceManagement, IOKit, Carbon for hotkey/launch-at-login surfaces Every target (main + test) opts into .swiftLanguageMode(.v6) per D-04 so data-race errors are compile-time failures, not warnings. Placeholder sources (one per package) plus one trivial XCTest per package per D-03 so each package builds standalone and has a passing test. Real sources land in Plan 02 (Keychain/Config/Logging) and Plan 04 (Shell). Bus/LLM/MCP/Voice/Memory packages NOT pre-created per D-01 — they arrive in their owning phases (P2/P4/P5/P6/P7) to keep rebuild scope tight.
28 lines
745 B
Swift
28 lines
745 B
Swift
// swift-tools-version:6.0
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "Logging",
|
|
platforms: [.macOS(.v13)],
|
|
products: [
|
|
.library(name: "JarvisLogging", targets: ["JarvisLogging"]),
|
|
],
|
|
dependencies: [
|
|
.package(url: "https://github.com/apple/swift-log.git", from: "1.5.3"),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "JarvisLogging",
|
|
dependencies: [
|
|
.product(name: "Logging", package: "swift-log"),
|
|
],
|
|
swiftSettings: [.swiftLanguageMode(.v6)]
|
|
),
|
|
.testTarget(
|
|
name: "JarvisLoggingTests",
|
|
dependencies: ["JarvisLogging"],
|
|
swiftSettings: [.swiftLanguageMode(.v6)]
|
|
),
|
|
]
|
|
)
|