Repository navigation
Expand file tree
/
Copy pathPackage.swift
More file actions
69 lines (63 loc) · 2.29 KB
/
Copy pathPackage.swift
File metadata and controls
69 lines (63 loc) · 2.29 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// swift-tools-version: 6.4
// swiftlint:disable explicit_acl explicit_top_level_acl
import PackageDescription
// MARK: - Swift Settings Configuration
let swiftSettings: [SwiftSetting] = [
// Swift 6.2 Upcoming Features (not yet enabled by default)
// SE-0335: Introduce existential `any`
.enableUpcomingFeature("ExistentialAny"),
// SE-0409: Access-level modifiers on import declarations
.enableUpcomingFeature("InternalImportsByDefault"),
// SE-0444: Member import visibility (Swift 6.1+)
.enableUpcomingFeature("MemberImportVisibility"),
// SE-0413: Typed throws
.enableUpcomingFeature("FullTypedThrows"),
]
let package = Package(
name: "MistKitConfiguration",
platforms: [
.macOS(.v15),
.iOS(.v18),
.tvOS(.v18),
.watchOS(.v11),
.visionOS(.v2),
],
products: [
.library(name: "MistKitConfiguration", targets: ["MistKitConfiguration"])
],
dependencies: [
// The monorepo copy of this manifest carries `.package(name: "MistKit", path: "../..")`
// instead. That overlay is required there: a `path:` package takes its identity from
// the directory name, so pairing it with a sibling that depends on MistKit by `url:`
// makes SwiftPM resolve two distinct packages and fail with "multiple similar targets
// 'MistKit', 'MistKitOpenAPI'". Standalone there is no such sibling, so this uses the
// tagged release — which is also what makes a tag of this package usable downstream.
.package(url: "https://github.com/brightdigit/MistKit.git", from: "1.0.0-beta.4"),
.package(
url: "https://github.com/brightdigit/ConfigKeyKit.git",
from: "1.0.0-beta.3"
),
.package(
url: "https://github.com/apple/swift-configuration.git",
from: "1.0.0",
traits: ["CommandLineArguments"]
),
],
targets: [
.target(
name: "MistKitConfiguration",
dependencies: [
.product(name: "MistKit", package: "MistKit"),
.product(name: "ConfigKeyKit", package: "ConfigKeyKit"),
.product(name: "Configuration", package: "swift-configuration"),
],
swiftSettings: swiftSettings
),
.testTarget(
name: "MistKitConfigurationTests",
dependencies: ["MistKitConfiguration"],
swiftSettings: swiftSettings
),
]
)
// swiftlint:enable explicit_acl explicit_top_level_acl