From 5289584168c1428c4b3720b537c7ae4e0c2338ec Mon Sep 17 00:00:00 2001 From: Xi Ge Date: Tue, 9 Dec 2025 14:29:08 -0800 Subject: [PATCH] PrebuiltModules: exclude discovered package interface when generating prebuilt modules We never intend to build package Swift textual interfaces because they are only used for intra-package module loading. rdar://166174634 --- Sources/SwiftDriver/Jobs/PrebuiltModulesJob.swift | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Sources/SwiftDriver/Jobs/PrebuiltModulesJob.swift b/Sources/SwiftDriver/Jobs/PrebuiltModulesJob.swift index 86b3b46dc..67b023ce3 100644 --- a/Sources/SwiftDriver/Jobs/PrebuiltModulesJob.swift +++ b/Sources/SwiftDriver/Jobs/PrebuiltModulesJob.swift @@ -529,10 +529,16 @@ public struct SDKPrebuiltModuleInputsCollector { } private func sanitizeInterfaceMap(_ map: [String: [PrebuiltModuleInput]]) -> [String: [PrebuiltModuleInput]] { - return map.filter { + return map.compactMapValues { inputs in + // Filter out .package.swiftinterface files + return inputs.filter { input in + !(input.path.file.extension == "swiftinterface" && + input.path.file.basenameWithoutExt.hasSuffix(".package")) + } + }.filter { key, value in // Remove modules without associated .swiftinterface files and diagnose. - if $0.value.isEmpty { - diagEngine.emit(.warning("\($0.key) has no associated .swiftinterface files"), + if value.isEmpty { + diagEngine.emit(.warning("\(key) has no associated .swiftinterface files"), location: nil) return false }