40 lines
1.5 KiB
Swift
40 lines
1.5 KiB
Swift
// swift-tools-version: 6.2
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "EdisonVoice",
|
|
platforms: [.macOS(.v26)],
|
|
dependencies: [
|
|
// Parakeet TDT as CoreML on the Neural Engine, via FluidAudio. Optional at runtime —
|
|
// Apple's SpeechTranscriber remains the default and needs no dependency at all.
|
|
.package(url: "https://github.com/FluidInference/FluidAudio.git", from: "0.15.6")
|
|
],
|
|
targets: [
|
|
// Reusable, UI-free core: speech engines, formatting, dictionary, capture, hotkey,
|
|
// injection, settings, permissions. Kept as its own target so it can be split into a
|
|
// shared package later with a directory move and one dependency line.
|
|
.target(
|
|
name: "EdisonCore",
|
|
dependencies: [
|
|
.product(name: "FluidAudio", package: "FluidAudio"),
|
|
],
|
|
path: "Sources/EdisonCore",
|
|
swiftSettings: [.swiftLanguageMode(.v6)]
|
|
),
|
|
// The menu-bar app: entry point, menu, settings window, HUD, file transcription.
|
|
.executableTarget(
|
|
name: "EdisonVoice",
|
|
dependencies: ["EdisonCore"],
|
|
path: "Sources/EdisonVoice",
|
|
swiftSettings: [.swiftLanguageMode(.v6)]
|
|
),
|
|
.testTarget(
|
|
name: "EdisonCoreTests",
|
|
dependencies: ["EdisonCore"],
|
|
path: "Tests/EdisonCoreTests",
|
|
resources: [.copy("dictionary-test-vectors.json")],
|
|
swiftSettings: [.swiftLanguageMode(.v6)]
|
|
),
|
|
]
|
|
)
|