Skip to content

Commit 6a6bc4d

Browse files
committed
[SwiftPMBuildSystem] Adjust BuildParameters use to indicate a destination
The change is introduced by swiftlang/swift-package-manager#7593 (cherry picked from commit 12b848e)
1 parent cab5adc commit 6a6bc4d

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift

+20-7
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@ public actor SwiftPMBuildSystem {
127127

128128
private var modulesGraph: ModulesGraph
129129
private let workspace: Workspace
130-
@_spi(Testing) public let buildParameters: BuildParameters
130+
@_spi(Testing) public let toolsBuildParameters: BuildParameters
131+
@_spi(Testing) public let destinationBuildParameters: BuildParameters
131132
private let fileSystem: FileSystem
132133
private let toolchain: SKCore.Toolchain
133134

@@ -235,7 +236,18 @@ public actor SwiftPMBuildSystem {
235236
buildConfiguration = .release
236237
}
237238

238-
self.buildParameters = try BuildParameters(
239+
self.toolsBuildParameters = try BuildParameters(
240+
destination: .host,
241+
dataPath: location.scratchDirectory.appending(
242+
component: swiftPMToolchain.targetTriple.platformBuildPathComponent
243+
),
244+
configuration: buildConfiguration,
245+
toolchain: swiftPMToolchain,
246+
flags: buildSetup.flags
247+
)
248+
249+
self.destinationBuildParameters = try BuildParameters(
250+
destination: .target,
239251
dataPath: location.scratchDirectory.appending(
240252
component: swiftPMToolchain.targetTriple.platformBuildPathComponent
241253
),
@@ -313,12 +325,13 @@ extension SwiftPMBuildSystem {
313325
let modulesGraph = try self.workspace.loadPackageGraph(
314326
rootInput: PackageGraphRootInput(packages: [AbsolutePath(projectRoot)]),
315327
forceResolvedVersions: forceResolvedVersions,
316-
availableLibraries: self.buildParameters.toolchain.providedLibraries,
328+
availableLibraries: [],
317329
observabilityScope: observabilitySystem.topScope
318330
)
319331

320332
let plan = try BuildPlan(
321-
buildParameters: buildParameters,
333+
productsBuildParameters: destinationBuildParameters,
334+
toolsBuildParameters: toolsBuildParameters,
322335
graph: modulesGraph,
323336
fileSystem: fileSystem,
324337
observabilityScope: observabilitySystem.topScope
@@ -384,12 +397,12 @@ extension SwiftPMBuildSystem: SKCore.BuildSystem {
384397
public nonisolated var supportsPreparation: Bool { true }
385398

386399
public var buildPath: TSCAbsolutePath {
387-
return TSCAbsolutePath(buildParameters.buildPath)
400+
return TSCAbsolutePath(destinationBuildParameters.buildPath)
388401
}
389402

390403
public var indexStorePath: TSCAbsolutePath? {
391-
return buildParameters.indexStoreMode == .off
392-
? nil : TSCAbsolutePath(buildParameters.indexStore)
404+
return destinationBuildParameters.indexStoreMode == .off
405+
? nil : TSCAbsolutePath(destinationBuildParameters.indexStore)
393406
}
394407

395408
public var indexDatabasePath: TSCAbsolutePath? {

Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift

+6-6
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
147147
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
148148

149149
let aswift = packageRoot.appending(components: "Sources", "lib", "a.swift")
150-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
150+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
151151
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
152152

153153
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -212,7 +212,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
212212
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
213213

214214
let aPlusSomething = packageRoot.appending(components: "Sources", "lib", "a+something.swift")
215-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
215+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
216216
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
217217

218218
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -275,7 +275,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
275275
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
276276

277277
let aswift = packageRoot.appending(components: "Sources", "lib", "a.swift")
278-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
278+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
279279
let build = buildPath(root: packageRoot, config: config, platform: hostTriple.platformBuildPathComponent)
280280

281281
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -514,7 +514,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
514514
let acxx = packageRoot.appending(components: "Sources", "lib", "a.cpp")
515515
let bcxx = packageRoot.appending(components: "Sources", "lib", "b.cpp")
516516
let header = packageRoot.appending(components: "Sources", "lib", "include", "a.h")
517-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
517+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
518518
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
519519

520520
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -596,7 +596,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
596596
let arguments = try await unwrap(swiftpmBuildSystem.buildSettings(for: aswift.asURI, language: .swift))
597597
.compilerArguments
598598
assertArgumentsContain("-target", arguments: arguments) // Only one!
599-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
599+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
600600

601601
#if os(macOS)
602602
assertArgumentsContain(
@@ -829,7 +829,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
829829
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
830830

831831
let aswift = packageRoot.appending(components: "Plugins", "MyPlugin", "a.swift")
832-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
832+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
833833
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
834834

835835
assertEqual(await swiftpmBuildSystem.buildPath, build)

0 commit comments

Comments
 (0)