Skip to content

Commit 70fda24

Browse files
committed
Store the correct package name in PackagePIFBuilder.LinkedPackageBinary
1 parent 2096cff commit 70fda24

File tree

3 files changed

+21
-16
lines changed

3 files changed

+21
-16
lines changed

Sources/SwiftBuildSupport/PackagePIFBuilder.swift

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import class PackageModel.Product
2626
import struct PackageModel.Platform
2727
import struct PackageModel.PlatformVersion
2828
import struct PackageModel.Resource
29+
import struct PackageModel.PackageIdentity
2930
import enum PackageModel.ProductType
3031

3132
import struct PackageGraph.ModulesGraph
@@ -347,19 +348,25 @@ public final class PackagePIFBuilder {
347348

348349
public struct LinkedPackageBinary {
349350
public let name: String
350-
public let packageName: String
351351
public let type: BinaryType
352+
public let packageIdentity: PackageIdentity
352353

353354
@frozen
354355
public enum BinaryType {
355356
case product
356357
case target
357358
}
358359

359-
public init(name: String, packageName: String, type: BinaryType) {
360-
self.name = name
361-
self.packageName = packageName
362-
self.type = type
360+
public init(product: String, packageIdentity: PackageIdentity) {
361+
self.name = product
362+
self.type = .product
363+
self.packageIdentity = packageIdentity
364+
}
365+
366+
public init(module: String, packageIdentity: PackageIdentity) {
367+
self.name = module
368+
self.type = .target
369+
self.packageIdentity = packageIdentity
363370
}
364371
}
365372

@@ -695,29 +702,27 @@ enum PIFBuildingError: Error {
695702
}
696703

697704
extension PackagePIFBuilder.LinkedPackageBinary {
698-
init?(module: ResolvedModule, package: ResolvedPackage) {
699-
let packageName = package.manifest.displayName
700-
705+
init?(module: ResolvedModule) {
701706
switch module.type {
702707
case .executable, .snippet, .test:
703-
self.init(name: module.name, packageName: packageName, type: .product)
708+
self.init(product: module.name, packageIdentity: module.packageIdentity)
704709

705710
case .library, .binary, .macro:
706-
self.init(name: module.name, packageName: packageName, type: .target)
711+
self.init(module: module.name, packageIdentity: module.packageIdentity)
707712

708713
case .systemModule, .plugin:
709714
return nil
710715
}
711716
}
712717

713-
init?(dependency: ResolvedModule.Dependency, package: ResolvedPackage) {
718+
init?(dependency: ResolvedModule.Dependency) {
714719
switch dependency {
715720
case .product(let productDependency, _):
716721
guard productDependency.hasSourceTargets else { return nil }
717-
self.init(name: productDependency.name, packageName: package.name, type: .product)
722+
self.init(product: productDependency.name, packageIdentity: productDependency.packageIdentity)
718723

719724
case .module(let moduleDependency, _):
720-
self.init(module: moduleDependency, package: package)
725+
self.init(module: moduleDependency)
721726
}
722727
}
723728
}

Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -785,7 +785,7 @@ extension PackagePIFProjectBuilder {
785785

786786
// Collect linked binaries.
787787
let linkedPackageBinaries: [PackagePIFBuilder.LinkedPackageBinary] = sourceModule.dependencies.compactMap {
788-
PackagePIFBuilder.LinkedPackageBinary(dependency: $0, package: self.package)
788+
PackagePIFBuilder.LinkedPackageBinary(dependency: $0)
789789
}
790790

791791
let productOrModuleType: PackagePIFBuilder.ModuleOrProductType = if desiredModuleType == .dynamicLibrary {

Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Products.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ extension PackagePIFProjectBuilder {
490490

491491
// Collect linked binaries.
492492
let linkedPackageBinaries: [PackagePIFBuilder.LinkedPackageBinary] = mainModule.dependencies.compactMap {
493-
PackagePIFBuilder.LinkedPackageBinary(dependency: $0, package: self.package)
493+
PackagePIFBuilder.LinkedPackageBinary(dependency: $0)
494494
}
495495

496496
let moduleOrProduct = PackagePIFBuilder.ModuleOrProduct(
@@ -844,7 +844,7 @@ extension PackagePIFProjectBuilder {
844844

845845
// Collect linked binaries.
846846
let linkedPackageBinaries = product.modules.compactMap {
847-
PackagePIFBuilder.LinkedPackageBinary(module: $0, package: self.package)
847+
PackagePIFBuilder.LinkedPackageBinary(module: $0)
848848
}
849849

850850
let moduleOrProductType: PackagePIFBuilder.ModuleOrProductType = switch product.libraryType {

0 commit comments

Comments
 (0)