Merge pull request #1454 from xedin/buildplan-parameter-split-6.0

[6.0][SwiftPMBuildSystem] Adjust `BuildParameters` use to indicate a desti…
This commit is contained in:
Pavel Yaskevich
2024-06-10 15:05:58 -07:00
committed by GitHub
2 changed files with 26 additions and 13 deletions

View File

@@ -127,7 +127,8 @@ public actor SwiftPMBuildSystem {
private var modulesGraph: ModulesGraph
private let workspace: Workspace
@_spi(Testing) public let buildParameters: BuildParameters
@_spi(Testing) public let toolsBuildParameters: BuildParameters
@_spi(Testing) public let destinationBuildParameters: BuildParameters
private let fileSystem: FileSystem
private let toolchain: SKCore.Toolchain
@@ -235,7 +236,18 @@ public actor SwiftPMBuildSystem {
buildConfiguration = .release
}
self.buildParameters = try BuildParameters(
self.toolsBuildParameters = try BuildParameters(
destination: .host,
dataPath: location.scratchDirectory.appending(
component: swiftPMToolchain.targetTriple.platformBuildPathComponent
),
configuration: buildConfiguration,
toolchain: swiftPMToolchain,
flags: buildSetup.flags
)
self.destinationBuildParameters = try BuildParameters(
destination: .target,
dataPath: location.scratchDirectory.appending(
component: swiftPMToolchain.targetTriple.platformBuildPathComponent
),
@@ -313,12 +325,13 @@ extension SwiftPMBuildSystem {
let modulesGraph = try self.workspace.loadPackageGraph(
rootInput: PackageGraphRootInput(packages: [AbsolutePath(projectRoot)]),
forceResolvedVersions: forceResolvedVersions,
availableLibraries: self.buildParameters.toolchain.providedLibraries,
availableLibraries: [],
observabilityScope: observabilitySystem.topScope
)
let plan = try BuildPlan(
buildParameters: buildParameters,
productsBuildParameters: destinationBuildParameters,
toolsBuildParameters: toolsBuildParameters,
graph: modulesGraph,
fileSystem: fileSystem,
observabilityScope: observabilitySystem.topScope
@@ -384,12 +397,12 @@ extension SwiftPMBuildSystem: SKCore.BuildSystem {
public nonisolated var supportsPreparation: Bool { true }
public var buildPath: TSCAbsolutePath {
return TSCAbsolutePath(buildParameters.buildPath)
return TSCAbsolutePath(destinationBuildParameters.buildPath)
}
public var indexStorePath: TSCAbsolutePath? {
return buildParameters.indexStoreMode == .off
? nil : TSCAbsolutePath(buildParameters.indexStore)
return destinationBuildParameters.indexStoreMode == .off
? nil : TSCAbsolutePath(destinationBuildParameters.indexStore)
}
public var indexDatabasePath: TSCAbsolutePath? {

View File

@@ -147,7 +147,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
let aswift = packageRoot.appending(components: "Sources", "lib", "a.swift")
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -212,7 +212,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
let aPlusSomething = packageRoot.appending(components: "Sources", "lib", "a+something.swift")
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -275,7 +275,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
let aswift = packageRoot.appending(components: "Sources", "lib", "a.swift")
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
let build = buildPath(root: packageRoot, config: config, platform: hostTriple.platformBuildPathComponent)
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -514,7 +514,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
let acxx = packageRoot.appending(components: "Sources", "lib", "a.cpp")
let bcxx = packageRoot.appending(components: "Sources", "lib", "b.cpp")
let header = packageRoot.appending(components: "Sources", "lib", "include", "a.h")
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
assertEqual(await swiftpmBuildSystem.buildPath, build)
@@ -596,7 +596,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
let arguments = try await unwrap(swiftpmBuildSystem.buildSettings(for: aswift.asURI, language: .swift))
.compilerArguments
assertArgumentsContain("-target", arguments: arguments) // Only one!
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
#if os(macOS)
assertArgumentsContain(
@@ -829,7 +829,7 @@ final class SwiftPMBuildSystemTests: XCTestCase {
try await swiftpmBuildSystem.generateBuildGraph(allowFileSystemWrites: false)
let aswift = packageRoot.appending(components: "Plugins", "MyPlugin", "a.swift")
let hostTriple = await swiftpmBuildSystem.buildParameters.triple
let hostTriple = await swiftpmBuildSystem.destinationBuildParameters.triple
let build = buildPath(root: packageRoot, platform: hostTriple.platformBuildPathComponent)
assertEqual(await swiftpmBuildSystem.buildPath, build)