Skip to content

Commit 3a58d6a

Browse files
xedinfurby-tm
authored andcommitted
Remove all extraneous uses of provided libraries throughout code base
Only workspace and PubGrub dependency resolver need to know about provided libraries. Post-resolution everything acts based on managed dependencies and package identifiers.
1 parent 1d2c742 commit 3a58d6a

File tree

14 files changed

+12
-95
lines changed

14 files changed

+12
-95
lines changed

Sources/Commands/PackageCommands/EditCommands.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ extension SwiftPackageCommand {
7474
packageName: packageName,
7575
forceRemove: shouldForceRemove,
7676
root: swiftCommandState.getWorkspaceRoot(),
77-
availableLibraries: swiftCommandState.getHostToolchain().providedLibraries,
7877
observabilityScope: swiftCommandState.observabilityScope
7978
)
8079
}

Sources/CoreCommands/SwiftCommandState.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,6 @@ package final class SwiftCommandState {
607607
explicitProduct: explicitProduct,
608608
forceResolvedVersions: options.resolver.forceResolvedVersions,
609609
testEntryPointPath: testEntryPointPath,
610-
availableLibraries: self.getHostToolchain().providedLibraries,
611610
observabilityScope: self.observabilityScope
612611
)
613612

Sources/PackageGraph/ModulesGraph.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,6 @@ public func loadModulesGraph(
490490
shouldCreateMultipleTestProducts: shouldCreateMultipleTestProducts,
491491
createREPLProduct: createREPLProduct,
492492
customXCTestMinimumDeploymentTargets: customXCTestMinimumDeploymentTargets,
493-
availableLibraries: [],
494493
fileSystem: fileSystem,
495494
observabilityScope: observabilityScope
496495
)

Sources/PackageGraph/ProvidedLibraryPackageContainer.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ public struct ProvidedLibraryPackageContainer: PackageContainer {
4646
}
4747

4848
public func toolsVersion(for version: Version) throws -> ToolsVersion {
49-
.v6_0
49+
.v4
5050
}
5151

5252
public func toolsVersionsAppropriateVersionsDescending() throws -> [Version] {
5353
return try versionsDescending()
5454
}
5555

5656
public func versionsAscending() throws -> [Version] {
57-
[] // TODO
57+
[]
5858
}
5959

6060
public func getDependencies(at version: Version, productFilter: ProductFilter) throws -> [PackageContainerConstraint] {

Sources/PackageGraph/Resolution/PubGrub/ContainerProvider.swift

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,9 @@ final class ContainerProvider {
115115
}
116116

117117
/// Starts prefetching the given containers.
118-
func prefetch(containers identifiers: [PackageReference], availableLibraries: [ProvidedLibrary]) {
119-
let filteredIdentifiers = identifiers.filter {
120-
$0.matchingPrebuiltLibrary(in: availableLibraries) == nil
121-
}
118+
func prefetch(containers identifiers: [PackageReference]) {
122119
// Process each container.
123-
for identifier in filteredIdentifiers {
120+
for identifier in identifiers {
124121
var needsFetching = false
125122
self.prefetches.memoize(identifier) {
126123
let group = DispatchGroup()

Sources/PackageGraph/Resolution/PubGrub/PubGrubDependencyResolver.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public struct PubGrubDependencyResolver {
203203
let pins = self.pins.values
204204
.map(\.packageRef)
205205
.filter { !inputs.overriddenPackages.keys.contains($0) }
206-
self.provider.prefetch(containers: pins, availableLibraries: self.availableLibraries)
206+
self.provider.prefetch(containers: pins)
207207
}
208208

209209
let state = State(root: root, overriddenPackages: inputs.overriddenPackages)
@@ -500,8 +500,9 @@ public struct PubGrubDependencyResolver {
500500

501501
// initiate prefetch of known packages that will be used to make the decision on the next step
502502
self.provider.prefetch(
503-
containers: state.solution.undecided.map(\.node.package),
504-
availableLibraries: self.availableLibraries
503+
containers: state.solution.undecided.map(\.node.package).filter {
504+
$0.matchingPrebuiltLibrary(in: self.availableLibraries) == nil
505+
}
505506
)
506507

507508
// If decision making determines that no more decisions are to be

Sources/SPMTestSupport/MockWorkspace.swift

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,6 @@ package final class MockWorkspace {
368368
packageName: packageName,
369369
forceRemove: forceRemove,
370370
root: rootInput,
371-
availableLibraries: [], // assume no provided libraries for testing.
372371
observabilityScope: observability.topScope
373372
)
374373
}
@@ -467,7 +466,6 @@ package final class MockWorkspace {
467466
let graph = try workspace.loadPackageGraph(
468467
rootInput: rootInput,
469468
forceResolvedVersions: forceResolvedVersions,
470-
availableLibraries: [], // assume no provided libraries for testing.
471469
expectedSigningEntities: expectedSigningEntities,
472470
observabilityScope: observability.topScope
473471
)
@@ -506,7 +504,6 @@ package final class MockWorkspace {
506504
try workspace.loadPackageGraph(
507505
rootInput: rootInput,
508506
forceResolvedVersions: forceResolvedVersions,
509-
availableLibraries: [], // assume no provided libraries for testing.
510507
observabilityScope: observability.topScope
511508
)
512509
}
@@ -532,7 +529,6 @@ package final class MockWorkspace {
532529

533530
let dependencyManifests = try workspace.loadDependencyManifests(
534531
root: root,
535-
availableLibraries: [], // assume no provided libraries for testing.
536532
observabilityScope: observability.topScope
537533
)
538534

@@ -541,7 +537,6 @@ package final class MockWorkspace {
541537
dependencyManifests: dependencyManifests,
542538
pinsStore: pinsStore,
543539
constraints: [],
544-
availableLibraries: [], // assume no provided libraries for testing.
545540
observabilityScope: observability.topScope
546541
)
547542

@@ -752,7 +747,6 @@ package final class MockWorkspace {
752747
let graphRoot = PackageGraphRoot(input: rootInput, manifests: rootManifests, observabilityScope: observability.topScope)
753748
let manifests = try workspace.loadDependencyManifests(
754749
root: graphRoot,
755-
availableLibraries: [], // assume no provided libraries for testing.
756750
observabilityScope: observability.topScope
757751
)
758752
result(manifests, observability.diagnostics)

Sources/Workspace/Workspace+Dependencies.swift

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ extension Workspace {
5858
root: PackageGraphRootInput,
5959
packages: [String] = [],
6060
dryRun: Bool = false,
61-
availableLibraries: [ProvidedLibrary],
6261
observabilityScope: ObservabilityScope
6362
) throws -> [(PackageReference, Workspace.PackageStateChange)]? {
6463
let start = DispatchTime.now()
@@ -89,7 +88,6 @@ extension Workspace {
8988
)
9089
let currentManifests = try self.loadDependencyManifests(
9190
root: graphRoot,
92-
availableLibraries: availableLibraries,
9391
observabilityScope: observabilityScope
9492
)
9593

@@ -124,7 +122,6 @@ extension Workspace {
124122
// Resolve the dependencies.
125123
let resolver = try self.createResolver(
126124
pins: pins,
127-
availableLibraries: availableLibraries,
128125
observabilityScope: observabilityScope
129126
)
130127
self.activeResolver = resolver
@@ -167,7 +164,6 @@ extension Workspace {
167164
// Load the updated manifests.
168165
let updatedDependencyManifests = try self.loadDependencyManifests(
169166
root: graphRoot,
170-
availableLibraries: availableLibraries,
171167
observabilityScope: observabilityScope
172168
)
173169
// If we have missing packages, something is fundamentally wrong with the resolution of the graph
@@ -201,7 +197,6 @@ extension Workspace {
201197
func _resolve(
202198
root: PackageGraphRootInput,
203199
explicitProduct: String?,
204-
availableLibraries: [ProvidedLibrary],
205200
resolvedFileStrategy: ResolvedFileStrategy,
206201
observabilityScope: ObservabilityScope
207202
) throws -> DependencyManifests {
@@ -217,7 +212,6 @@ extension Workspace {
217212
return try self._resolveBasedOnResolvedVersionsFile(
218213
root: root,
219214
explicitProduct: explicitProduct,
220-
availableLibraries: availableLibraries,
221215
observabilityScope: observabilityScope
222216
)
223217
case .update(let forceResolution):
@@ -254,7 +248,6 @@ extension Workspace {
254248
let (manifests, precomputationResult) = try self.tryResolveBasedOnResolvedVersionsFile(
255249
root: root,
256250
explicitProduct: explicitProduct,
257-
availableLibraries: availableLibraries,
258251
observabilityScope: observabilityScope
259252
)
260253
switch precomputationResult {
@@ -278,7 +271,6 @@ extension Workspace {
278271
return try self.resolveAndUpdateResolvedFile(
279272
root: root,
280273
explicitProduct: explicitProduct,
281-
availableLibraries: availableLibraries,
282274
forceResolution: forceResolution,
283275
constraints: [],
284276
observabilityScope: observabilityScope
@@ -305,13 +297,11 @@ extension Workspace {
305297
func _resolveBasedOnResolvedVersionsFile(
306298
root: PackageGraphRootInput,
307299
explicitProduct: String?,
308-
availableLibraries: [ProvidedLibrary],
309300
observabilityScope: ObservabilityScope
310301
) throws -> DependencyManifests {
311302
let (manifests, precomputationResult) = try self.tryResolveBasedOnResolvedVersionsFile(
312303
root: root,
313304
explicitProduct: explicitProduct,
314-
availableLibraries: availableLibraries,
315305
observabilityScope: observabilityScope
316306
)
317307
switch precomputationResult {
@@ -344,7 +334,6 @@ extension Workspace {
344334
fileprivate func tryResolveBasedOnResolvedVersionsFile(
345335
root: PackageGraphRootInput,
346336
explicitProduct: String?,
347-
availableLibraries: [ProvidedLibrary],
348337
observabilityScope: ObservabilityScope
349338
) throws -> (DependencyManifests, ResolutionPrecomputationResult) {
350339
// Ensure the cache path exists.
@@ -371,7 +360,6 @@ extension Workspace {
371360
return try (
372361
self.loadDependencyManifests(
373362
root: graphRoot,
374-
availableLibraries: availableLibraries,
375363
observabilityScope: observabilityScope
376364
),
377365
.notRequired
@@ -464,7 +452,6 @@ extension Workspace {
464452
let currentManifests = try self.loadDependencyManifests(
465453
root: graphRoot,
466454
automaticallyAddManagedDependencies: true,
467-
availableLibraries: availableLibraries,
468455
observabilityScope: observabilityScope
469456
)
470457

@@ -479,7 +466,6 @@ extension Workspace {
479466
dependencyManifests: currentManifests,
480467
pinsStore: pinsStore,
481468
constraints: [],
482-
availableLibraries: availableLibraries,
483469
observabilityScope: observabilityScope
484470
)
485471

@@ -496,7 +482,6 @@ extension Workspace {
496482
func resolveAndUpdateResolvedFile(
497483
root: PackageGraphRootInput,
498484
explicitProduct: String? = nil,
499-
availableLibraries: [ProvidedLibrary],
500485
forceResolution: Bool,
501486
constraints: [PackageContainerConstraint],
502487
observabilityScope: ObservabilityScope
@@ -524,7 +509,6 @@ extension Workspace {
524509
)
525510
let currentManifests = try self.loadDependencyManifests(
526511
root: graphRoot,
527-
availableLibraries: availableLibraries,
528512
observabilityScope: observabilityScope
529513
)
530514
guard !observabilityScope.errorsReported else {
@@ -561,7 +545,6 @@ extension Workspace {
561545
dependencyManifests: currentManifests,
562546
pinsStore: pinsStore,
563547
constraints: constraints,
564-
availableLibraries: availableLibraries,
565548
observabilityScope: observabilityScope
566549
)
567550

@@ -597,7 +580,6 @@ extension Workspace {
597580
// Perform dependency resolution.
598581
let resolver = try self.createResolver(
599582
pins: pinsStore.pins,
600-
availableLibraries: availableLibraries,
601583
observabilityScope: observabilityScope
602584
)
603585
self.activeResolver = resolver
@@ -628,7 +610,6 @@ extension Workspace {
628610
// Update the pinsStore.
629611
let updatedDependencyManifests = try self.loadDependencyManifests(
630612
root: graphRoot,
631-
availableLibraries: availableLibraries,
632613
observabilityScope: observabilityScope
633614
)
634615
// If we still have missing packages, something is fundamentally wrong with the resolution of the graph
@@ -850,7 +831,6 @@ extension Workspace {
850831
dependencyManifests: DependencyManifests,
851832
pinsStore: PinsStore,
852833
constraints: [PackageContainerConstraint],
853-
availableLibraries: [ProvidedLibrary],
854834
observabilityScope: ObservabilityScope
855835
) throws -> ResolutionPrecomputationResult {
856836
let computedConstraints =
@@ -867,7 +847,7 @@ extension Workspace {
867847
let resolver = PubGrubDependencyResolver(
868848
provider: precomputationProvider,
869849
pins: pinsStore.pins,
870-
availableLibraries: availableLibraries,
850+
availableLibraries: self.providedLibraries,
871851
observabilityScope: observabilityScope
872852
)
873853
let result = resolver.solve(constraints: computedConstraints)
@@ -1145,7 +1125,6 @@ extension Workspace {
11451125
/// Creates resolver for the workspace.
11461126
fileprivate func createResolver(
11471127
pins: PinsStore.Pins,
1148-
availableLibraries: [ProvidedLibrary],
11491128
observabilityScope: ObservabilityScope
11501129
) throws -> PubGrubDependencyResolver {
11511130
var delegate: DependencyResolverDelegate
@@ -1162,7 +1141,7 @@ extension Workspace {
11621141
return PubGrubDependencyResolver(
11631142
provider: packageContainerProvider,
11641143
pins: pins,
1165-
availableLibraries: availableLibraries,
1144+
availableLibraries: self.providedLibraries,
11661145
skipDependenciesUpdates: self.configuration.skipDependenciesUpdates,
11671146
prefetchBasedOnResolvedFile: self.configuration.prefetchBasedOnResolvedFile,
11681147
observabilityScope: observabilityScope,

Sources/Workspace/Workspace+Editing.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ extension Workspace {
173173
dependency: ManagedDependency,
174174
forceRemove: Bool,
175175
root: PackageGraphRootInput? = nil,
176-
availableLibraries: [ProvidedLibrary],
177176
observabilityScope: ObservabilityScope
178177
) throws {
179178
// Compute if we need to force remove.
@@ -238,7 +237,6 @@ extension Workspace {
238237
try self._resolve(
239238
root: root,
240239
explicitProduct: .none,
241-
availableLibraries: availableLibraries,
242240
resolvedFileStrategy: .update(forceResolution: false),
243241
observabilityScope: observabilityScope
244242
)

0 commit comments

Comments
 (0)