Skip to content

Commit dbbb9a6

Browse files
committed
Export PackageCollectionsSigning as library
We will add signing to [the set of collections tools](https://github.com/apple/swift-package-collection-generator), and for that we'd need `PackageCollectionsSigning`.
1 parent 5d0e191 commit dbbb9a6

File tree

1 file changed

+107
-54
lines changed

1 file changed

+107
-54
lines changed

Package.swift

Lines changed: 107 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
See http://swift.org/LICENSE.txt for license information
1010
See http://swift.org/CONTRIBUTORS.txt for Swift project authors
11-
*/
11+
*/
1212

13-
import PackageDescription
1413
import class Foundation.ProcessInfo
14+
import PackageDescription
1515

1616
// We default to a 10.10 minimum deployment target for clients of libSwiftPM,
1717
// but allow overriding it when building for a toolchain.
@@ -46,7 +46,7 @@ let package = Package(
4646
"PackageGraph",
4747
"Build",
4848
"Xcodeproj",
49-
"Workspace"
49+
"Workspace",
5050
]
5151
),
5252
.library(
@@ -62,7 +62,7 @@ let package = Package(
6262
"PackageGraph",
6363
"Build",
6464
"Xcodeproj",
65-
"Workspace"
65+
"Workspace",
6666
]
6767
),
6868
.library(
@@ -76,7 +76,7 @@ let package = Package(
7676
"PackageLoading",
7777
"PackageGraph",
7878
"Xcodeproj",
79-
"Workspace"
79+
"Workspace",
8080
]
8181
),
8282

@@ -90,11 +90,21 @@ let package = Package(
9090
type: .dynamic,
9191
targets: ["PackageDescription"]
9292
),
93-
93+
9494
.library(
9595
name: "PackageCollectionsModel",
9696
targets: ["PackageCollectionsModel"]
9797
),
98+
99+
.library(
100+
name: "SwiftPMPackageCollections",
101+
targets: [
102+
"PackageCollections",
103+
"PackageCollectionsModel",
104+
"PackageCollectionsSigning",
105+
"PackageModel",
106+
]
107+
),
98108
],
99109
targets: [
100110
// The `PackageDescription` targets define the API which is available to
@@ -106,195 +116,238 @@ let package = Package(
106116
name: "PackageDescription",
107117
swiftSettings: [
108118
.define("PACKAGE_DESCRIPTION_4_2"),
109-
]),
119+
]
120+
),
110121

111122
// MARK: SwiftPM specific support libraries
112123

113124
.target(
114125
name: "Basics",
115-
dependencies: ["SwiftToolsSupport-auto"]),
126+
dependencies: ["SwiftToolsSupport-auto"]
127+
),
116128

117129
.target(
118130
/** The llbuild manifest model */
119131
name: "LLBuildManifest",
120-
dependencies: ["SwiftToolsSupport-auto", "Basics"]),
132+
dependencies: ["SwiftToolsSupport-auto", "Basics"]
133+
),
121134

122135
.target(
123136
/** Source control operations */
124137
name: "SourceControl",
125-
dependencies: ["SwiftToolsSupport-auto", "Basics"]),
138+
dependencies: ["SwiftToolsSupport-auto", "Basics"]
139+
),
126140
.target(
127141
/** Shim for llbuild library */
128142
name: "SPMLLBuild",
129-
dependencies: ["SwiftToolsSupport-auto", "Basics"]),
143+
dependencies: ["SwiftToolsSupport-auto", "Basics"]
144+
),
130145

131146
// MARK: Project Model
132147

133148
.target(
134149
/** Primitive Package model objects */
135150
name: "PackageModel",
136-
dependencies: ["SwiftToolsSupport-auto", "Basics"]),
151+
dependencies: ["SwiftToolsSupport-auto", "Basics"]
152+
),
137153
.target(
138154
/** Package model conventions and loading support */
139155
name: "PackageLoading",
140-
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageModel", "SourceControl"]),
156+
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageModel", "SourceControl"]
157+
),
141158

142159
// MARK: Package Dependency Resolution
143160

144161
.target(
145162
/** Data structures and support for complete package graphs */
146163
name: "PackageGraph",
147-
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageLoading", "PackageModel", "SourceControl"]),
164+
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageLoading", "PackageModel", "SourceControl"]
165+
),
148166

149167
// MARK: Package Collections
150-
168+
151169
.target(
152170
/** Package collections models */
153171
name: "PackageCollectionsModel",
154-
dependencies: []),
155-
172+
dependencies: []
173+
),
174+
156175
.target(
157-
/** Package collections signing */
158-
name: "PackageCollectionsSigning",
159-
dependencies: ["PackageCollectionsModel", "Crypto", "Basics"]),
176+
/** Package collections signing */
177+
name: "PackageCollectionsSigning",
178+
dependencies: ["PackageCollectionsModel", "Crypto", "Basics"]
179+
),
160180

161181
.target(
162182
/** Data structures and support for package collections */
163183
name: "PackageCollections",
164-
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageModel", "SourceControl", "PackageCollectionsModel"]),
184+
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageModel", "SourceControl", "PackageCollectionsModel"]
185+
),
165186

166187
// MARK: Package Manager Functionality
167188

168189
.target(
169190
/** Builds Modules and Products */
170191
name: "SPMBuildCore",
171-
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageGraph"]),
192+
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageGraph"]
193+
),
172194
.target(
173195
/** Builds Modules and Products */
174196
name: "Build",
175-
dependencies: ["SwiftToolsSupport-auto", "Basics", "SPMBuildCore", "PackageGraph", "LLBuildManifest", "SwiftDriver", "SPMLLBuild"]),
197+
dependencies: ["SwiftToolsSupport-auto", "Basics", "SPMBuildCore", "PackageGraph", "LLBuildManifest", "SwiftDriver", "SPMLLBuild"]
198+
),
176199
.target(
177200
/** Support for building using Xcode's build system */
178201
name: "XCBuildSupport",
179-
dependencies: ["SPMBuildCore", "PackageGraph"]),
202+
dependencies: ["SPMBuildCore", "PackageGraph"]
203+
),
180204

181205
.target(
182206
/** Generates Xcode projects */
183207
name: "Xcodeproj",
184-
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageGraph"]),
208+
dependencies: ["SwiftToolsSupport-auto", "Basics", "PackageGraph"]
209+
),
185210
.target(
186211
/** High level functionality */
187212
name: "Workspace",
188-
dependencies: ["SwiftToolsSupport-auto", "Basics", "SPMBuildCore", "PackageGraph", "PackageModel", "SourceControl", "Xcodeproj"]),
213+
dependencies: ["SwiftToolsSupport-auto", "Basics", "SPMBuildCore", "PackageGraph", "PackageModel", "SourceControl", "Xcodeproj"]
214+
),
189215

190216
// MARK: Commands
191217

192218
.target(
193219
/** High-level commands */
194220
name: "Commands",
195-
dependencies: ["SwiftToolsSupport-auto", "Basics", "Build", "PackageGraph", "SourceControl", "Xcodeproj", "Workspace", "XCBuildSupport", "ArgumentParser", "PackageCollections"]),
221+
dependencies: ["SwiftToolsSupport-auto", "Basics", "Build", "PackageGraph", "SourceControl", "Xcodeproj", "Workspace", "XCBuildSupport", "ArgumentParser", "PackageCollections"]
222+
),
196223
.target(
197224
/** The main executable provided by SwiftPM */
198225
name: "swift-package",
199-
dependencies: ["Commands"]),
226+
dependencies: ["Commands"]
227+
),
200228
.target(
201229
/** Builds packages */
202230
name: "swift-build",
203-
dependencies: ["Commands"]),
231+
dependencies: ["Commands"]
232+
),
204233
.target(
205234
/** Runs package tests */
206235
name: "swift-test",
207-
dependencies: ["Commands"]),
236+
dependencies: ["Commands"]
237+
),
208238
.target(
209239
/** Runs an executable product */
210240
name: "swift-run",
211-
dependencies: ["Commands"]),
241+
dependencies: ["Commands"]
242+
),
212243
.target(
213244
/** Interacts with package collections */
214245
name: "swift-package-collection",
215-
dependencies: ["Commands"]),
246+
dependencies: ["Commands"]
247+
),
216248
.target(
217249
/** Shim tool to find test names on OS X */
218250
name: "swiftpm-xctest-helper",
219251
dependencies: [],
220252
linkerSettings: [
221253
.unsafeFlags(["-Xlinker", "-rpath", "-Xlinker", "@executable_path/../../../lib/swift/macosx"], .when(platforms: [.macOS])),
222-
]),
254+
]
255+
),
223256

224257
// MARK: Additional Test Dependencies
225258

226259
.target(
227260
/** SwiftPM test support library */
228261
name: "SPMTestSupport",
229-
dependencies: ["SwiftToolsSupport-auto", "Basics", "TSCTestSupport", "PackageGraph", "PackageLoading", "SourceControl", "Workspace", "Xcodeproj", "XCBuildSupport"]),
262+
dependencies: ["SwiftToolsSupport-auto", "Basics", "TSCTestSupport", "PackageGraph", "PackageLoading", "SourceControl", "Workspace", "Xcodeproj", "XCBuildSupport"]
263+
),
230264

231265
// MARK: SwiftPM tests
232266

233267
.testTarget(
234268
name: "BasicsTests",
235-
dependencies: ["Basics", "SPMTestSupport"]),
269+
dependencies: ["Basics", "SPMTestSupport"]
270+
),
236271
.testTarget(
237272
name: "BuildTests",
238-
dependencies: ["Build", "SPMTestSupport"]),
273+
dependencies: ["Build", "SPMTestSupport"]
274+
),
239275
.testTarget(
240276
name: "CommandsTests",
241-
dependencies: ["swift-build", "swift-package", "swift-test", "swift-run", "Commands", "Workspace", "SPMTestSupport"]),
277+
dependencies: ["swift-build", "swift-package", "swift-test", "swift-run", "Commands", "Workspace", "SPMTestSupport"]
278+
),
242279
.testTarget(
243280
name: "WorkspaceTests",
244-
dependencies: ["Workspace", "SPMTestSupport"]),
281+
dependencies: ["Workspace", "SPMTestSupport"]
282+
),
245283
.testTarget(
246284
name: "FunctionalTests",
247-
dependencies: ["swift-build", "swift-package", "swift-test", "PackageModel", "SPMTestSupport"]),
285+
dependencies: ["swift-build", "swift-package", "swift-test", "PackageModel", "SPMTestSupport"]
286+
),
248287
.testTarget(
249288
name: "FunctionalPerformanceTests",
250-
dependencies: ["swift-build", "swift-package", "swift-test", "SPMTestSupport"]),
289+
dependencies: ["swift-build", "swift-package", "swift-test", "SPMTestSupport"]
290+
),
251291
.testTarget(
252292
name: "PackageDescription4Tests",
253-
dependencies: ["PackageDescription"]),
293+
dependencies: ["PackageDescription"]
294+
),
254295
.testTarget(
255296
name: "SPMBuildCoreTests",
256-
dependencies: ["SPMBuildCore", "SPMTestSupport"]),
297+
dependencies: ["SPMBuildCore", "SPMTestSupport"]
298+
),
257299
.testTarget(
258300
name: "PackageLoadingTests",
259301
dependencies: ["PackageLoading", "SPMTestSupport"],
260-
exclude: ["Inputs"]),
302+
exclude: ["Inputs"]
303+
),
261304
.testTarget(
262305
name: "PackageLoadingPerformanceTests",
263-
dependencies: ["PackageLoading", "SPMTestSupport"]),
306+
dependencies: ["PackageLoading", "SPMTestSupport"]
307+
),
264308
.testTarget(
265309
name: "PackageModelTests",
266-
dependencies: ["PackageModel", "SPMTestSupport"]),
310+
dependencies: ["PackageModel", "SPMTestSupport"]
311+
),
267312
.testTarget(
268313
name: "PackageGraphTests",
269-
dependencies: ["PackageGraph", "SPMTestSupport"]),
314+
dependencies: ["PackageGraph", "SPMTestSupport"]
315+
),
270316
.testTarget(
271317
name: "PackageGraphPerformanceTests",
272-
dependencies: ["PackageGraph", "SPMTestSupport"]),
318+
dependencies: ["PackageGraph", "SPMTestSupport"]
319+
),
273320
.testTarget(
274321
name: "PackageCollectionsModelTests",
275-
dependencies: ["PackageCollectionsModel"]),
322+
dependencies: ["PackageCollectionsModel"]
323+
),
276324
.testTarget(
277325
name: "PackageCollectionsSigningTests",
278-
dependencies: ["PackageCollectionsSigning", "SPMTestSupport"]),
326+
dependencies: ["PackageCollectionsSigning", "SPMTestSupport"]
327+
),
279328
.testTarget(
280329
name: "PackageCollectionsTests",
281-
dependencies: ["PackageCollections", "SPMTestSupport"]),
330+
dependencies: ["PackageCollections", "SPMTestSupport"]
331+
),
282332
.testTarget(
283333
name: "SourceControlTests",
284-
dependencies: ["SourceControl", "SPMTestSupport"]),
334+
dependencies: ["SourceControl", "SPMTestSupport"]
335+
),
285336
.testTarget(
286337
name: "XcodeprojTests",
287-
dependencies: ["Xcodeproj", "SPMTestSupport"]),
338+
dependencies: ["Xcodeproj", "SPMTestSupport"]
339+
),
288340
.testTarget(
289341
name: "XCBuildSupportTests",
290-
dependencies: ["XCBuildSupport", "SPMTestSupport"]),
342+
dependencies: ["XCBuildSupport", "SPMTestSupport"]
343+
),
291344

292345
// Examples (These are built to ensure they stay up to date with the API.)
293346
.target(
294347
name: "package-info",
295348
dependencies: ["PackageModel", "PackageLoading", "PackageGraph", "Workspace"],
296349
path: "Examples/package-info/Sources/package-info"
297-
)
350+
),
298351
],
299352
swiftLanguageVersions: [.v5]
300353
)

0 commit comments

Comments
 (0)