menubar-pet/Package.swift
24 lines · 967 bytes
1// swift-tools-version:5.9
2import PackageDescription
3
4// The menu-bar face. A *sibling* of the cargo workspace and of macos-collector,
5// for the same reason: SwiftPM and cargo do not share a build system.
6//
7// This package holds no logic worth testing. Ageing, death and the cemetery all
8// live in the `pet-life` Rust crate, which this app runs on a timer and draws.
9// Keeping it that way is deliberate — the logic belongs where the test suite
10// and the privacy gate are.
11let package = Package(
12 name: "menubar-pet",
13 platforms: [.macOS(.v13)],
14 products: [
15 .executable(name: "menubar-pet", targets: ["menubar-pet"]),
16 ],
17 targets: [
18 // The contract with pet-life, in a library so it can be tested.
19 .target(name: "PetKit"),
20 // Thin app: status item, timer, menu.
21 .executableTarget(name: "menubar-pet", dependencies: ["PetKit"]),
22 .testTarget(name: "PetKitTests", dependencies: ["PetKit"]),
23 ]
24)