-
-
Notifications
You must be signed in to change notification settings - Fork 35
/
Package.swift
127 lines (122 loc) · 3.8 KB
/
Package.swift
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// swift-tools-version: 6.0
import CompilerPluginSupport
import PackageDescription
let package = Package(
name: "Verge",
platforms: [
.macOS(.v11),
.iOS(.v13),
.tvOS(.v13),
.watchOS(.v6),
],
products: [
.library(name: "Verge", targets: ["Verge"]),
.library(name: "VergeTiny", targets: ["VergeTiny"]),
.library(name: "VergeNormalization", targets: ["VergeNormalization"]),
.library(name: "VergeNormalizationDerived", targets: ["VergeNormalizationDerived"]),
.library(name: "VergeRx", targets: ["VergeRx"]),
.library(name: "VergeClassic", targets: ["VergeClassic"]),
.library(name: "VergeMacros", targets: ["VergeMacros"]),
],
dependencies: [
.package(url: "https://github.com/ReactiveX/RxSwift.git", from: "6.0.0"),
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.0.2"),
.package(url: "https://github.com/apple/swift-collections", from: "1.1.0"),
.package(url: "https://github.com/VergeGroup/swift-concurrency-task-manager", from: "1.1.0"),
/// for testing
.package(url: "https://github.com/nalexn/ViewInspector.git", from: "0.10.0"),
.package(url: "https://github.com/apple/swift-syntax.git", from: "600.0.0"),
.package(url: "https://github.com/pointfreeco/swift-macro-testing.git", from: "0.2.1")
],
targets: [
// compiler plugin
.macro(
name: "VergeMacrosPlugin",
dependencies: [
.product(name: "SwiftSyntaxMacros", package: "swift-syntax"),
.product(name: "SwiftCompilerPlugin", package: "swift-syntax"),
]
),
// macro exports
.target(name: "VergeMacros", dependencies: ["VergeMacrosPlugin"]),
.target(name: "VergeTiny", dependencies: []),
.target(name: "VergeComparator"),
.target(
name: "Verge",
dependencies: [
"VergeMacros",
"VergeComparator",
.product(name: "Atomics", package: "swift-atomics"),
.product(name: "DequeModule", package: "swift-collections"),
.product(name: "ConcurrencyTaskManager", package: "swift-concurrency-task-manager"),
]
),
.target(
name: "VergeClassic",
dependencies: [
"VergeRx"
]
),
.target(name: "VergeTypedIdentifier"),
.target(
name: "VergeNormalization",
dependencies: [
"VergeMacros",
"VergeComparator",
"VergeTypedIdentifier",
.product(name: "HashTreeCollections", package: "swift-collections"),
]
),
.target(
name: "VergeNormalizationDerived",
dependencies: [
"Verge",
"VergeNormalization",
.product(name: "HashTreeCollections", package: "swift-collections"),
]
),
.target(
name: "VergeRx",
dependencies: [
"Verge",
.product(name: "RxSwift", package: "RxSwift"),
.product(name: "RxCocoa", package: "RxSwift"),
]
),
.testTarget(
name: "VergeClassicTests",
dependencies: ["VergeClassic"]
),
.testTarget(
name: "VergeNormalizationTests",
dependencies: ["VergeNormalization"]
),
.testTarget(
name: "VergeNormalizationDerivedTests",
dependencies: ["VergeNormalizationDerived"]
),
.testTarget(
name: "VergeRxTests",
dependencies: ["VergeRx", "VergeClassic"]
),
.testTarget(
name: "VergeTests",
dependencies: ["Verge", "ViewInspector"],
swiftSettings: [
.enableExperimentalFeature("StrictConcurrency")
]
),
.testTarget(
name: "VergeTinyTests",
dependencies: ["VergeTiny"]
),
.testTarget(
name: "VergeMacrosTests",
dependencies: [
"VergeMacrosPlugin",
.product(name: "SwiftSyntaxMacrosTestSupport", package: "swift-syntax"),
.product(name: "MacroTesting", package: "swift-macro-testing"),
]),
],
swiftLanguageModes: [.v6]
)