mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
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:
@@ -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? {
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user