-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage.swift
More file actions
54 lines (53 loc) · 2.22 KB
/
Copy pathPackage.swift
File metadata and controls
54 lines (53 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// swift-tools-version:6.0
// Stille Post — lokale Diktier-App (Whisper-STT + LLM-Textbereinigung), Ersatz für OpenWhispr.
// Aufbau:
// StillePostCore — die gesamte Logik ohne GUI (Aufnahme, VAD, Whisper, Ollama, Verlauf).
// Bewusst getrennt, damit CLI und Tests dieselbe Logik nutzen wie die App.
// StillePost — die Menüleisten-App (Hotkey, Overlay, Verlaufsfenster).
// stillepost-cli — Headless-Zugang für Tests und AI-Agenten (transcribe/cleanup/doctor/history).
import PackageDescription
let package = Package(
name: "StillePost",
defaultLocalization: "de",
platforms: [
// Untergrenze macOS 13: SMAppService (Login-Item) und die
// Settings-Form-APIs (.formStyle/LabeledContent) brauchen Ventura.
.macOS(.v13)
],
dependencies: [
// Exakt pinnen: Ein Updater läuft mit hohen Rechten im Installationspfad.
// Versionssprünge werden deshalb bewusst geprüft statt still übernommen.
.package(url: "https://github.com/sparkle-project/Sparkle", exact: "2.9.4")
],
targets: [
.target(
name: "StillePostCore",
resources: [.process("Resources")],
swiftSettings: [.swiftLanguageMode(.v5)]
),
.executableTarget(
name: "StillePost",
dependencies: [
"StillePostCore",
.product(name: "Sparkle", package: "Sparkle")
],
swiftSettings: [.swiftLanguageMode(.v5)],
linkerSettings: [
// Das Release-Skript legt Sparkle im üblichen App-Bundle-Ordner ab.
// SwiftPM ergänzt für Binär-Targets nur @loader_path (neben dem
// Executable); diesen Bundle-rpath müssen wir daher selbst setzen.
.unsafeFlags(["-Xlinker", "-rpath", "-Xlinker", "@loader_path/../Frameworks"])
]
),
.executableTarget(
name: "stillepost-cli",
dependencies: ["StillePostCore"],
swiftSettings: [.swiftLanguageMode(.v5)]
),
.testTarget(
name: "StillePostCoreTests",
dependencies: ["StillePostCore"],
swiftSettings: [.swiftLanguageMode(.v5)]
),
]
)