Files
james.maes d8617ffe01 feat(01-01): add four SPM packages with Swift 6 strict concurrency
- 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.
2026-04-22 12:21:07 -05:00

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)]
),
]
)