mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
Revert "Use fallback build settings if build system doesn’t provide build settings within a timeout"
This reverts commit 78217ec6a6.
This commit is contained in:
@@ -137,7 +137,6 @@ private extension BuildSystemKind {
|
||||
private static func createBuiltInBuildSystemAdapter(
|
||||
projectRoot: AbsolutePath,
|
||||
messagesToSourceKitLSPHandler: any MessageHandler,
|
||||
buildSystemTestHooks: BuildSystemTestHooks,
|
||||
_ createBuildSystem: @Sendable (_ connectionToSourceKitLSP: any Connection) async throws -> BuiltInBuildSystem?
|
||||
) async -> BuildSystemAdapter? {
|
||||
let connectionToSourceKitLSP = LocalConnection(receiverName: "BuildSystemManager")
|
||||
@@ -153,8 +152,7 @@ private extension BuildSystemKind {
|
||||
logger.log("Created \(type(of: buildSystem), privacy: .public) at \(projectRoot.pathString)")
|
||||
let buildSystemAdapter = BuiltInBuildSystemAdapter(
|
||||
underlyingBuildSystem: buildSystem,
|
||||
connectionToSourceKitLSP: connectionToSourceKitLSP,
|
||||
buildSystemTestHooks: buildSystemTestHooks
|
||||
connectionToSourceKitLSP: connectionToSourceKitLSP
|
||||
)
|
||||
let connectionToBuildSystem = LocalConnection(receiverName: "Build system")
|
||||
connectionToBuildSystem.start(handler: buildSystemAdapter)
|
||||
@@ -186,8 +184,7 @@ private extension BuildSystemKind {
|
||||
case .compilationDatabase(projectRoot: let projectRoot):
|
||||
return await Self.createBuiltInBuildSystemAdapter(
|
||||
projectRoot: projectRoot,
|
||||
messagesToSourceKitLSPHandler: messagesToSourceKitLSPHandler,
|
||||
buildSystemTestHooks: testHooks
|
||||
messagesToSourceKitLSPHandler: messagesToSourceKitLSPHandler
|
||||
) { connectionToSourceKitLSP in
|
||||
CompilationDatabaseBuildSystem(
|
||||
projectRoot: projectRoot,
|
||||
@@ -200,8 +197,7 @@ private extension BuildSystemKind {
|
||||
case .swiftPM(projectRoot: let projectRoot):
|
||||
return await Self.createBuiltInBuildSystemAdapter(
|
||||
projectRoot: projectRoot,
|
||||
messagesToSourceKitLSPHandler: messagesToSourceKitLSPHandler,
|
||||
buildSystemTestHooks: testHooks
|
||||
messagesToSourceKitLSPHandler: messagesToSourceKitLSPHandler
|
||||
) { connectionToSourceKitLSP in
|
||||
try await SwiftPMBuildSystem(
|
||||
projectRoot: projectRoot,
|
||||
@@ -214,8 +210,7 @@ private extension BuildSystemKind {
|
||||
case .testBuildSystem(projectRoot: let projectRoot):
|
||||
return await Self.createBuiltInBuildSystemAdapter(
|
||||
projectRoot: projectRoot,
|
||||
messagesToSourceKitLSPHandler: messagesToSourceKitLSPHandler,
|
||||
buildSystemTestHooks: testHooks
|
||||
messagesToSourceKitLSPHandler: messagesToSourceKitLSPHandler
|
||||
) { connectionToSourceKitLSP in
|
||||
TestBuildSystem(projectRoot: projectRoot, connectionToSourceKitLSP: connectionToSourceKitLSP)
|
||||
}
|
||||
@@ -404,8 +399,7 @@ package actor BuildSystemManager: QueueBasedMessageHandler {
|
||||
)
|
||||
let adapter = BuiltInBuildSystemAdapter(
|
||||
underlyingBuildSystem: legacyBuildServer,
|
||||
connectionToSourceKitLSP: legacyBuildServer.connectionToSourceKitLSP,
|
||||
buildSystemTestHooks: buildSystemTestHooks
|
||||
connectionToSourceKitLSP: legacyBuildServer.connectionToSourceKitLSP
|
||||
)
|
||||
let connectionToBuildSystem = LocalConnection(receiverName: "Legacy BSP server")
|
||||
connectionToBuildSystem.start(handler: adapter)
|
||||
@@ -711,17 +705,14 @@ package actor BuildSystemManager: QueueBasedMessageHandler {
|
||||
in target: BuildTargetIdentifier?,
|
||||
language: Language
|
||||
) async -> FileBuildSettings? {
|
||||
if let target {
|
||||
let buildSettingsFromBuildSystem = await orLog("Getting build settings") {
|
||||
try await withTimeout(options.buildSettingsTimeoutOrDefault) {
|
||||
try await self.buildSettingsFromBuildSystem(for: document, in: target, language: language)
|
||||
} resultReceivedAfterTimeout: {
|
||||
await self.delegate?.fileBuildSettingsChanged([document])
|
||||
}
|
||||
}
|
||||
if let buildSettingsFromBuildSystem {
|
||||
return buildSettingsFromBuildSystem
|
||||
do {
|
||||
if let target,
|
||||
let buildSettings = try await buildSettingsFromBuildSystem(for: document, in: target, language: language)
|
||||
{
|
||||
return buildSettings
|
||||
}
|
||||
} catch {
|
||||
logger.error("Getting build settings failed: \(error.forLogging)")
|
||||
}
|
||||
|
||||
guard
|
||||
@@ -755,15 +746,8 @@ package actor BuildSystemManager: QueueBasedMessageHandler {
|
||||
basedOn document: DocumentURI
|
||||
) async -> (mainFile: DocumentURI, settings: FileBuildSettings)? {
|
||||
let mainFile = await self.mainFile(for: document, language: language)
|
||||
let settings = await orLog("Getting build settings") {
|
||||
let target = try await withTimeout(options.buildSettingsTimeoutOrDefault) {
|
||||
await self.canonicalTarget(for: mainFile)
|
||||
} resultReceivedAfterTimeout: {
|
||||
await self.delegate?.fileBuildSettingsChanged([document])
|
||||
}
|
||||
return await self.buildSettings(for: mainFile, in: target, language: language)
|
||||
}
|
||||
guard let settings else {
|
||||
let target = await canonicalTarget(for: mainFile)
|
||||
guard let settings = await buildSettings(for: mainFile, in: target, language: language) else {
|
||||
return nil
|
||||
}
|
||||
return (mainFile, settings)
|
||||
|
||||
Reference in New Issue
Block a user