Skip to content

Commit 6f12e54

Browse files
committed
[PackageGraph] Remove uses of availableLibraries from ModulesGraph.load and related methods
1 parent 3f9587c commit 6f12e54

File tree

4 files changed

+18
-30
lines changed

4 files changed

+18
-30
lines changed

Sources/PackageGraph/ModulesGraph+Loading.swift

+18-27
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ extension ModulesGraph {
3232
customPlatformsRegistry: PlatformRegistry? = .none,
3333
customXCTestMinimumDeploymentTargets: [PackageModel.Platform: PlatformVersion]? = .none,
3434
testEntryPointPath: AbsolutePath? = nil,
35-
availableLibraries: [LibraryMetadata],
3635
fileSystem: FileSystem,
3736
observabilityScope: ObservabilityScope
3837
) throws -> ModulesGraph {
@@ -160,7 +159,6 @@ extension ModulesGraph {
160159
unsafeAllowedPackages: unsafeAllowedPackages,
161160
platformRegistry: customPlatformsRegistry ?? .default,
162161
platformVersionProvider: platformVersionProvider,
163-
availableLibraries: availableLibraries,
164162
fileSystem: fileSystem,
165163
observabilityScope: observabilityScope
166164
)
@@ -250,7 +248,6 @@ private func createResolvedPackages(
250248
unsafeAllowedPackages: Set<PackageReference>,
251249
platformRegistry: PlatformRegistry,
252250
platformVersionProvider: PlatformVersionProvider,
253-
availableLibraries: [LibraryMetadata],
254251
fileSystem: FileSystem,
255252
observabilityScope: ObservabilityScope
256253
) throws -> [ResolvedPackage] {
@@ -529,32 +526,26 @@ private func createResolvedPackages(
529526
t.name != productRef.name
530527
}
531528

532-
let identitiesAvailableInSDK = availableLibraries.flatMap { $0.identities.map { $0.identity } }
533-
// TODO: Do we have to care about "name" vs. identity here?
534-
if let name = productRef.package, identitiesAvailableInSDK.contains(PackageIdentity.plain(name)) {
535-
// Do not emit any diagnostic.
536-
} else {
537-
// Find a product name from the available product dependencies that is most similar to the required product name.
538-
let bestMatchedProductName = bestMatch(for: productRef.name, from: Array(allTargetNames))
539-
var packageContainingBestMatchedProduct: String?
540-
if let bestMatchedProductName, productRef.name == bestMatchedProductName {
541-
let dependentPackages = packageBuilder.dependencies.map(\.package)
542-
for p in dependentPackages where p.targets.contains(where: { $0.name == bestMatchedProductName }) {
543-
packageContainingBestMatchedProduct = p.identity.description
544-
break
545-
}
529+
// Find a product name from the available product dependencies that is most similar to the required product name.
530+
let bestMatchedProductName = bestMatch(for: productRef.name, from: Array(allTargetNames))
531+
var packageContainingBestMatchedProduct: String?
532+
if let bestMatchedProductName, productRef.name == bestMatchedProductName {
533+
let dependentPackages = packageBuilder.dependencies.map(\.package)
534+
for p in dependentPackages where p.targets.contains(where: { $0.name == bestMatchedProductName }) {
535+
packageContainingBestMatchedProduct = p.identity.description
536+
break
546537
}
547-
let error = PackageGraphError.productDependencyNotFound(
548-
package: package.identity.description,
549-
targetName: targetBuilder.target.name,
550-
dependencyProductName: productRef.name,
551-
dependencyPackageName: productRef.package,
552-
dependencyProductInDecl: !declProductsAsDependency.isEmpty,
553-
similarProductName: bestMatchedProductName,
554-
packageContainingSimilarProduct: packageContainingBestMatchedProduct
555-
)
556-
packageObservabilityScope.emit(error)
557538
}
539+
let error = PackageGraphError.productDependencyNotFound(
540+
package: package.identity.description,
541+
targetName: targetBuilder.target.name,
542+
dependencyProductName: productRef.name,
543+
dependencyPackageName: productRef.package,
544+
dependencyProductInDecl: !declProductsAsDependency.isEmpty,
545+
similarProductName: bestMatchedProductName,
546+
packageContainingSimilarProduct: packageContainingBestMatchedProduct
547+
)
548+
packageObservabilityScope.emit(error)
558549
}
559550
continue
560551
}

Sources/Workspace/Workspace.swift

-1
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,6 @@ extension Workspace {
924924
createREPLProduct: self.configuration.createREPLProduct,
925925
customXCTestMinimumDeploymentTargets: customXCTestMinimumDeploymentTargets,
926926
testEntryPointPath: testEntryPointPath,
927-
availableLibraries: self.providedLibraries,
928927
fileSystem: self.fileSystem,
929928
observabilityScope: observabilityScope
930929
)

Sources/swift-bootstrap/main.swift

-1
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,6 @@ struct SwiftBootstrapBuildTool: ParsableCommand {
390390
partial[item.key] = (manifest: item.value, fs: self.fileSystem)
391391
},
392392
binaryArtifacts: [:],
393-
availableLibraries: [], // assume no provided libraries during bootstrap
394393
fileSystem: fileSystem,
395394
observabilityScope: observabilityScope
396395
)

Tests/PackageGraphPerformanceTests/PackageGraphPerfTests.swift

-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ final class PackageGraphPerfTests: XCTestCasePerf {
9797
identityResolver: identityResolver,
9898
externalManifests: externalManifests,
9999
binaryArtifacts: [:],
100-
availableLibraries: [], // assume no provided libraries for testing.
101100
fileSystem: fs,
102101
observabilityScope: observability.topScope
103102
)

0 commit comments

Comments
 (0)