Skip to content

Commit d439d12

Browse files
authored
Merge pull request #1361 from xedin/buildplan-parameter-split
[SwiftPMBuildSystem] Adjust `BuildParameters` use to indicate a desti…
2 parents b7b225c + 12b848e commit d439d12

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ public actor SwiftPMBuildSystem {
102102
public var projectRoot: TSCAbsolutePath
103103
var modulesGraph: ModulesGraph
104104
let workspace: Workspace
105-
public let buildParameters: BuildParameters
105+
public let toolsBuildParameters: BuildParameters
106+
public let destinationBuildParameters: BuildParameters
106107
let fileSystem: FileSystem
107108
private let toolchainRegistry: ToolchainRegistry
108109

@@ -202,7 +203,16 @@ public actor SwiftPMBuildSystem {
202203
buildConfiguration = .release
203204
}
204205

205-
self.buildParameters = try BuildParameters(
206+
self.toolsBuildParameters = try BuildParameters(
207+
destination: .host,
208+
dataPath: location.scratchDirectory.appending(component: toolchain.targetTriple.platformBuildPathComponent),
209+
configuration: buildConfiguration,
210+
toolchain: toolchain,
211+
flags: buildSetup.flags
212+
)
213+
214+
self.destinationBuildParameters = try BuildParameters(
215+
destination: .target,
206216
dataPath: location.scratchDirectory.appending(component: toolchain.targetTriple.platformBuildPathComponent),
207217
configuration: buildConfiguration,
208218
toolchain: toolchain,
@@ -279,8 +289,8 @@ extension SwiftPMBuildSystem {
279289
)
280290

281291
let plan = try BuildPlan(
282-
productsBuildParameters: buildParameters,
283-
toolsBuildParameters: buildParameters,
292+
productsBuildParameters: destinationBuildParameters,
293+
toolsBuildParameters: toolsBuildParameters,
284294
graph: modulesGraph,
285295
fileSystem: fileSystem,
286296
observabilityScope: observabilitySystem.topScope
@@ -345,11 +355,12 @@ extension SwiftPMBuildSystem: SKCore.BuildSystem {
345355
public nonisolated var supportsPreparation: Bool { true }
346356

347357
public var buildPath: TSCAbsolutePath {
348-
return TSCAbsolutePath(buildParameters.buildPath)
358+
return TSCAbsolutePath(destinationBuildParameters.buildPath)
349359
}
350360

351361
public var indexStorePath: TSCAbsolutePath? {
352-
return buildParameters.indexStoreMode == .off ? nil : TSCAbsolutePath(buildParameters.indexStore)
362+
return destinationBuildParameters.indexStoreMode == .off
363+
? nil : TSCAbsolutePath(destinationBuildParameters.indexStore)
353364
}
354365

355366
public var indexDatabasePath: TSCAbsolutePath? {

Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
143143
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
144144

145145
let aswift = packageRoot.appending(components: "Sources", "lib", "a.swift")
146-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
146+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
147147
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
148148

149149
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -214,7 +214,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
214214
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
215215

216216
let aswift = packageRoot.appending(components: "Sources", "lib", "a.swift")
217-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
217+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
218218
let build = buildPath(root: packageRoot, config: config, platform: hostTriple.platformBuildPathComponent)
219219

220220
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -446,7 +446,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
446446
let acxx = packageRoot.appending(components: "Sources", "lib", "a.cpp")
447447
let bcxx = packageRoot.appending(components: "Sources", "lib", "b.cpp")
448448
let header = packageRoot.appending(components: "Sources", "lib", "include", "a.h")
449-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
449+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
450450
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
451451

452452
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -528,7 +528,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
528528
let arguments = try await unwrap(swiftpmBuildSystem.buildSettings(for: aswift.asURI, language: .swift))
529529
.compilerArguments
530530
assertArgumentsContain("-target", arguments: arguments) // Only one!
531-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
531+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
532532

533533
#if os(macOS)
534534
assertArgumentsContain(
@@ -759,7 +759,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
759759
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
760760

761761
let aswift = packageRoot.appending(components: "Plugins", "MyPlugin", "a.swift")
762-
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
762+
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
763763
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
764764

765765
assertEqual(await swiftpmBuildSystem.buildPath, build)

0 commit comments

Comments
 (0)