Skip to content

Commit 2bd21e3

Browse files
committed
[PackageBuilder] Fix test target ref in manifest for external packages
This was caused due to test targets not being constructed when a package acts as a dependency. <rdar://problem/28038874> SR-2353: Test dependencies block a package for being used downstream
1 parent e7aa948 commit 2bd21e3

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

Sources/PackageLoading/PackageBuilder.swift

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -208,15 +208,11 @@ public struct PackageBuilder {
208208
/// - includingTestModules: Whether the package's test modules should be loaded.
209209
public func construct(includingTestModules: Bool) throws -> Package {
210210
let modules = try constructModules()
211-
let testModules: [Module]
212-
if includingTestModules {
213-
testModules = try constructTestModules(modules: modules)
214-
} else {
215-
testModules = []
216-
}
211+
let testModules = try constructTestModules(modules: modules)
217212
try fillDependencies(modules: modules + testModules)
218-
let products = try constructProducts(modules, testModules: testModules)
219-
return Package(manifest: manifest, path: packagePath, modules: modules, testModules: testModules, products: products)
213+
// FIXME: Lift includingTestModules into a higher module.
214+
let products = try constructProducts(modules, testModules: includingTestModules ? testModules : [])
215+
return Package(manifest: manifest, path: packagePath, modules: modules, testModules: includingTestModules ? testModules : [], products: products)
220216
}
221217

222218
// MARK: Utility Predicates

0 commit comments

Comments
 (0)