git-subtree-dir: CalendarrKit git-subtree-mainline:8bc32faa7fgit-subtree-split:9ea1a8705d
38 lines
1.4 KiB
Swift
38 lines
1.4 KiB
Swift
// swift-tools-version: 6.0
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "CalendarrKit",
|
|
platforms: [
|
|
.iOS(.v17),
|
|
// String form, not `.v26`: that enum case needs PackageDescription 6.2,
|
|
// and raising swift-tools-version for one constant would change
|
|
// defaults across the whole manifest.
|
|
.watchOS("26.0"),
|
|
.macOS(.v14),
|
|
.macCatalyst(.v17),
|
|
],
|
|
products: [
|
|
// Foundation only — deliberately no SwiftUI, no UIKit, no AppKit, so it
|
|
// compiles for iOS, Mac Catalyst and native macOS from one source.
|
|
.library(name: "CalendarrCore", targets: ["CalendarrCore"]),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "CalendarrCore",
|
|
// Matches the apps, which build in Swift 5 language mode. Note that
|
|
// this package deliberately does NOT set defaultIsolation(MainActor),
|
|
// even though the Calendarr iOS app target does: the widget extension
|
|
// and the read-only consumer app have no MainActor default, and making
|
|
// the package MainActor-by-default would force `await` at every
|
|
// SnapshotStore.read() call site.
|
|
swiftSettings: [.swiftLanguageMode(.v5)]
|
|
),
|
|
.testTarget(
|
|
name: "CalendarrCoreTests",
|
|
dependencies: ["CalendarrCore"],
|
|
swiftSettings: [.swiftLanguageMode(.v5)]
|
|
),
|
|
]
|
|
)
|