Create BuildSystem in BuiltInBuildSystemAdapter

This finalizes the move of `BuiltInBuildSystem` creation into `BuiltInBuildSystemAdapter` and means that we can set the message handler of the `BuiltInBuildSystem` during initialization instead of using a setter method.
This commit is contained in:
Alex Hoppen
2024-08-24 00:37:25 -07:00
parent 9f4088038c
commit ea21175dd7
11 changed files with 115 additions and 93 deletions

View File

@@ -182,10 +182,6 @@ package actor SwiftPMBuildSystem {
package weak var messageHandler: BuiltInBuildSystemMessageHandler?
package func setMessageHandler(_ messageHandler: any BuiltInBuildSystemMessageHandler) {
self.messageHandler = messageHandler
}
/// This callback is informed when `reloadPackage` starts and ends executing.
private var reloadPackageStatusCallback: (ReloadPackageStatus) async -> Void
@@ -277,6 +273,7 @@ package actor SwiftPMBuildSystem {
toolchainRegistry: ToolchainRegistry,
fileSystem: FileSystem = localFileSystem,
options: SourceKitLSPOptions,
messageHandler: (any BuiltInBuildSystemMessageHandler)?,
reloadPackageStatusCallback: @escaping (ReloadPackageStatus) async -> Void = { _ in },
testHooks: SwiftPMTestHooks
) async throws {
@@ -292,6 +289,7 @@ package actor SwiftPMBuildSystem {
self.toolchain = toolchain
self.testHooks = testHooks
self.messageHandler = messageHandler
guard let destinationToolchainBinDir = toolchain.swiftc?.parentDirectory else {
throw Error.cannotDetermineHostToolchain
@@ -408,6 +406,7 @@ package actor SwiftPMBuildSystem {
projectRoot: TSCBasic.AbsolutePath,
toolchainRegistry: ToolchainRegistry,
options: SourceKitLSPOptions,
messageHandler: any BuiltInBuildSystemMessageHandler,
reloadPackageStatusCallback: @escaping (ReloadPackageStatus) async -> Void,
testHooks: SwiftPMTestHooks
) async {
@@ -417,6 +416,7 @@ package actor SwiftPMBuildSystem {
toolchainRegistry: toolchainRegistry,
fileSystem: localFileSystem,
options: options,
messageHandler: messageHandler,
reloadPackageStatusCallback: reloadPackageStatusCallback,
testHooks: testHooks
)