From 8c34a76f595fceb12efd8eed49381916a3035dd6 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Wed, 24 Jul 2024 14:33:45 -0700 Subject: [PATCH 1/6] Rename LSPLogging to SKLogging --- Documentation/Modules.md | 13 ++- Package.swift | 84 +++++++++---------- Sources/CMakeLists.txt | 2 +- Sources/Diagnose/CMakeLists.txt | 2 +- .../CommandLineArgumentsReducer.swift | 2 +- Sources/Diagnose/MergeSwiftFiles.swift | 2 +- Sources/Diagnose/SourceReducer.swift | 2 +- Sources/InProcessClient/CMakeLists.txt | 2 +- Sources/InProcessClient/LocalConnection.swift | 2 +- .../CMakeLists.txt | 2 +- .../JSONRPCConnection.swift | 2 +- .../LoggableMessageTypes.swift | 2 +- Sources/SKCore/BuildServerBuildSystem.swift | 2 +- Sources/SKCore/BuildSystem.swift | 2 +- Sources/SKCore/BuildSystemManager.swift | 2 +- Sources/SKCore/CMakeLists.txt | 2 +- Sources/SKCore/CompilationDatabase.swift | 2 +- .../CompilationDatabaseBuildSystem.swift | 2 +- Sources/SKCore/SourceKitLSPOptions.swift | 2 +- Sources/SKCore/Toolchain.swift | 2 +- .../{LSPLogging => SKLogging}/CMakeLists.txt | 8 +- .../CustomLogStringConvertible.swift | 0 .../Error+ForLogging.swift | 0 .../{LSPLogging => SKLogging}/Logging.swift | 0 .../LoggingScope.swift | 0 .../NonDarwinLogging.swift | 0 Sources/{LSPLogging => SKLogging}/OrLog.swift | 0 .../SetGlobalLogFileHandler.swift | 0 .../SplitLogMessage.swift | 0 Sources/SKSupport/CMakeLists.txt | 2 +- ...cumentURI+CustomLogStringConvertible.swift | 2 +- Sources/SKSupport/LineTable.swift | 2 +- Sources/SKSupport/Process+Run.swift | 2 +- Sources/SKSwiftPMWorkspace/CMakeLists.txt | 2 +- .../SwiftPMBuildSystem.swift | 2 +- Sources/SKTestSupport/SkipUnless.swift | 2 +- Sources/SemanticIndex/CMakeLists.txt | 2 +- Sources/SemanticIndex/CheckedIndex.swift | 2 +- .../PreparationTaskDescription.swift | 2 +- .../SemanticIndex/SemanticIndexManager.swift | 2 +- Sources/SemanticIndex/TaskScheduler.swift | 2 +- .../UpdateIndexStoreTaskDescription.swift | 2 +- Sources/SourceKitD/CMakeLists.txt | 2 +- .../DynamicallyLoadedSourceKitD.swift | 2 +- Sources/SourceKitD/SKDRequestDictionary.swift | 2 +- Sources/SourceKitD/SKDResponse.swift | 2 +- Sources/SourceKitLSP/CMakeLists.txt | 2 +- Sources/SourceKitLSP/CapabilityRegistry.swift | 2 +- .../Clang/ClangLanguageService.swift | 2 +- .../Clang/SemanticTokenTranslator.swift | 2 +- Sources/SourceKitLSP/CreateBuildSystem.swift | 2 +- Sources/SourceKitLSP/DocumentManager.swift | 2 +- .../SourceKitLSP/IndexProgressManager.swift | 2 +- .../IndexStoreDB+MainFilesProvider.swift | 2 +- .../MessageHandlingDependencyTracker.swift | 2 +- Sources/SourceKitLSP/Rename.swift | 2 +- .../SourceKitLSP/SourceKitIndexDelegate.swift | 2 +- .../SourceKitLSPCommandMetadata.swift | 2 +- Sources/SourceKitLSP/SourceKitLSPServer.swift | 2 +- .../SyntaxCodeActionProvider.swift | 2 +- .../SourceKitLSP/Swift/CodeCompletion.swift | 2 +- .../Swift/CodeCompletionSession.swift | 2 +- Sources/SourceKitLSP/Swift/Diagnostic.swift | 2 +- .../Swift/DiagnosticReportManager.swift | 2 +- .../Swift/DocumentFormatting.swift | 2 +- .../SourceKitLSP/Swift/DocumentSymbols.swift | 2 +- Sources/SourceKitLSP/Swift/FoldingRange.swift | 2 +- .../SourceKitLSP/Swift/MacroExpansion.swift | 2 +- .../SourceKitLSP/Swift/OpenInterface.swift | 2 +- .../Swift/RefactoringResponse.swift | 2 +- .../Swift/RelatedIdentifiers.swift | 2 +- .../Swift/RewriteSourceKitPlaceholders.swift | 2 +- .../Swift/SemanticRefactoring.swift | 2 +- .../SourceKitLSP/Swift/SemanticTokens.swift | 2 +- .../Swift/SwiftLanguageService.swift | 2 +- .../Swift/SwiftTestingScanner.swift | 2 +- .../Swift/SyntacticTestIndex.swift | 2 +- .../Swift/SyntaxHighlightingToken.swift | 2 +- .../Swift/SyntaxHighlightingTokenParser.swift | 2 +- .../Swift/SyntaxHighlightingTokens.swift | 2 +- Sources/SourceKitLSP/TestDiscovery.swift | 2 +- .../WorkDoneProgressManager.swift | 2 +- Sources/SourceKitLSP/Workspace.swift | 2 +- Sources/sourcekit-lsp/SourceKitLSP.swift | 2 +- Tests/DiagnoseTests/DiagnoseTests.swift | 2 +- .../LoggingTests.swift | 4 +- .../TaskSchedulerTests.swift | 2 +- .../SourceKitDTests/CrashRecoveryTests.swift | 2 +- Tests/SourceKitLSPTests/DefinitionTests.swift | 2 +- .../ExpectedIndexTaskTracker.swift | 2 +- Tests/SourceKitLSPTests/FormattingTests.swift | 2 +- Tests/SourceKitLSPTests/LocalSwiftTests.swift | 2 +- .../SwiftInterfaceTests.swift | 2 +- Tests/SourceKitLSPTests/WorkspaceTests.swift | 2 +- 94 files changed, 132 insertions(+), 141 deletions(-) rename Sources/{LSPLogging => SKLogging}/CMakeLists.txt (68%) rename Sources/{LSPLogging => SKLogging}/CustomLogStringConvertible.swift (100%) rename Sources/{LSPLogging => SKLogging}/Error+ForLogging.swift (100%) rename Sources/{LSPLogging => SKLogging}/Logging.swift (100%) rename Sources/{LSPLogging => SKLogging}/LoggingScope.swift (100%) rename Sources/{LSPLogging => SKLogging}/NonDarwinLogging.swift (100%) rename Sources/{LSPLogging => SKLogging}/OrLog.swift (100%) rename Sources/{LSPLogging => SKLogging}/SetGlobalLogFileHandler.swift (100%) rename Sources/{LSPLogging => SKLogging}/SplitLogMessage.swift (100%) rename Tests/{LSPLoggingTests => SKLoggingTests}/LoggingTests.swift (98%) diff --git a/Documentation/Modules.md b/Documentation/Modules.md index 74fda162d..71516237e 100644 --- a/Documentation/Modules.md +++ b/Documentation/Modules.md @@ -36,13 +36,7 @@ Swift types to represent the [Language Server Protocol (LSP) specification, vers ### LanguageServerProtocolJSONRPC -A connection to or from a SourceKit-LSP server. Since message parsing can fail, it needs to handle errors in some way and the design decision here is to use LSPLogging, which hardcodes `org.swift.sourcekit-lsp` as the default logging subsystem and thus makes the module unsuitable for generic clients. - -### LSPLogging - -Types that are API-compatible with OSLog to allow logging to OSLog when building for Darwin platforms and logging to stderr or files on non-Darwin platforms. This should not be dependent on any LSP specific types and be portable to other packages. - -FIXME: Rename the module to SKLogging +A connection to or from a SourceKit-LSP server. Since message parsing can fail, it needs to handle errors in some way and the design decision here is to use SKLogging, which hardcodes `org.swift.sourcekit-lsp` as the default logging subsystem and thus makes the module unsuitable for generic clients. ### LSPTestSupport @@ -85,12 +79,15 @@ Discovers Swift toolchains on the system. - ToolchainRegistry.swift - XCToolchainPlist.swift +### SKLogging + +Types that are API-compatible with OSLog to allow logging to OSLog when building for Darwin platforms and logging to stderr or files on non-Darwin platforms. This should not be dependent on any LSP specific types and be portable to other packages. ### SKSupport Contains SourceKit-LSP-specific helper functions. These fall into three different categories: - Extensions on top of `swift-tools-support-core` -- Functionality that can only be implemented by combining two lower-level modules that don't have a shared dependency, like `LSPLogging` + `LanguageServerProtocol` +- Functionality that can only be implemented by combining two lower-level modules that don't have a shared dependency, like `SKLogging` + `LanguageServerProtocol` - Types that should be sharable by the different modules that implement SourceKit-LSP but that are not generic enough to fit into `SwiftExtensions`, like `ExperimentalFeatures`. ### SKSwiftPMWorkspace diff --git a/Package.swift b/Package.swift index b6b4714d3..3f49ca4aa 100644 --- a/Package.swift +++ b/Package.swift @@ -38,7 +38,6 @@ let package = Package( ), // MARK: BuildServerProtocol - // Connection between build server and language server to provide build and index info .target( name: "BuildServerProtocol", @@ -49,19 +48,21 @@ let package = Package( ), // MARK: CAtomics + .target( name: "CAtomics", dependencies: [] ), // MARK: CSKTestSupport + .target( name: "CSKTestSupport", dependencies: [] ), // MARK: Csourcekitd - // C modules wrapper for sourcekitd. + .target( name: "Csourcekitd", dependencies: [], @@ -74,8 +75,8 @@ let package = Package( name: "Diagnose", dependencies: [ "InProcessClient", - "LSPLogging", "SKCore", + "SKLogging", "SKSupport", "SourceKitD", "SourceKitLSP", @@ -93,11 +94,11 @@ let package = Package( name: "DiagnoseTests", dependencies: [ "Diagnose", - "LSPLogging", "LSPTestSupport", - "SourceKitD", "SKCore", + "SKLogging", "SKTestSupport", + "SourceKitD", .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ] ), @@ -108,15 +109,15 @@ let package = Package( name: "InProcessClient", dependencies: [ "LanguageServerProtocol", - "LSPLogging", "SKCore", + "SKLogging", "SourceKitLSP", ], exclude: ["CMakeLists.txt"] ), // MARK: LanguageServerProtocol - // The core LSP types, suitable for any LSP implementation. + .target( name: "LanguageServerProtocol", dependencies: [], @@ -132,13 +133,12 @@ let package = Package( ), // MARK: LanguageServerProtocolJSONRPC - // LSP connection using jsonrpc over pipes. .target( name: "LanguageServerProtocolJSONRPC", dependencies: [ "LanguageServerProtocol", - "LSPLogging", + "SKLogging", ], exclude: ["CMakeLists.txt"] ), @@ -151,27 +151,6 @@ let package = Package( ] ), - // MARK: LSPLogging - // Logging support used in LSP modules. - - .target( - name: "LSPLogging", - dependencies: [ - "SwiftExtensions", - .product(name: "Crypto", package: "swift-crypto"), - ], - exclude: ["CMakeLists.txt"], - swiftSettings: lspLoggingSwiftSettings - ), - - .testTarget( - name: "LSPLoggingTests", - dependencies: [ - "LSPLogging", - "SKTestSupport", - ] - ), - // MARK: LSPTestSupport .target( @@ -191,8 +170,8 @@ let package = Package( name: "SemanticIndex", dependencies: [ "LanguageServerProtocol", - "LSPLogging", "SKCore", + "SKLogging", "SwiftExtensions", .product(name: "IndexStoreDB", package: "indexstore-db"), ], @@ -202,15 +181,13 @@ let package = Package( .testTarget( name: "SemanticIndexTests", dependencies: [ - "LSPLogging", "SemanticIndex", + "SKLogging", "SKTestSupport", ] ), // MARK: SKCore - // Data structures and algorithms useful across the project, but not necessarily - // suitable for use in other packages. .target( name: "SKCore", @@ -218,7 +195,7 @@ let package = Package( "BuildServerProtocol", "LanguageServerProtocol", "LanguageServerProtocolJSONRPC", - "LSPLogging", + "SKLogging", "SKSupport", "SourceKitD", "SwiftExtensions", @@ -236,16 +213,34 @@ let package = Package( ] ), + // MARK: SKLogging + + .target( + name: "SKLogging", + dependencies: [ + "SwiftExtensions", + .product(name: "Crypto", package: "swift-crypto"), + ], + exclude: ["CMakeLists.txt"], + swiftSettings: lspLoggingSwiftSettings + ), + + .testTarget( + name: "SKLoggingTests", + dependencies: [ + "SKLogging", + "SKTestSupport", + ] + ), + // MARK: SKSupport - // Data structures, algorithms and platform-abstraction code that might be generally useful to any Swift package. - // Similar in spirit to SwiftPM's Basic module. .target( name: "SKSupport", dependencies: [ "CAtomics", "LanguageServerProtocol", - "LSPLogging", + "SKLogging", "SwiftExtensions", .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ], @@ -269,8 +264,8 @@ let package = Package( dependencies: [ "BuildServerProtocol", "LanguageServerProtocol", - "LSPLogging", "SKCore", + "SKLogging", "SwiftExtensions", .product(name: "SwiftPM-auto", package: "swift-package-manager"), .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), @@ -301,8 +296,8 @@ let package = Package( "InProcessClient", "LanguageServerProtocol", "LSPTestSupport", - "LSPLogging", "SKCore", + "SKLogging", "SourceKitLSP", "SwiftExtensions", .product(name: "ISDBTestSupport", package: "indexstore-db"), @@ -312,13 +307,12 @@ let package = Package( ), // MARK: SourceKitD - // Swift bindings for sourcekitd. .target( name: "SourceKitD", dependencies: [ "Csourcekitd", - "LSPLogging", + "SKLogging", "SwiftExtensions", .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ], @@ -343,9 +337,9 @@ let package = Package( "BuildServerProtocol", "LanguageServerProtocol", "LanguageServerProtocolJSONRPC", - "LSPLogging", "SemanticIndex", "SKCore", + "SKLogging", "SKSupport", "SKSwiftPMWorkspace", "SourceKitD", @@ -369,11 +363,11 @@ let package = Package( name: "SourceKitLSPTests", dependencies: [ "BuildServerProtocol", - "LSPLogging", - "LSPTestSupport", "LanguageServerProtocol", + "LSPTestSupport", "SemanticIndex", "SKCore", + "SKLogging", "SKSupport", "SKTestSupport", "SourceKitD", diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt index 0e23ac53a..282f31f89 100644 --- a/Sources/CMakeLists.txt +++ b/Sources/CMakeLists.txt @@ -6,9 +6,9 @@ add_subdirectory(Diagnose) add_subdirectory(InProcessClient) add_subdirectory(LanguageServerProtocol) add_subdirectory(LanguageServerProtocolJSONRPC) -add_subdirectory(LSPLogging) add_subdirectory(SemanticIndex) add_subdirectory(SKCore) +add_subdirectory(SKLogging) add_subdirectory(SKSupport) add_subdirectory(SKSwiftPMWorkspace) add_subdirectory(SourceKitLSP) diff --git a/Sources/Diagnose/CMakeLists.txt b/Sources/Diagnose/CMakeLists.txt index edfe1d8c5..559b32e2f 100644 --- a/Sources/Diagnose/CMakeLists.txt +++ b/Sources/Diagnose/CMakeLists.txt @@ -26,8 +26,8 @@ set_target_properties(Diagnose PROPERTIES target_link_libraries(Diagnose PUBLIC InProcessClient - LSPLogging SKCore + SKLogging SourceKitD SwiftExtensions ArgumentParser diff --git a/Sources/Diagnose/CommandLineArgumentsReducer.swift b/Sources/Diagnose/CommandLineArgumentsReducer.swift index 4b7d0c6a8..7b4b2079d 100644 --- a/Sources/Diagnose/CommandLineArgumentsReducer.swift +++ b/Sources/Diagnose/CommandLineArgumentsReducer.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging +import SKLogging // MARK: - Entry point diff --git a/Sources/Diagnose/MergeSwiftFiles.swift b/Sources/Diagnose/MergeSwiftFiles.swift index 6eaad768d..7a89e4796 100644 --- a/Sources/Diagnose/MergeSwiftFiles.swift +++ b/Sources/Diagnose/MergeSwiftFiles.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging +import SKLogging extension RequestInfo { /// Check if the issue reproduces when merging all `.swift` input files into a single file. diff --git a/Sources/Diagnose/SourceReducer.swift b/Sources/Diagnose/SourceReducer.swift index de7f3fd42..3ded5b00b 100644 --- a/Sources/Diagnose/SourceReducer.swift +++ b/Sources/Diagnose/SourceReducer.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging +import SKLogging import SourceKitD @_spi(FixItApplier) import SwiftIDEUtils import SwiftParser diff --git a/Sources/InProcessClient/CMakeLists.txt b/Sources/InProcessClient/CMakeLists.txt index 7be5da235..9d7a09d37 100644 --- a/Sources/InProcessClient/CMakeLists.txt +++ b/Sources/InProcessClient/CMakeLists.txt @@ -7,7 +7,7 @@ set_target_properties(InProcessClient PROPERTIES target_link_libraries(InProcessClient PUBLIC LanguageServerProtocol - LSPLogging SKCore + SKLogging SourceKitLSP ) diff --git a/Sources/InProcessClient/LocalConnection.swift b/Sources/InProcessClient/LocalConnection.swift index a052ecd65..f84fab5ed 100644 --- a/Sources/InProcessClient/LocalConnection.swift +++ b/Sources/InProcessClient/LocalConnection.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Dispatch -import LSPLogging import LanguageServerProtocol +import SKLogging /// A connection between two message handlers in the same process. /// diff --git a/Sources/LanguageServerProtocolJSONRPC/CMakeLists.txt b/Sources/LanguageServerProtocolJSONRPC/CMakeLists.txt index 7afdf8f8b..1983f44aa 100644 --- a/Sources/LanguageServerProtocolJSONRPC/CMakeLists.txt +++ b/Sources/LanguageServerProtocolJSONRPC/CMakeLists.txt @@ -8,7 +8,7 @@ set_target_properties(LanguageServerProtocolJSONRPC PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(LanguageServerProtocolJSONRPC PRIVATE LanguageServerProtocol - LSPLogging) + SKLogging) target_link_libraries(LanguageServerProtocolJSONRPC PRIVATE $<$>:swiftDispatch> $<$>:Foundation>) diff --git a/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift b/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift index 60904f412..ef78bb7bf 100644 --- a/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift +++ b/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift @@ -12,8 +12,8 @@ import Dispatch import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging #if canImport(CDispatch) import struct CDispatch.dispatch_fd_t diff --git a/Sources/LanguageServerProtocolJSONRPC/LoggableMessageTypes.swift b/Sources/LanguageServerProtocolJSONRPC/LoggableMessageTypes.swift index 345480cfa..882184dc9 100644 --- a/Sources/LanguageServerProtocolJSONRPC/LoggableMessageTypes.swift +++ b/Sources/LanguageServerProtocolJSONRPC/LoggableMessageTypes.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging fileprivate extension Encodable { var prettyPrintJSON: String { diff --git a/Sources/SKCore/BuildServerBuildSystem.swift b/Sources/SKCore/BuildServerBuildSystem.swift index e5b95eefc..94a65c9ce 100644 --- a/Sources/SKCore/BuildServerBuildSystem.swift +++ b/Sources/SKCore/BuildServerBuildSystem.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol -import LSPLogging import LanguageServerProtocol import LanguageServerProtocolJSONRPC +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SKCore/BuildSystem.swift b/Sources/SKCore/BuildSystem.swift index 0828f43fb..50e176cf8 100644 --- a/Sources/SKCore/BuildSystem.swift +++ b/Sources/SKCore/BuildSystem.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol -import LSPLogging import LanguageServerProtocol +import SKLogging import struct TSCBasic.AbsolutePath diff --git a/Sources/SKCore/BuildSystemManager.swift b/Sources/SKCore/BuildSystemManager.swift index 1d5c8633d..1e1c9ab70 100644 --- a/Sources/SKCore/BuildSystemManager.swift +++ b/Sources/SKCore/BuildSystemManager.swift @@ -12,8 +12,8 @@ import BuildServerProtocol import Dispatch -import LSPLogging import LanguageServerProtocol +import SKLogging import SwiftExtensions import struct TSCBasic.AbsolutePath diff --git a/Sources/SKCore/CMakeLists.txt b/Sources/SKCore/CMakeLists.txt index e7ec61f28..6d392e628 100644 --- a/Sources/SKCore/CMakeLists.txt +++ b/Sources/SKCore/CMakeLists.txt @@ -24,7 +24,7 @@ target_link_libraries(SKCore PUBLIC BuildServerProtocol LanguageServerProtocol LanguageServerProtocolJSONRPC - LSPLogging + SKLogging SKSupport SourceKitD SwiftExtensions diff --git a/Sources/SKCore/CompilationDatabase.swift b/Sources/SKCore/CompilationDatabase.swift index 88917ef2d..6331245cc 100644 --- a/Sources/SKCore/CompilationDatabase.swift +++ b/Sources/SKCore/CompilationDatabase.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import struct TSCBasic.AbsolutePath diff --git a/Sources/SKCore/CompilationDatabaseBuildSystem.swift b/Sources/SKCore/CompilationDatabaseBuildSystem.swift index c841901fd..44ca9304c 100644 --- a/Sources/SKCore/CompilationDatabaseBuildSystem.swift +++ b/Sources/SKCore/CompilationDatabaseBuildSystem.swift @@ -12,8 +12,8 @@ import BuildServerProtocol import Dispatch -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import struct Foundation.URL diff --git a/Sources/SKCore/SourceKitLSPOptions.swift b/Sources/SKCore/SourceKitLSPOptions.swift index 953c0feab..d219e609c 100644 --- a/Sources/SKCore/SourceKitLSPOptions.swift +++ b/Sources/SKCore/SourceKitLSPOptions.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import struct TSCBasic.AbsolutePath diff --git a/Sources/SKCore/Toolchain.swift b/Sources/SKCore/Toolchain.swift index 9ac389293..55db84e55 100644 --- a/Sources/SKCore/Toolchain.swift +++ b/Sources/SKCore/Toolchain.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol import RegexBuilder +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/LSPLogging/CMakeLists.txt b/Sources/SKLogging/CMakeLists.txt similarity index 68% rename from Sources/LSPLogging/CMakeLists.txt rename to Sources/SKLogging/CMakeLists.txt index c2313dd91..40d306212 100644 --- a/Sources/LSPLogging/CMakeLists.txt +++ b/Sources/SKLogging/CMakeLists.txt @@ -1,4 +1,4 @@ -add_library(LSPLogging STATIC +add_library(SKLogging STATIC CustomLogStringConvertible.swift Error+ForLogging.swift Logging.swift @@ -7,10 +7,10 @@ add_library(LSPLogging STATIC OrLog.swift SetGlobalLogFileHandler.swift SplitLogMessage.swift) -set_target_properties(LSPLogging PROPERTIES +set_target_properties(SKLogging PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) -target_link_libraries(LSPLogging PRIVATE +target_link_libraries(SKLogging PRIVATE SwiftExtensions $<$>:Foundation>) -target_link_libraries(LSPLogging PUBLIC +target_link_libraries(SKLogging PUBLIC Crypto) diff --git a/Sources/LSPLogging/CustomLogStringConvertible.swift b/Sources/SKLogging/CustomLogStringConvertible.swift similarity index 100% rename from Sources/LSPLogging/CustomLogStringConvertible.swift rename to Sources/SKLogging/CustomLogStringConvertible.swift diff --git a/Sources/LSPLogging/Error+ForLogging.swift b/Sources/SKLogging/Error+ForLogging.swift similarity index 100% rename from Sources/LSPLogging/Error+ForLogging.swift rename to Sources/SKLogging/Error+ForLogging.swift diff --git a/Sources/LSPLogging/Logging.swift b/Sources/SKLogging/Logging.swift similarity index 100% rename from Sources/LSPLogging/Logging.swift rename to Sources/SKLogging/Logging.swift diff --git a/Sources/LSPLogging/LoggingScope.swift b/Sources/SKLogging/LoggingScope.swift similarity index 100% rename from Sources/LSPLogging/LoggingScope.swift rename to Sources/SKLogging/LoggingScope.swift diff --git a/Sources/LSPLogging/NonDarwinLogging.swift b/Sources/SKLogging/NonDarwinLogging.swift similarity index 100% rename from Sources/LSPLogging/NonDarwinLogging.swift rename to Sources/SKLogging/NonDarwinLogging.swift diff --git a/Sources/LSPLogging/OrLog.swift b/Sources/SKLogging/OrLog.swift similarity index 100% rename from Sources/LSPLogging/OrLog.swift rename to Sources/SKLogging/OrLog.swift diff --git a/Sources/LSPLogging/SetGlobalLogFileHandler.swift b/Sources/SKLogging/SetGlobalLogFileHandler.swift similarity index 100% rename from Sources/LSPLogging/SetGlobalLogFileHandler.swift rename to Sources/SKLogging/SetGlobalLogFileHandler.swift diff --git a/Sources/LSPLogging/SplitLogMessage.swift b/Sources/SKLogging/SplitLogMessage.swift similarity index 100% rename from Sources/LSPLogging/SplitLogMessage.swift rename to Sources/SKLogging/SplitLogMessage.swift diff --git a/Sources/SKSupport/CMakeLists.txt b/Sources/SKSupport/CMakeLists.txt index 8982432b6..b3481b1e4 100644 --- a/Sources/SKSupport/CMakeLists.txt +++ b/Sources/SKSupport/CMakeLists.txt @@ -19,7 +19,7 @@ target_link_libraries(SKSupport PUBLIC ) target_link_libraries(SKSupport PRIVATE LanguageServerProtocol - LSPLogging + SKLogging SwiftExtensions TSCBasic $<$>:Foundation>) diff --git a/Sources/SKSupport/DocumentURI+CustomLogStringConvertible.swift b/Sources/SKSupport/DocumentURI+CustomLogStringConvertible.swift index b95a34c92..38d77a0b5 100644 --- a/Sources/SKSupport/DocumentURI+CustomLogStringConvertible.swift +++ b/Sources/SKSupport/DocumentURI+CustomLogStringConvertible.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging // MARK: - DocumentURI diff --git a/Sources/SKSupport/LineTable.swift b/Sources/SKSupport/LineTable.swift index 2254f258e..a80294340 100644 --- a/Sources/SKSupport/LineTable.swift +++ b/Sources/SKSupport/LineTable.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -import LSPLogging +import SKLogging #if canImport(os) import os diff --git a/Sources/SKSupport/Process+Run.swift b/Sources/SKSupport/Process+Run.swift index ffe471de3..2c95d60c7 100644 --- a/Sources/SKSupport/Process+Run.swift +++ b/Sources/SKSupport/Process+Run.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging +import SKLogging import SwiftExtensions import struct TSCBasic.AbsolutePath diff --git a/Sources/SKSwiftPMWorkspace/CMakeLists.txt b/Sources/SKSwiftPMWorkspace/CMakeLists.txt index 277f83819..306d97014 100644 --- a/Sources/SKSwiftPMWorkspace/CMakeLists.txt +++ b/Sources/SKSwiftPMWorkspace/CMakeLists.txt @@ -6,8 +6,8 @@ set_target_properties(SKSwiftPMWorkspace PROPERTIES target_link_libraries(SKSwiftPMWorkspace PRIVATE BuildServerProtocol LanguageServerProtocol - LSPLogging SKCore + SKLogging SwiftExtensions TSCBasic) target_link_libraries(SKSwiftPMWorkspace PUBLIC diff --git a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift index 29d16be80..9b2c066f1 100644 --- a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift +++ b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift @@ -15,12 +15,12 @@ import Build import BuildServerProtocol import Dispatch import Foundation -import LSPLogging import LanguageServerProtocol import PackageGraph import PackageLoading import PackageModel import SKCore +import SKLogging import SKSupport import SourceControl import SourceKitLSPAPI diff --git a/Sources/SKTestSupport/SkipUnless.swift b/Sources/SKTestSupport/SkipUnless.swift index 09ad7bc1c..1e2c3c733 100644 --- a/Sources/SKTestSupport/SkipUnless.swift +++ b/Sources/SKTestSupport/SkipUnless.swift @@ -11,11 +11,11 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LSPTestSupport import LanguageServerProtocol import RegexBuilder @_spi(Testing) import SKCore +import SKLogging import SourceKitLSP import XCTest diff --git a/Sources/SemanticIndex/CMakeLists.txt b/Sources/SemanticIndex/CMakeLists.txt index 88db0763d..99b9fd52d 100644 --- a/Sources/SemanticIndex/CMakeLists.txt +++ b/Sources/SemanticIndex/CMakeLists.txt @@ -14,8 +14,8 @@ set_target_properties(SemanticIndex PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(SemanticIndex PRIVATE LanguageServerProtocol - LSPLogging SKCore + SKLogging SwiftExtensions IndexStoreDB $<$>:Foundation>) diff --git a/Sources/SemanticIndex/CheckedIndex.swift b/Sources/SemanticIndex/CheckedIndex.swift index 89d3e74a1..cf48e8c11 100644 --- a/Sources/SemanticIndex/CheckedIndex.swift +++ b/Sources/SemanticIndex/CheckedIndex.swift @@ -12,8 +12,8 @@ import Foundation @preconcurrency import IndexStoreDB -import LSPLogging import LanguageServerProtocol +import SKLogging /// Essentially a `DocumentManager` from the `SourceKitLSP` module. /// diff --git a/Sources/SemanticIndex/PreparationTaskDescription.swift b/Sources/SemanticIndex/PreparationTaskDescription.swift index 8c1241e31..adb03ec0a 100644 --- a/Sources/SemanticIndex/PreparationTaskDescription.swift +++ b/Sources/SemanticIndex/PreparationTaskDescription.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSupport import struct TSCBasic.AbsolutePath diff --git a/Sources/SemanticIndex/SemanticIndexManager.swift b/Sources/SemanticIndex/SemanticIndexManager.swift index cfcbd721e..a71f7627e 100644 --- a/Sources/SemanticIndex/SemanticIndexManager.swift +++ b/Sources/SemanticIndex/SemanticIndexManager.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging /// The logging subsystem that should be used for all index-related logging. let indexLoggingSubsystem = "org.swift.sourcekit-lsp.indexing" diff --git a/Sources/SemanticIndex/TaskScheduler.swift b/Sources/SemanticIndex/TaskScheduler.swift index d923af305..1ac2ddd36 100644 --- a/Sources/SemanticIndex/TaskScheduler.swift +++ b/Sources/SemanticIndex/TaskScheduler.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift b/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift index 583441213..8acff30b5 100644 --- a/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift +++ b/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SourceKitD/CMakeLists.txt b/Sources/SourceKitD/CMakeLists.txt index 704051078..efb4d9b5e 100644 --- a/Sources/SourceKitD/CMakeLists.txt +++ b/Sources/SourceKitD/CMakeLists.txt @@ -16,7 +16,7 @@ set_target_properties(SourceKitD PROPERTIES target_link_libraries(SourceKitD PUBLIC Csourcekitd) target_link_libraries(SourceKitD PRIVATE - LSPLogging + SKLogging SKSupport SwiftExtensions TSCBasic diff --git a/Sources/SourceKitD/DynamicallyLoadedSourceKitD.swift b/Sources/SourceKitD/DynamicallyLoadedSourceKitD.swift index c46d810fb..ab633b9a3 100644 --- a/Sources/SourceKitD/DynamicallyLoadedSourceKitD.swift +++ b/Sources/SourceKitD/DynamicallyLoadedSourceKitD.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging +import SKLogging import SwiftExtensions import struct TSCBasic.AbsolutePath diff --git a/Sources/SourceKitD/SKDRequestDictionary.swift b/Sources/SourceKitD/SKDRequestDictionary.swift index aa2708321..7998daabd 100644 --- a/Sources/SourceKitD/SKDRequestDictionary.swift +++ b/Sources/SourceKitD/SKDRequestDictionary.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Csourcekitd -import LSPLogging +import SKLogging #if canImport(Darwin) import Darwin diff --git a/Sources/SourceKitD/SKDResponse.swift b/Sources/SourceKitD/SKDResponse.swift index 0ea9573f7..5e5aafc2b 100644 --- a/Sources/SourceKitD/SKDResponse.swift +++ b/Sources/SourceKitD/SKDResponse.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Csourcekitd -import LSPLogging +import SKLogging #if canImport(Darwin) import Darwin diff --git a/Sources/SourceKitLSP/CMakeLists.txt b/Sources/SourceKitLSP/CMakeLists.txt index ca36d34da..e35a99131 100644 --- a/Sources/SourceKitLSP/CMakeLists.txt +++ b/Sources/SourceKitLSP/CMakeLists.txt @@ -77,9 +77,9 @@ target_link_libraries(SourceKitLSP PUBLIC BuildServerProtocol LanguageServerProtocol LanguageServerProtocolJSONRPC - LSPLogging SemanticIndex SKCore + SKLogging SKSupport SKSwiftPMWorkspace SourceKitD diff --git a/Sources/SourceKitLSP/CapabilityRegistry.swift b/Sources/SourceKitLSP/CapabilityRegistry.swift index 9c9823e00..ac5201d76 100644 --- a/Sources/SourceKitLSP/CapabilityRegistry.swift +++ b/Sources/SourceKitLSP/CapabilityRegistry.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport /// A class which tracks the client's capabilities as well as our dynamic diff --git a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift index 04d162454..edc7e1fed 100644 --- a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift +++ b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift @@ -10,10 +10,10 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol import LanguageServerProtocolJSONRPC import SKCore +import SKLogging import SKSupport import SwiftExtensions import SwiftSyntax diff --git a/Sources/SourceKitLSP/Clang/SemanticTokenTranslator.swift b/Sources/SourceKitLSP/Clang/SemanticTokenTranslator.swift index f4e4b7767..4c68827fd 100644 --- a/Sources/SourceKitLSP/Clang/SemanticTokenTranslator.swift +++ b/Sources/SourceKitLSP/Clang/SemanticTokenTranslator.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging /// `clangd` might use a different semantic token legend than SourceKit-LSP. /// diff --git a/Sources/SourceKitLSP/CreateBuildSystem.swift b/Sources/SourceKitLSP/CreateBuildSystem.swift index c1c8ca19c..768ed7648 100644 --- a/Sources/SourceKitLSP/CreateBuildSystem.swift +++ b/Sources/SourceKitLSP/CreateBuildSystem.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSwiftPMWorkspace import struct TSCBasic.AbsolutePath diff --git a/Sources/SourceKitLSP/DocumentManager.swift b/Sources/SourceKitLSP/DocumentManager.swift index 18cbe397c..6754979e7 100644 --- a/Sources/SourceKitLSP/DocumentManager.swift +++ b/Sources/SourceKitLSP/DocumentManager.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Dispatch -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SemanticIndex import SwiftSyntax diff --git a/Sources/SourceKitLSP/IndexProgressManager.swift b/Sources/SourceKitLSP/IndexProgressManager.swift index 591ba6ce3..23fd7e9ce 100644 --- a/Sources/SourceKitLSP/IndexProgressManager.swift +++ b/Sources/SourceKitLSP/IndexProgressManager.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSupport import SemanticIndex import SwiftExtensions diff --git a/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift b/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift index a6bef76a0..b99b35ce0 100644 --- a/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift +++ b/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SemanticIndex extension UncheckedIndex { diff --git a/Sources/SourceKitLSP/MessageHandlingDependencyTracker.swift b/Sources/SourceKitLSP/MessageHandlingDependencyTracker.swift index cfa730b39..95032dd5a 100644 --- a/Sources/SourceKitLSP/MessageHandlingDependencyTracker.swift +++ b/Sources/SourceKitLSP/MessageHandlingDependencyTracker.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SourceKitLSP/Rename.swift b/Sources/SourceKitLSP/Rename.swift index 904e8c7e2..f15dd04b5 100644 --- a/Sources/SourceKitLSP/Rename.swift +++ b/Sources/SourceKitLSP/Rename.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// @preconcurrency import IndexStoreDB -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SemanticIndex import SourceKitD diff --git a/Sources/SourceKitLSP/SourceKitIndexDelegate.swift b/Sources/SourceKitLSP/SourceKitIndexDelegate.swift index bd7d35ba2..286d13a25 100644 --- a/Sources/SourceKitLSP/SourceKitIndexDelegate.swift +++ b/Sources/SourceKitLSP/SourceKitIndexDelegate.swift @@ -12,8 +12,8 @@ import Dispatch import IndexStoreDB -import LSPLogging import SKCore +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SourceKitLSP/SourceKitLSPCommandMetadata.swift b/Sources/SourceKitLSP/SourceKitLSPCommandMetadata.swift index bf99da0e8..4e7dea3af 100644 --- a/Sources/SourceKitLSP/SourceKitLSPCommandMetadata.swift +++ b/Sources/SourceKitLSP/SourceKitLSPCommandMetadata.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport /// Represents metadata that SourceKit-LSP injects at every command returned by code actions. diff --git a/Sources/SourceKitLSP/SourceKitLSPServer.swift b/Sources/SourceKitLSP/SourceKitLSPServer.swift index 836bfd175..e8af5bab1 100644 --- a/Sources/SourceKitLSP/SourceKitLSPServer.swift +++ b/Sources/SourceKitLSP/SourceKitLSPServer.swift @@ -14,10 +14,10 @@ import BuildServerProtocol import Dispatch import Foundation import IndexStoreDB -import LSPLogging import LanguageServerProtocol import PackageLoading import SKCore +import SKLogging import SKSupport import SKSwiftPMWorkspace import SemanticIndex diff --git a/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActionProvider.swift b/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActionProvider.swift index 0674c5859..4ed0f42eb 100644 --- a/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActionProvider.swift +++ b/Sources/SourceKitLSP/Swift/CodeActions/SyntaxCodeActionProvider.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SwiftRefactor import SwiftSyntax diff --git a/Sources/SourceKitLSP/Swift/CodeCompletion.swift b/Sources/SourceKitLSP/Swift/CodeCompletion.swift index 68b05e5ca..e91a2f601 100644 --- a/Sources/SourceKitLSP/Swift/CodeCompletion.swift +++ b/Sources/SourceKitLSP/Swift/CodeCompletion.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD import SwiftBasicFormat diff --git a/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift b/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift index 169831789..e3164b79e 100644 --- a/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift +++ b/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import Dispatch -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSupport import SourceKitD import SwiftExtensions diff --git a/Sources/SourceKitLSP/Swift/Diagnostic.swift b/Sources/SourceKitLSP/Swift/Diagnostic.swift index 5c55e2d00..c9281b007 100644 --- a/Sources/SourceKitLSP/Swift/Diagnostic.swift +++ b/Sources/SourceKitLSP/Swift/Diagnostic.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SourceKitD import SwiftDiagnostics diff --git a/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift b/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift index c6b22ba6f..b01480ba1 100644 --- a/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift +++ b/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSupport import SourceKitD import SwiftExtensions diff --git a/Sources/SourceKitLSP/Swift/DocumentFormatting.swift b/Sources/SourceKitLSP/Swift/DocumentFormatting.swift index f6fbcb7e6..97c89ec78 100644 --- a/Sources/SourceKitLSP/Swift/DocumentFormatting.swift +++ b/Sources/SourceKitLSP/Swift/DocumentFormatting.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SwiftParser import SwiftSyntax diff --git a/Sources/SourceKitLSP/Swift/DocumentSymbols.swift b/Sources/SourceKitLSP/Swift/DocumentSymbols.swift index b103959a5..8a01fb128 100644 --- a/Sources/SourceKitLSP/Swift/DocumentSymbols.swift +++ b/Sources/SourceKitLSP/Swift/DocumentSymbols.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SwiftSyntax extension SwiftLanguageService { diff --git a/Sources/SourceKitLSP/Swift/FoldingRange.swift b/Sources/SourceKitLSP/Swift/FoldingRange.swift index d7a7ca713..593d2aa67 100644 --- a/Sources/SourceKitLSP/Swift/FoldingRange.swift +++ b/Sources/SourceKitLSP/Swift/FoldingRange.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SwiftSyntax diff --git a/Sources/SourceKitLSP/Swift/MacroExpansion.swift b/Sources/SourceKitLSP/Swift/MacroExpansion.swift index dd8f6bd8d..1d8b92b82 100644 --- a/Sources/SourceKitLSP/Swift/MacroExpansion.swift +++ b/Sources/SourceKitLSP/Swift/MacroExpansion.swift @@ -12,8 +12,8 @@ import Crypto import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD /// Detailed information about the result of a macro expansion operation. diff --git a/Sources/SourceKitLSP/Swift/OpenInterface.swift b/Sources/SourceKitLSP/Swift/OpenInterface.swift index 2706b0849..b5f3ee445 100644 --- a/Sources/SourceKitLSP/Swift/OpenInterface.swift +++ b/Sources/SourceKitLSP/Swift/OpenInterface.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SourceKitD diff --git a/Sources/SourceKitLSP/Swift/RefactoringResponse.swift b/Sources/SourceKitLSP/Swift/RefactoringResponse.swift index 10dea7900..6b1617f19 100644 --- a/Sources/SourceKitLSP/Swift/RefactoringResponse.swift +++ b/Sources/SourceKitLSP/Swift/RefactoringResponse.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD protocol RefactoringResponse { diff --git a/Sources/SourceKitLSP/Swift/RelatedIdentifiers.swift b/Sources/SourceKitLSP/Swift/RelatedIdentifiers.swift index 555a60dd0..30486461c 100644 --- a/Sources/SourceKitLSP/Swift/RelatedIdentifiers.swift +++ b/Sources/SourceKitLSP/Swift/RelatedIdentifiers.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD struct RelatedIdentifier { diff --git a/Sources/SourceKitLSP/Swift/RewriteSourceKitPlaceholders.swift b/Sources/SourceKitLSP/Swift/RewriteSourceKitPlaceholders.swift index b2722e0be..c453fa42f 100644 --- a/Sources/SourceKitLSP/Swift/RewriteSourceKitPlaceholders.swift +++ b/Sources/SourceKitLSP/Swift/RewriteSourceKitPlaceholders.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -import LSPLogging +import SKLogging @_spi(SourceKitLSP) import SwiftRefactor func rewriteSourceKitPlaceholders(in string: String, clientSupportsSnippets: Bool) -> String { diff --git a/Sources/SourceKitLSP/Swift/SemanticRefactoring.swift b/Sources/SourceKitLSP/Swift/SemanticRefactoring.swift index 44e9cd3c3..feb78061f 100644 --- a/Sources/SourceKitLSP/Swift/SemanticRefactoring.swift +++ b/Sources/SourceKitLSP/Swift/SemanticRefactoring.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD /// Detailed information about the result of a specific refactoring operation. diff --git a/Sources/SourceKitLSP/Swift/SemanticTokens.swift b/Sources/SourceKitLSP/Swift/SemanticTokens.swift index 03bcd1e08..0694f9993 100644 --- a/Sources/SourceKitLSP/Swift/SemanticTokens.swift +++ b/Sources/SourceKitLSP/Swift/SemanticTokens.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD import SwiftIDEUtils import SwiftParser diff --git a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift index 404ae4e03..1f222197b 100644 --- a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift +++ b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift @@ -13,9 +13,9 @@ import Dispatch import Foundation import IndexStoreDB -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSupport import SemanticIndex import SourceKitD diff --git a/Sources/SourceKitLSP/Swift/SwiftTestingScanner.swift b/Sources/SourceKitLSP/Swift/SwiftTestingScanner.swift index 21a11fcb6..0ef02c059 100644 --- a/Sources/SourceKitLSP/Swift/SwiftTestingScanner.swift +++ b/Sources/SourceKitLSP/Swift/SwiftTestingScanner.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SwiftSyntax // MARK: - Attribute parsing diff --git a/Sources/SourceKitLSP/Swift/SyntacticTestIndex.swift b/Sources/SourceKitLSP/Swift/SyntacticTestIndex.swift index 2975af06c..8b865c923 100644 --- a/Sources/SourceKitLSP/Swift/SyntacticTestIndex.swift +++ b/Sources/SourceKitLSP/Swift/SyntacticTestIndex.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SourceKitLSP/Swift/SyntaxHighlightingToken.swift b/Sources/SourceKitLSP/Swift/SyntaxHighlightingToken.swift index ed24fa05d..885424697 100644 --- a/Sources/SourceKitLSP/Swift/SyntaxHighlightingToken.swift +++ b/Sources/SourceKitLSP/Swift/SyntaxHighlightingToken.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD /// A ranged token in the document used for syntax highlighting. diff --git a/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokenParser.swift b/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokenParser.swift index 6e358fb01..3346af694 100644 --- a/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokenParser.swift +++ b/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokenParser.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD /// Parses tokens from sourcekitd response dictionaries. diff --git a/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokens.swift b/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokens.swift index feb2493fc..ece8636fb 100644 --- a/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokens.swift +++ b/Sources/SourceKitLSP/Swift/SyntaxHighlightingTokens.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol +import SKLogging import SourceKitD /// A wrapper around an array of syntax highlighting tokens. diff --git a/Sources/SourceKitLSP/TestDiscovery.swift b/Sources/SourceKitLSP/TestDiscovery.swift index 179cf6ec2..33fdf1547 100644 --- a/Sources/SourceKitLSP/TestDiscovery.swift +++ b/Sources/SourceKitLSP/TestDiscovery.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import IndexStoreDB -import LSPLogging import LanguageServerProtocol +import SKLogging import SemanticIndex import SwiftSyntax diff --git a/Sources/SourceKitLSP/WorkDoneProgressManager.swift b/Sources/SourceKitLSP/WorkDoneProgressManager.swift index a968de43f..2f1efa5f1 100644 --- a/Sources/SourceKitLSP/WorkDoneProgressManager.swift +++ b/Sources/SourceKitLSP/WorkDoneProgressManager.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LanguageServerProtocol +import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SourceKitLSP/Workspace.swift b/Sources/SourceKitLSP/Workspace.swift index daffe70a6..46ca68162 100644 --- a/Sources/SourceKitLSP/Workspace.swift +++ b/Sources/SourceKitLSP/Workspace.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import IndexStoreDB -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SKSupport import SemanticIndex import SwiftExtensions diff --git a/Sources/sourcekit-lsp/SourceKitLSP.swift b/Sources/sourcekit-lsp/SourceKitLSP.swift index a499e0abb..8a0d25982 100644 --- a/Sources/sourcekit-lsp/SourceKitLSP.swift +++ b/Sources/sourcekit-lsp/SourceKitLSP.swift @@ -14,10 +14,10 @@ import ArgumentParser import Csourcekitd // Not needed here, but fixes debugging... import Diagnose import Dispatch -import LSPLogging import LanguageServerProtocol import LanguageServerProtocolJSONRPC import SKCore +import SKLogging import SKSupport import SourceKitLSP diff --git a/Tests/DiagnoseTests/DiagnoseTests.swift b/Tests/DiagnoseTests/DiagnoseTests.swift index 4e7fdafcb..c7c9b8305 100644 --- a/Tests/DiagnoseTests/DiagnoseTests.swift +++ b/Tests/DiagnoseTests/DiagnoseTests.swift @@ -12,9 +12,9 @@ @_spi(Testing) import Diagnose import Foundation -import LSPLogging import LSPTestSupport @_spi(Testing) import SKCore +import SKLogging import SKTestSupport import SourceKitD import XCTest diff --git a/Tests/LSPLoggingTests/LoggingTests.swift b/Tests/SKLoggingTests/LoggingTests.swift similarity index 98% rename from Tests/LSPLoggingTests/LoggingTests.swift rename to Tests/SKLoggingTests/LoggingTests.swift index 3e4aa16aa..6b16149d3 100644 --- a/Tests/LSPLoggingTests/LoggingTests.swift +++ b/Tests/SKLoggingTests/LoggingTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -@_spi(Testing) import LSPLogging import LSPTestSupport +@_spi(Testing) import SKLogging import SKTestSupport import XCTest @@ -189,7 +189,7 @@ final class LoggingTests: XCTestCase { await assertLogging( privacyLevel: .public, - expected: ["logging from LSPLoggingTests.LoggingTests"] + expected: ["logging from SKLoggingTests.LoggingTests"] ) { $0.log("logging from \(LoggingTests.self)") } diff --git a/Tests/SemanticIndexTests/TaskSchedulerTests.swift b/Tests/SemanticIndexTests/TaskSchedulerTests.swift index efcf36dcc..770a41f56 100644 --- a/Tests/SemanticIndexTests/TaskSchedulerTests.swift +++ b/Tests/SemanticIndexTests/TaskSchedulerTests.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -import LSPLogging +import SKLogging import SKTestSupport import SemanticIndex import XCTest diff --git a/Tests/SourceKitDTests/CrashRecoveryTests.swift b/Tests/SourceKitDTests/CrashRecoveryTests.swift index 5394b2522..881325418 100644 --- a/Tests/SourceKitDTests/CrashRecoveryTests.swift +++ b/Tests/SourceKitDTests/CrashRecoveryTests.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import ISDBTestSupport -import LSPLogging import LSPTestSupport import LanguageServerProtocol +import SKLogging import SKSupport import SKTestSupport import SourceKitD diff --git a/Tests/SourceKitLSPTests/DefinitionTests.swift b/Tests/SourceKitLSPTests/DefinitionTests.swift index 4b5dc75d0..ec14bad94 100644 --- a/Tests/SourceKitLSPTests/DefinitionTests.swift +++ b/Tests/SourceKitLSPTests/DefinitionTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -@_spi(Testing) import LSPLogging import LSPTestSupport import LanguageServerProtocol +@_spi(Testing) import SKLogging import SKTestSupport import XCTest diff --git a/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift b/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift index f0f2ae128..16ea3d9f3 100644 --- a/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift +++ b/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LanguageServerProtocol import SKCore +import SKLogging import SemanticIndex import XCTest diff --git a/Tests/SourceKitLSPTests/FormattingTests.swift b/Tests/SourceKitLSPTests/FormattingTests.swift index db2c3fe34..189e71ad0 100644 --- a/Tests/SourceKitLSPTests/FormattingTests.swift +++ b/Tests/SourceKitLSPTests/FormattingTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LSPTestSupport import LanguageServerProtocol +import SKLogging import SKTestSupport import SourceKitLSP import XCTest diff --git a/Tests/SourceKitLSPTests/LocalSwiftTests.swift b/Tests/SourceKitLSPTests/LocalSwiftTests.swift index bd3fe9a5f..b75b2ae39 100644 --- a/Tests/SourceKitLSPTests/LocalSwiftTests.swift +++ b/Tests/SourceKitLSPTests/LocalSwiftTests.swift @@ -10,10 +10,10 @@ // //===----------------------------------------------------------------------===// -import LSPLogging import LSPTestSupport import LanguageServerProtocol import SKCore +import SKLogging import SKTestSupport import SourceKitD @_spi(Testing) import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift b/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift index d6582a018..f0058b037 100644 --- a/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift +++ b/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift @@ -12,9 +12,9 @@ import Foundation import ISDBTestSupport -import LSPLogging import LSPTestSupport import LanguageServerProtocol +import SKLogging import SKSupport import SKTestSupport import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/WorkspaceTests.swift b/Tests/SourceKitLSPTests/WorkspaceTests.swift index 8841fe571..f542605c8 100644 --- a/Tests/SourceKitLSPTests/WorkspaceTests.swift +++ b/Tests/SourceKitLSPTests/WorkspaceTests.swift @@ -11,10 +11,10 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPLogging import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore +import SKLogging import SKTestSupport import SourceKitLSP import TSCBasic From 1ef71cf6631986c8a2337d114dc052642deedc61 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Wed, 24 Jul 2024 14:36:12 -0700 Subject: [PATCH 2/6] Merge LSPTestSupport and SKTestSupport --- Documentation/Modules.md | 4 ---- Package.swift | 24 ++++--------------- .../Assertions.swift | 0 .../CheckCoding.swift | 0 .../PerfTestCase.swift | 0 .../RepeatUntilExpectedResult.swift | 2 +- Sources/SKTestSupport/SkipUnless.swift | 2 +- .../String+TrimTrailingWhitespace.swift | 0 .../TestJSONRPCConnection.swift | 0 .../TestSourceKitLSPClient.swift | 2 +- .../Timeouts.swift | 0 Sources/SKTestSupport/WrappedSemaphore.swift | 2 +- Tests/DiagnoseTests/DiagnoseTests.swift | 1 - .../CodingTests.swift | 2 +- .../ConnectionPerfTests.swift | 2 +- .../ConnectionTests.swift | 2 +- .../CodingTests.swift | 2 +- .../ConnectionTests.swift | 2 +- .../BuildServerBuildSystemTests.swift | 1 - .../SKCoreTests/BuildSystemManagerTests.swift | 2 +- .../CompilationDatabasePerfTests.swift | 2 +- .../CompilationDatabaseTests.swift | 2 +- .../FallbackBuildSystemTests.swift | 2 +- .../SKCoreTests/ToolchainRegistryTests.swift | 1 - Tests/SKLoggingTests/LoggingTests.swift | 1 - Tests/SKSupportTests/AsyncUtilsTests.swift | 2 +- Tests/SKSupportTests/DebouncerTests.swift | 2 +- Tests/SKSupportTests/LineTablePerfTests.swift | 1 - Tests/SKSupportTests/ProcessRunTests.swift | 1 - .../SwiftPMBuildSystemTests.swift | 1 - .../SourceKitDTests/CrashRecoveryTests.swift | 1 - .../SourceKitDRegistryTests.swift | 2 +- Tests/SourceKitDTests/SourceKitDTests.swift | 1 - .../BackgroundIndexingTests.swift | 1 - .../SourceKitLSPTests/BuildSystemTests.swift | 1 - .../CallHierarchyTests.swift | 1 - Tests/SourceKitLSPTests/CodeActionTests.swift | 1 - Tests/SourceKitLSPTests/DefinitionTests.swift | 1 - .../DocumentColorTests.swift | 1 - .../DocumentSymbolTests.swift | 1 - .../ExecuteCommandTests.swift | 1 - .../SourceKitLSPTests/FoldingRangeTests.swift | 1 - Tests/SourceKitLSPTests/FormattingTests.swift | 1 - Tests/SourceKitLSPTests/HoverTests.swift | 1 - .../ImplementationTests.swift | 1 - Tests/SourceKitLSPTests/InlayHintTests.swift | 1 - Tests/SourceKitLSPTests/LifecycleTests.swift | 1 - Tests/SourceKitLSPTests/LocalClangTests.swift | 1 - Tests/SourceKitLSPTests/LocalSwiftTests.swift | 1 - .../MainFilesProviderTests.swift | 1 - .../PublishDiagnosticsTests.swift | 1 - .../PullDiagnosticsTests.swift | 1 - .../SemanticTokensTests.swift | 1 - .../SwiftCompletionTests.swift | 1 - .../SwiftInterfaceTests.swift | 1 - .../TypeHierarchyTests.swift | 1 - .../WorkspaceTestDiscoveryTests.swift | 1 - Tests/SourceKitLSPTests/WorkspaceTests.swift | 1 - 58 files changed, 20 insertions(+), 74 deletions(-) rename Sources/{LSPTestSupport => SKTestSupport}/Assertions.swift (100%) rename Sources/{LSPTestSupport => SKTestSupport}/CheckCoding.swift (100%) rename Sources/{LSPTestSupport => SKTestSupport}/PerfTestCase.swift (100%) rename Sources/{LSPTestSupport => SKTestSupport}/String+TrimTrailingWhitespace.swift (100%) rename Sources/{LSPTestSupport => SKTestSupport}/TestJSONRPCConnection.swift (100%) rename Sources/{LSPTestSupport => SKTestSupport}/Timeouts.swift (100%) diff --git a/Documentation/Modules.md b/Documentation/Modules.md index 71516237e..29a73c240 100644 --- a/Documentation/Modules.md +++ b/Documentation/Modules.md @@ -38,10 +38,6 @@ Swift types to represent the [Language Server Protocol (LSP) specification, vers A connection to or from a SourceKit-LSP server. Since message parsing can fail, it needs to handle errors in some way and the design decision here is to use SKLogging, which hardcodes `org.swift.sourcekit-lsp` as the default logging subsystem and thus makes the module unsuitable for generic clients. -### LSPTestSupport - -FIXME: Merge this module with SKTestSupport - ### SemanticIndex Contains the interface with which SourceKit-LSP queries the semantic index, adding up-to-date checks on top of the indexstore-db API. Also implements the types that manage background indexing. diff --git a/Package.swift b/Package.swift index 3f49ca4aa..33acc713c 100644 --- a/Package.swift +++ b/Package.swift @@ -94,7 +94,6 @@ let package = Package( name: "DiagnoseTests", dependencies: [ "Diagnose", - "LSPTestSupport", "SKCore", "SKLogging", "SKTestSupport", @@ -128,7 +127,7 @@ let package = Package( name: "LanguageServerProtocolTests", dependencies: [ "LanguageServerProtocol", - "LSPTestSupport", + "SKTestSupport", ] ), @@ -147,20 +146,7 @@ let package = Package( name: "LanguageServerProtocolJSONRPCTests", dependencies: [ "LanguageServerProtocolJSONRPC", - "LSPTestSupport", - ] - ), - - // MARK: LSPTestSupport - - .target( - name: "LSPTestSupport", - dependencies: [ - "InProcessClient", - "LanguageServerProtocol", - "LanguageServerProtocolJSONRPC", - "SKSupport", - "SwiftExtensions", + "SKTestSupport", ] ), @@ -250,7 +236,6 @@ let package = Package( .testTarget( name: "SKSupportTests", dependencies: [ - "LSPTestSupport", "SKSupport", "SKTestSupport", "SwiftExtensions", @@ -276,7 +261,6 @@ let package = Package( .testTarget( name: "SKSwiftPMWorkspaceTests", dependencies: [ - "LSPTestSupport", "LanguageServerProtocol", "SKCore", "SKSwiftPMWorkspace", @@ -295,9 +279,10 @@ let package = Package( "CSKTestSupport", "InProcessClient", "LanguageServerProtocol", - "LSPTestSupport", + "LanguageServerProtocolJSONRPC", "SKCore", "SKLogging", + "SKSupport", "SourceKitLSP", "SwiftExtensions", .product(name: "ISDBTestSupport", package: "indexstore-db"), @@ -364,7 +349,6 @@ let package = Package( dependencies: [ "BuildServerProtocol", "LanguageServerProtocol", - "LSPTestSupport", "SemanticIndex", "SKCore", "SKLogging", diff --git a/Sources/LSPTestSupport/Assertions.swift b/Sources/SKTestSupport/Assertions.swift similarity index 100% rename from Sources/LSPTestSupport/Assertions.swift rename to Sources/SKTestSupport/Assertions.swift diff --git a/Sources/LSPTestSupport/CheckCoding.swift b/Sources/SKTestSupport/CheckCoding.swift similarity index 100% rename from Sources/LSPTestSupport/CheckCoding.swift rename to Sources/SKTestSupport/CheckCoding.swift diff --git a/Sources/LSPTestSupport/PerfTestCase.swift b/Sources/SKTestSupport/PerfTestCase.swift similarity index 100% rename from Sources/LSPTestSupport/PerfTestCase.swift rename to Sources/SKTestSupport/PerfTestCase.swift diff --git a/Sources/SKTestSupport/RepeatUntilExpectedResult.swift b/Sources/SKTestSupport/RepeatUntilExpectedResult.swift index 2fd09cd12..a421645e4 100644 --- a/Sources/SKTestSupport/RepeatUntilExpectedResult.swift +++ b/Sources/SKTestSupport/RepeatUntilExpectedResult.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport +import SKTestSupport import XCTest /// Runs the body repeatedly once per second until it returns `true`, giving up after `timeout`. diff --git a/Sources/SKTestSupport/SkipUnless.swift b/Sources/SKTestSupport/SkipUnless.swift index 1e2c3c733..b1411c133 100644 --- a/Sources/SKTestSupport/SkipUnless.swift +++ b/Sources/SKTestSupport/SkipUnless.swift @@ -11,11 +11,11 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPTestSupport import LanguageServerProtocol import RegexBuilder @_spi(Testing) import SKCore import SKLogging +import SKTestSupport import SourceKitLSP import XCTest diff --git a/Sources/LSPTestSupport/String+TrimTrailingWhitespace.swift b/Sources/SKTestSupport/String+TrimTrailingWhitespace.swift similarity index 100% rename from Sources/LSPTestSupport/String+TrimTrailingWhitespace.swift rename to Sources/SKTestSupport/String+TrimTrailingWhitespace.swift diff --git a/Sources/LSPTestSupport/TestJSONRPCConnection.swift b/Sources/SKTestSupport/TestJSONRPCConnection.swift similarity index 100% rename from Sources/LSPTestSupport/TestJSONRPCConnection.swift rename to Sources/SKTestSupport/TestJSONRPCConnection.swift diff --git a/Sources/SKTestSupport/TestSourceKitLSPClient.swift b/Sources/SKTestSupport/TestSourceKitLSPClient.swift index 649762118..cd93b5cef 100644 --- a/Sources/SKTestSupport/TestSourceKitLSPClient.swift +++ b/Sources/SKTestSupport/TestSourceKitLSPClient.swift @@ -12,11 +12,11 @@ import Foundation import InProcessClient -import LSPTestSupport import LanguageServerProtocol import LanguageServerProtocolJSONRPC @_spi(Testing) import SKCore import SKSupport +import SKTestSupport import SourceKitLSP import SwiftExtensions import SwiftSyntax diff --git a/Sources/LSPTestSupport/Timeouts.swift b/Sources/SKTestSupport/Timeouts.swift similarity index 100% rename from Sources/LSPTestSupport/Timeouts.swift rename to Sources/SKTestSupport/Timeouts.swift diff --git a/Sources/SKTestSupport/WrappedSemaphore.swift b/Sources/SKTestSupport/WrappedSemaphore.swift index 84e8335af..52bad1b1e 100644 --- a/Sources/SKTestSupport/WrappedSemaphore.swift +++ b/Sources/SKTestSupport/WrappedSemaphore.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Dispatch -import LSPTestSupport +import SKTestSupport import XCTest /// Wrapper around `DispatchSemaphore` so that Swift Concurrency doesn't complain about the usage of semaphores in the diff --git a/Tests/DiagnoseTests/DiagnoseTests.swift b/Tests/DiagnoseTests/DiagnoseTests.swift index c7c9b8305..2708e400e 100644 --- a/Tests/DiagnoseTests/DiagnoseTests.swift +++ b/Tests/DiagnoseTests/DiagnoseTests.swift @@ -12,7 +12,6 @@ @_spi(Testing) import Diagnose import Foundation -import LSPTestSupport @_spi(Testing) import SKCore import SKLogging import SKTestSupport diff --git a/Tests/LanguageServerProtocolJSONRPCTests/CodingTests.swift b/Tests/LanguageServerProtocolJSONRPCTests/CodingTests.swift index 22abe21ce..46f02a890 100644 --- a/Tests/LanguageServerProtocolJSONRPCTests/CodingTests.swift +++ b/Tests/LanguageServerProtocolJSONRPCTests/CodingTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import LanguageServerProtocolJSONRPC +import SKTestSupport import XCTest final class CodingTests: XCTestCase { diff --git a/Tests/LanguageServerProtocolJSONRPCTests/ConnectionPerfTests.swift b/Tests/LanguageServerProtocolJSONRPCTests/ConnectionPerfTests.swift index 8ba626dbb..f13587e05 100644 --- a/Tests/LanguageServerProtocolJSONRPCTests/ConnectionPerfTests.swift +++ b/Tests/LanguageServerProtocolJSONRPCTests/ConnectionPerfTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocolJSONRPC +import SKTestSupport import XCTest class ConnectionPerfTests: PerfTestCase { diff --git a/Tests/LanguageServerProtocolJSONRPCTests/ConnectionTests.swift b/Tests/LanguageServerProtocolJSONRPCTests/ConnectionTests.swift index 6d5ae6f71..6072f9fad 100644 --- a/Tests/LanguageServerProtocolJSONRPCTests/ConnectionTests.swift +++ b/Tests/LanguageServerProtocolJSONRPCTests/ConnectionTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import LanguageServerProtocolJSONRPC +import SKTestSupport import XCTest #if canImport(Darwin) diff --git a/Tests/LanguageServerProtocolTests/CodingTests.swift b/Tests/LanguageServerProtocolTests/CodingTests.swift index 94415d42f..ee81ec2b0 100644 --- a/Tests/LanguageServerProtocolTests/CodingTests.swift +++ b/Tests/LanguageServerProtocolTests/CodingTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol +import SKTestSupport import XCTest final class CodingTests: XCTestCase { diff --git a/Tests/LanguageServerProtocolTests/ConnectionTests.swift b/Tests/LanguageServerProtocolTests/ConnectionTests.swift index 5a6c703e5..3e8e5a78c 100644 --- a/Tests/LanguageServerProtocolTests/ConnectionTests.swift +++ b/Tests/LanguageServerProtocolTests/ConnectionTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol +import SKTestSupport import XCTest class ConnectionTests: XCTestCase { diff --git a/Tests/SKCoreTests/BuildServerBuildSystemTests.swift b/Tests/SKCoreTests/BuildServerBuildSystemTests.swift index b67d5c773..a30c43f63 100644 --- a/Tests/SKCoreTests/BuildServerBuildSystemTests.swift +++ b/Tests/SKCoreTests/BuildServerBuildSystemTests.swift @@ -12,7 +12,6 @@ import BuildServerProtocol import ISDBTestSupport -import LSPTestSupport import LanguageServerProtocol import SKCore import SKTestSupport diff --git a/Tests/SKCoreTests/BuildSystemManagerTests.swift b/Tests/SKCoreTests/BuildSystemManagerTests.swift index 6cb88dbb9..e71dc3684 100644 --- a/Tests/SKCoreTests/BuildSystemManagerTests.swift +++ b/Tests/SKCoreTests/BuildSystemManagerTests.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore +import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKCoreTests/CompilationDatabasePerfTests.swift b/Tests/SKCoreTests/CompilationDatabasePerfTests.swift index 152caa9d9..b3b6e0cb0 100644 --- a/Tests/SKCoreTests/CompilationDatabasePerfTests.swift +++ b/Tests/SKCoreTests/CompilationDatabasePerfTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKCore +import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKCoreTests/CompilationDatabaseTests.swift b/Tests/SKCoreTests/CompilationDatabaseTests.swift index 27ddddeb5..bfec15156 100644 --- a/Tests/SKCoreTests/CompilationDatabaseTests.swift +++ b/Tests/SKCoreTests/CompilationDatabaseTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKCore +import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKCoreTests/FallbackBuildSystemTests.swift b/Tests/SKCoreTests/FallbackBuildSystemTests.swift index ce446d0c0..7d5b28598 100644 --- a/Tests/SKCoreTests/FallbackBuildSystemTests.swift +++ b/Tests/SKCoreTests/FallbackBuildSystemTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore +import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKCoreTests/ToolchainRegistryTests.swift b/Tests/SKCoreTests/ToolchainRegistryTests.swift index 98f4b82e1..f2df8b040 100644 --- a/Tests/SKCoreTests/ToolchainRegistryTests.swift +++ b/Tests/SKCoreTests/ToolchainRegistryTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport @_spi(Testing) import SKCore import SKSupport import SKTestSupport diff --git a/Tests/SKLoggingTests/LoggingTests.swift b/Tests/SKLoggingTests/LoggingTests.swift index 6b16149d3..92f571e86 100644 --- a/Tests/SKLoggingTests/LoggingTests.swift +++ b/Tests/SKLoggingTests/LoggingTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport @_spi(Testing) import SKLogging import SKTestSupport import XCTest diff --git a/Tests/SKSupportTests/AsyncUtilsTests.swift b/Tests/SKSupportTests/AsyncUtilsTests.swift index 338fe9120..f87928a3e 100644 --- a/Tests/SKSupportTests/AsyncUtilsTests.swift +++ b/Tests/SKSupportTests/AsyncUtilsTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import SKSupport +import SKTestSupport import SwiftExtensions import XCTest diff --git a/Tests/SKSupportTests/DebouncerTests.swift b/Tests/SKSupportTests/DebouncerTests.swift index 1d33b8ba1..3d8d94d12 100644 --- a/Tests/SKSupportTests/DebouncerTests.swift +++ b/Tests/SKSupportTests/DebouncerTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import SKSupport +import SKTestSupport import XCTest final class DebouncerTests: XCTestCase { diff --git a/Tests/SKSupportTests/LineTablePerfTests.swift b/Tests/SKSupportTests/LineTablePerfTests.swift index 8122f50ce..72a19a794 100644 --- a/Tests/SKSupportTests/LineTablePerfTests.swift +++ b/Tests/SKSupportTests/LineTablePerfTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import SKSupport import SKTestSupport import XCTest diff --git a/Tests/SKSupportTests/ProcessRunTests.swift b/Tests/SKSupportTests/ProcessRunTests.swift index 3b32aa187..83c81b13c 100644 --- a/Tests/SKSupportTests/ProcessRunTests.swift +++ b/Tests/SKSupportTests/ProcessRunTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import SKSupport import SKTestSupport import XCTest diff --git a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift index 54bcc5caf..ba50e94c9 100644 --- a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift +++ b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import Build -import LSPTestSupport import LanguageServerProtocol import PackageModel @_spi(Testing) import SKCore diff --git a/Tests/SourceKitDTests/CrashRecoveryTests.swift b/Tests/SourceKitDTests/CrashRecoveryTests.swift index 881325418..04788b559 100644 --- a/Tests/SourceKitDTests/CrashRecoveryTests.swift +++ b/Tests/SourceKitDTests/CrashRecoveryTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import ISDBTestSupport -import LSPTestSupport import LanguageServerProtocol import SKLogging import SKSupport diff --git a/Tests/SourceKitDTests/SourceKitDRegistryTests.swift b/Tests/SourceKitDTests/SourceKitDRegistryTests.swift index f9ff0f4c6..59af27407 100644 --- a/Tests/SourceKitDTests/SourceKitDRegistryTests.swift +++ b/Tests/SourceKitDTests/SourceKitDRegistryTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import SKSupport +import SKTestSupport import SourceKitD import TSCBasic import XCTest diff --git a/Tests/SourceKitDTests/SourceKitDTests.swift b/Tests/SourceKitDTests/SourceKitDTests.swift index f781cd2aa..8adbb6f32 100644 --- a/Tests/SourceKitDTests/SourceKitDTests.swift +++ b/Tests/SourceKitDTests/SourceKitDTests.swift @@ -12,7 +12,6 @@ import Foundation import ISDBTestSupport -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore import SKSupport diff --git a/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift b/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift index f061cc4fb..aeffe6c30 100644 --- a/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift +++ b/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore import SKSupport diff --git a/Tests/SourceKitLSPTests/BuildSystemTests.swift b/Tests/SourceKitLSPTests/BuildSystemTests.swift index bb656131d..5e10c64aa 100644 --- a/Tests/SourceKitLSPTests/BuildSystemTests.swift +++ b/Tests/SourceKitLSPTests/BuildSystemTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore import SKTestSupport diff --git a/Tests/SourceKitLSPTests/CallHierarchyTests.swift b/Tests/SourceKitLSPTests/CallHierarchyTests.swift index 4a90f1d61..d1651dc51 100644 --- a/Tests/SourceKitLSPTests/CallHierarchyTests.swift +++ b/Tests/SourceKitLSPTests/CallHierarchyTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import ISDBTestSupport -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import TSCBasic diff --git a/Tests/SourceKitLSPTests/CodeActionTests.swift b/Tests/SourceKitLSPTests/CodeActionTests.swift index d359348a4..a87094aff 100644 --- a/Tests/SourceKitLSPTests/CodeActionTests.swift +++ b/Tests/SourceKitLSPTests/CodeActionTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/DefinitionTests.swift b/Tests/SourceKitLSPTests/DefinitionTests.swift index ec14bad94..ac584cc88 100644 --- a/Tests/SourceKitLSPTests/DefinitionTests.swift +++ b/Tests/SourceKitLSPTests/DefinitionTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKLogging import SKTestSupport diff --git a/Tests/SourceKitLSPTests/DocumentColorTests.swift b/Tests/SourceKitLSPTests/DocumentColorTests.swift index c92cce7fb..5fd50032d 100644 --- a/Tests/SourceKitLSPTests/DocumentColorTests.swift +++ b/Tests/SourceKitLSPTests/DocumentColorTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/DocumentSymbolTests.swift b/Tests/SourceKitLSPTests/DocumentSymbolTests.swift index 500ef1d75..a0420c15c 100644 --- a/Tests/SourceKitLSPTests/DocumentSymbolTests.swift +++ b/Tests/SourceKitLSPTests/DocumentSymbolTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/ExecuteCommandTests.swift b/Tests/SourceKitLSPTests/ExecuteCommandTests.swift index f06a70241..1b06b6233 100644 --- a/Tests/SourceKitLSPTests/ExecuteCommandTests.swift +++ b/Tests/SourceKitLSPTests/ExecuteCommandTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKCore import SKTestSupport diff --git a/Tests/SourceKitLSPTests/FoldingRangeTests.swift b/Tests/SourceKitLSPTests/FoldingRangeTests.swift index 8fb9500c7..c594ffdd6 100644 --- a/Tests/SourceKitLSPTests/FoldingRangeTests.swift +++ b/Tests/SourceKitLSPTests/FoldingRangeTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import XCTest diff --git a/Tests/SourceKitLSPTests/FormattingTests.swift b/Tests/SourceKitLSPTests/FormattingTests.swift index 189e71ad0..0f5f0a536 100644 --- a/Tests/SourceKitLSPTests/FormattingTests.swift +++ b/Tests/SourceKitLSPTests/FormattingTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKLogging import SKTestSupport diff --git a/Tests/SourceKitLSPTests/HoverTests.swift b/Tests/SourceKitLSPTests/HoverTests.swift index 747972c12..02376ad08 100644 --- a/Tests/SourceKitLSPTests/HoverTests.swift +++ b/Tests/SourceKitLSPTests/HoverTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import XCTest diff --git a/Tests/SourceKitLSPTests/ImplementationTests.swift b/Tests/SourceKitLSPTests/ImplementationTests.swift index d3ea28163..f60519f03 100644 --- a/Tests/SourceKitLSPTests/ImplementationTests.swift +++ b/Tests/SourceKitLSPTests/ImplementationTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import ISDBTestSupport -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import TSCBasic diff --git a/Tests/SourceKitLSPTests/InlayHintTests.swift b/Tests/SourceKitLSPTests/InlayHintTests.swift index 34dd19780..50e443d32 100644 --- a/Tests/SourceKitLSPTests/InlayHintTests.swift +++ b/Tests/SourceKitLSPTests/InlayHintTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/LifecycleTests.swift b/Tests/SourceKitLSPTests/LifecycleTests.swift index 2a87c8f19..0ca5b4524 100644 --- a/Tests/SourceKitLSPTests/LifecycleTests.swift +++ b/Tests/SourceKitLSPTests/LifecycleTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import XCTest diff --git a/Tests/SourceKitLSPTests/LocalClangTests.swift b/Tests/SourceKitLSPTests/LocalClangTests.swift index 717f275dc..214c3f68e 100644 --- a/Tests/SourceKitLSPTests/LocalClangTests.swift +++ b/Tests/SourceKitLSPTests/LocalClangTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKCore import SKTestSupport diff --git a/Tests/SourceKitLSPTests/LocalSwiftTests.swift b/Tests/SourceKitLSPTests/LocalSwiftTests.swift index b75b2ae39..c08986bbf 100644 --- a/Tests/SourceKitLSPTests/LocalSwiftTests.swift +++ b/Tests/SourceKitLSPTests/LocalSwiftTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKCore import SKLogging diff --git a/Tests/SourceKitLSPTests/MainFilesProviderTests.swift b/Tests/SourceKitLSPTests/MainFilesProviderTests.swift index f2f13405a..1f4582b81 100644 --- a/Tests/SourceKitLSPTests/MainFilesProviderTests.swift +++ b/Tests/SourceKitLSPTests/MainFilesProviderTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKCore import SKTestSupport diff --git a/Tests/SourceKitLSPTests/PublishDiagnosticsTests.swift b/Tests/SourceKitLSPTests/PublishDiagnosticsTests.swift index a0659d23c..aac314f3f 100644 --- a/Tests/SourceKitLSPTests/PublishDiagnosticsTests.swift +++ b/Tests/SourceKitLSPTests/PublishDiagnosticsTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import XCTest diff --git a/Tests/SourceKitLSPTests/PullDiagnosticsTests.swift b/Tests/SourceKitLSPTests/PullDiagnosticsTests.swift index 8c01600ac..cd7a1d3da 100644 --- a/Tests/SourceKitLSPTests/PullDiagnosticsTests.swift +++ b/Tests/SourceKitLSPTests/PullDiagnosticsTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKSupport import SKTestSupport diff --git a/Tests/SourceKitLSPTests/SemanticTokensTests.swift b/Tests/SourceKitLSPTests/SemanticTokensTests.swift index ae8292add..402b84b21 100644 --- a/Tests/SourceKitLSPTests/SemanticTokensTests.swift +++ b/Tests/SourceKitLSPTests/SemanticTokensTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKSupport import SKTestSupport diff --git a/Tests/SourceKitLSPTests/SwiftCompletionTests.swift b/Tests/SourceKitLSPTests/SwiftCompletionTests.swift index bb0111572..de3eba8f8 100644 --- a/Tests/SourceKitLSPTests/SwiftCompletionTests.swift +++ b/Tests/SourceKitLSPTests/SwiftCompletionTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift b/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift index f0058b037..69a327483 100644 --- a/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift +++ b/Tests/SourceKitLSPTests/SwiftInterfaceTests.swift @@ -12,7 +12,6 @@ import Foundation import ISDBTestSupport -import LSPTestSupport import LanguageServerProtocol import SKLogging import SKSupport diff --git a/Tests/SourceKitLSPTests/TypeHierarchyTests.swift b/Tests/SourceKitLSPTests/TypeHierarchyTests.swift index 614fa9265..a7ac1242f 100644 --- a/Tests/SourceKitLSPTests/TypeHierarchyTests.swift +++ b/Tests/SourceKitLSPTests/TypeHierarchyTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import ISDBTestSupport -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import TSCBasic diff --git a/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift b/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift index a182ccf83..c3b8dad56 100644 --- a/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift +++ b/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore import SKTestSupport diff --git a/Tests/SourceKitLSPTests/WorkspaceTests.swift b/Tests/SourceKitLSPTests/WorkspaceTests.swift index f542605c8..27fa666a8 100644 --- a/Tests/SourceKitLSPTests/WorkspaceTests.swift +++ b/Tests/SourceKitLSPTests/WorkspaceTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import Foundation -import LSPTestSupport import LanguageServerProtocol @_spi(Testing) import SKCore import SKLogging From cfe18f125622dcaa2a9b65e0dab5df52215496b8 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Wed, 24 Jul 2024 14:37:32 -0700 Subject: [PATCH 3/6] Split toolchain-related functionality out of `SKCore` --- Documentation/Modules.md | 11 ++---- Package.swift | 37 +++++++++++++++++++ Sources/CMakeLists.txt | 1 + Sources/Diagnose/CMakeLists.txt | 1 + Sources/Diagnose/DiagnoseCommand.swift | 2 +- Sources/Diagnose/IndexCommand.swift | 1 + Sources/Diagnose/ReduceCommand.swift | 2 +- Sources/Diagnose/ReduceFrontendCommand.swift | 2 +- Sources/Diagnose/ReproducerBundle.swift | 2 +- .../RunSourcekitdRequestCommand.swift | 2 +- .../Diagnose/Toolchain+SwiftFrontend.swift | 2 +- Sources/InProcessClient/CMakeLists.txt | 1 + .../InProcessSourceKitLSPClient.swift | 1 + Sources/SKCore/BuildServerBuildSystem.swift | 3 +- Sources/SKCore/BuildSystem.swift | 1 + Sources/SKCore/BuildSystemManager.swift | 1 + Sources/SKCore/CMakeLists.txt | 6 +-- .../CompilationDatabaseBuildSystem.swift | 3 +- Sources/SKSwiftPMWorkspace/CMakeLists.txt | 1 + .../SwiftPMBuildSystem.swift | 8 ++-- .../IndexedSingleSwiftFileTestProject.swift | 1 + Sources/SKTestSupport/SkipUnless.swift | 1 + .../SKTestSupport/SwiftPMTestProject.swift | 1 + .../TestSourceKitLSPClient.swift | 1 + Sources/SemanticIndex/CMakeLists.txt | 1 + Sources/SemanticIndex/UpToDateTracker.swift | 1 - .../UpdateIndexStoreTaskDescription.swift | 1 + Sources/SourceKitLSP/CMakeLists.txt | 1 + .../Clang/ClangLanguageService.swift | 1 + Sources/SourceKitLSP/CreateBuildSystem.swift | 1 + Sources/SourceKitLSP/LanguageService.swift | 1 + Sources/SourceKitLSP/SourceKitLSPServer.swift | 1 + .../Swift/SwiftLanguageService.swift | 1 + Sources/SourceKitLSP/Workspace.swift | 1 + Sources/ToolchainRegistry/CMakeLists.txt | 13 +++++++ .../Toolchain.swift | 2 - .../ToolchainRegistry.swift | 2 - .../XCToolchainPlist.swift | 0 Sources/sourcekit-lsp/CMakeLists.txt | 1 + Sources/sourcekit-lsp/SourceKitLSP.swift | 1 + Tests/DiagnoseTests/DiagnoseTests.swift | 1 + .../SKCoreTests/BuildSystemManagerTests.swift | 3 +- .../SwiftPMBuildSystemTests.swift | 1 + Tests/SourceKitDTests/SourceKitDTests.swift | 1 + .../BackgroundIndexingTests.swift | 1 + .../SourceKitLSPTests/BuildSystemTests.swift | 3 +- .../WorkspaceTestDiscoveryTests.swift | 1 + Tests/SourceKitLSPTests/WorkspaceTests.swift | 1 + .../ToolchainRegistryTests.swift | 3 +- 49 files changed, 104 insertions(+), 32 deletions(-) create mode 100644 Sources/ToolchainRegistry/CMakeLists.txt rename Sources/{SKCore => ToolchainRegistry}/Toolchain.swift (99%) rename Sources/{SKCore => ToolchainRegistry}/ToolchainRegistry.swift (99%) rename Sources/{SKCore => ToolchainRegistry}/XCToolchainPlist.swift (100%) rename Tests/{SKCoreTests => ToolchainRegistryTests}/ToolchainRegistryTests.swift (99%) diff --git a/Documentation/Modules.md b/Documentation/Modules.md index 29a73c240..b8381122e 100644 --- a/Documentation/Modules.md +++ b/Documentation/Modules.md @@ -67,14 +67,6 @@ This includes: - SplitShellCommand.swift - WorkspaceType.swift -#### ToolchainRegistry - -Discovers Swift toolchains on the system. - -- Toolchain.swift -- ToolchainRegistry.swift -- XCToolchainPlist.swift - ### SKLogging Types that are API-compatible with OSLog to allow logging to OSLog when building for Darwin platforms and logging to stderr or files on non-Darwin platforms. This should not be dependent on any LSP specific types and be portable to other packages. @@ -112,3 +104,6 @@ This is the core module that implements the SourceKit-LSP server. Extensions to the Swift standard library and Foundation. Should not have any other dependencies. Any types in here should theoretically make senses to put in the Swift standard library or Foundation and they shouldn't be specific to SourceKit-LSP +#### ToolchainRegistry + +Discovers Swift toolchains on the system. diff --git a/Package.swift b/Package.swift index 33acc713c..707576c59 100644 --- a/Package.swift +++ b/Package.swift @@ -30,6 +30,7 @@ let package = Package( "SKCore", "SKSupport", "SourceKitLSP", + "ToolchainRegistry", .product(name: "ArgumentParser", package: "swift-argument-parser"), .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ], @@ -81,6 +82,7 @@ let package = Package( "SourceKitD", "SourceKitLSP", "SwiftExtensions", + "ToolchainRegistry", .product(name: "ArgumentParser", package: "swift-argument-parser"), .product(name: "SwiftIDEUtils", package: "swift-syntax"), .product(name: "SwiftSyntax", package: "swift-syntax"), @@ -98,6 +100,7 @@ let package = Package( "SKLogging", "SKTestSupport", "SourceKitD", + "ToolchainRegistry", .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ] ), @@ -111,6 +114,7 @@ let package = Package( "SKCore", "SKLogging", "SourceKitLSP", + "ToolchainRegistry", ], exclude: ["CMakeLists.txt"] ), @@ -159,6 +163,7 @@ let package = Package( "SKCore", "SKLogging", "SwiftExtensions", + "ToolchainRegistry", .product(name: "IndexStoreDB", package: "indexstore-db"), ], exclude: ["CMakeLists.txt"] @@ -185,6 +190,7 @@ let package = Package( "SKSupport", "SourceKitD", "SwiftExtensions", + "ToolchainRegistry", .product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"), .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ], @@ -196,6 +202,7 @@ let package = Package( dependencies: [ "SKCore", "SKTestSupport", + "ToolchainRegistry", ] ), @@ -252,6 +259,7 @@ let package = Package( "SKCore", "SKLogging", "SwiftExtensions", + "ToolchainRegistry", .product(name: "SwiftPM-auto", package: "swift-package-manager"), .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ], @@ -266,6 +274,7 @@ let package = Package( "SKSwiftPMWorkspace", "SKTestSupport", "SourceKitLSP", + "ToolchainRegistry", .product(name: "SwiftPM-auto", package: "swift-package-manager"), .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ] @@ -285,6 +294,7 @@ let package = Package( "SKSupport", "SourceKitLSP", "SwiftExtensions", + "ToolchainRegistry", .product(name: "ISDBTestSupport", package: "indexstore-db"), .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ], @@ -311,6 +321,7 @@ let package = Package( "SKCore", "SKTestSupport", "SwiftExtensions", + "ToolchainRegistry", ] ), @@ -329,6 +340,7 @@ let package = Package( "SKSwiftPMWorkspace", "SourceKitD", "SwiftExtensions", + "ToolchainRegistry", .product(name: "IndexStoreDB", package: "indexstore-db"), .product(name: "SwiftBasicFormat", package: "swift-syntax"), .product(name: "Crypto", package: "swift-crypto"), @@ -356,6 +368,7 @@ let package = Package( "SKTestSupport", "SourceKitD", "SourceKitLSP", + "ToolchainRegistry", .product(name: "IndexStoreDB", package: "indexstore-db"), .product(name: "ISDBTestSupport", package: "indexstore-db"), .product(name: "SwiftParser", package: "swift-syntax"), @@ -374,6 +387,30 @@ let package = Package( name: "SwiftExtensions", exclude: ["CMakeLists.txt"] ), + + // MARK: ToolchainRegistry + + .target( + name: "ToolchainRegistry", + dependencies: [ + "SKLogging", + "SKSupport", + "SwiftExtensions", + .product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"), + .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), + ], + exclude: ["CMakeLists.txt"] + ), + + .testTarget( + name: "ToolchainRegistryTests", + dependencies: [ + "SKTestSupport", + "ToolchainRegistry", + .product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"), + .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), + ] + ), ], swiftLanguageVersions: [.v5, .version("6")] ) diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt index 282f31f89..ee6144917 100644 --- a/Sources/CMakeLists.txt +++ b/Sources/CMakeLists.txt @@ -15,3 +15,4 @@ add_subdirectory(SourceKitLSP) add_subdirectory(SourceKitD) add_subdirectory(sourcekit-lsp) add_subdirectory(SwiftExtensions) +add_subdirectory(ToolchainRegistry) diff --git a/Sources/Diagnose/CMakeLists.txt b/Sources/Diagnose/CMakeLists.txt index 559b32e2f..afdf33658 100644 --- a/Sources/Diagnose/CMakeLists.txt +++ b/Sources/Diagnose/CMakeLists.txt @@ -30,6 +30,7 @@ target_link_libraries(Diagnose PUBLIC SKLogging SourceKitD SwiftExtensions + ToolchainRegistry ArgumentParser SwiftSyntax::SwiftIDEUtils SwiftSyntax::SwiftSyntax diff --git a/Sources/Diagnose/DiagnoseCommand.swift b/Sources/Diagnose/DiagnoseCommand.swift index 44979b138..10f2fa4bc 100644 --- a/Sources/Diagnose/DiagnoseCommand.swift +++ b/Sources/Diagnose/DiagnoseCommand.swift @@ -12,7 +12,7 @@ import ArgumentParser import Foundation -import SKCore +import ToolchainRegistry import struct TSCBasic.AbsolutePath import class TSCBasic.Process diff --git a/Sources/Diagnose/IndexCommand.swift b/Sources/Diagnose/IndexCommand.swift index 94a36173e..9b8cc6ed5 100644 --- a/Sources/Diagnose/IndexCommand.swift +++ b/Sources/Diagnose/IndexCommand.swift @@ -18,6 +18,7 @@ import SKCore import SKSupport import SourceKitLSP import SwiftExtensions +import ToolchainRegistry import struct TSCBasic.AbsolutePath import class TSCBasic.Process diff --git a/Sources/Diagnose/ReduceCommand.swift b/Sources/Diagnose/ReduceCommand.swift index 548cf1ad5..fa6ac24c7 100644 --- a/Sources/Diagnose/ReduceCommand.swift +++ b/Sources/Diagnose/ReduceCommand.swift @@ -12,7 +12,7 @@ import ArgumentParser import Foundation -import SKCore +import ToolchainRegistry import struct TSCBasic.AbsolutePath import class TSCBasic.Process diff --git a/Sources/Diagnose/ReduceFrontendCommand.swift b/Sources/Diagnose/ReduceFrontendCommand.swift index 970d19bd4..b9803c52c 100644 --- a/Sources/Diagnose/ReduceFrontendCommand.swift +++ b/Sources/Diagnose/ReduceFrontendCommand.swift @@ -12,7 +12,7 @@ import ArgumentParser import Foundation -import SKCore +import ToolchainRegistry import struct TSCBasic.AbsolutePath import class TSCBasic.Process diff --git a/Sources/Diagnose/ReproducerBundle.swift b/Sources/Diagnose/ReproducerBundle.swift index c62873d84..7a0181b05 100644 --- a/Sources/Diagnose/ReproducerBundle.swift +++ b/Sources/Diagnose/ReproducerBundle.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import SKCore +import ToolchainRegistry /// Create a folder that contains all files that should be necessary to reproduce a sourcekitd crash. /// - Parameters: diff --git a/Sources/Diagnose/RunSourcekitdRequestCommand.swift b/Sources/Diagnose/RunSourcekitdRequestCommand.swift index 9167c7c15..2a742f506 100644 --- a/Sources/Diagnose/RunSourcekitdRequestCommand.swift +++ b/Sources/Diagnose/RunSourcekitdRequestCommand.swift @@ -12,9 +12,9 @@ import ArgumentParser import Foundation -import SKCore import SKSupport import SourceKitD +import ToolchainRegistry import struct TSCBasic.AbsolutePath diff --git a/Sources/Diagnose/Toolchain+SwiftFrontend.swift b/Sources/Diagnose/Toolchain+SwiftFrontend.swift index 92aa20bb6..4b84bf699 100644 --- a/Sources/Diagnose/Toolchain+SwiftFrontend.swift +++ b/Sources/Diagnose/Toolchain+SwiftFrontend.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import Foundation -import SKCore +import ToolchainRegistry extension Toolchain { /// The path to `swift-frontend` in the toolchain, found relative to `swift`. diff --git a/Sources/InProcessClient/CMakeLists.txt b/Sources/InProcessClient/CMakeLists.txt index 9d7a09d37..440528b1b 100644 --- a/Sources/InProcessClient/CMakeLists.txt +++ b/Sources/InProcessClient/CMakeLists.txt @@ -10,4 +10,5 @@ target_link_libraries(InProcessClient PUBLIC SKCore SKLogging SourceKitLSP + ToolchainRegistry ) diff --git a/Sources/InProcessClient/InProcessSourceKitLSPClient.swift b/Sources/InProcessClient/InProcessSourceKitLSPClient.swift index 9f23052c6..693e5da67 100644 --- a/Sources/InProcessClient/InProcessSourceKitLSPClient.swift +++ b/Sources/InProcessClient/InProcessSourceKitLSPClient.swift @@ -14,6 +14,7 @@ import LanguageServerProtocol import SKCore import SKSupport import SourceKitLSP +import ToolchainRegistry /// Launches a `SourceKitLSPServer` in-process and allows sending messages to it. public final class InProcessSourceKitLSPClient: Sendable { diff --git a/Sources/SKCore/BuildServerBuildSystem.swift b/Sources/SKCore/BuildServerBuildSystem.swift index 94a65c9ce..e77708465 100644 --- a/Sources/SKCore/BuildServerBuildSystem.swift +++ b/Sources/SKCore/BuildServerBuildSystem.swift @@ -16,6 +16,7 @@ import LanguageServerProtocolJSONRPC import SKLogging import SKSupport import SwiftExtensions +import ToolchainRegistry import struct TSCBasic.AbsolutePath import protocol TSCBasic.FileSystem @@ -281,7 +282,7 @@ extension BuildServerBuildSystem: BuildSystem { return nil } - package func toolchain(for uri: DocumentURI, _ language: Language) async -> SKCore.Toolchain? { + package func toolchain(for uri: DocumentURI, _ language: Language) async -> Toolchain? { return nil } diff --git a/Sources/SKCore/BuildSystem.swift b/Sources/SKCore/BuildSystem.swift index 50e176cf8..8b9e14c2c 100644 --- a/Sources/SKCore/BuildSystem.swift +++ b/Sources/SKCore/BuildSystem.swift @@ -13,6 +13,7 @@ import BuildServerProtocol import LanguageServerProtocol import SKLogging +import ToolchainRegistry import struct TSCBasic.AbsolutePath diff --git a/Sources/SKCore/BuildSystemManager.swift b/Sources/SKCore/BuildSystemManager.swift index 1e1c9ab70..9c18105cc 100644 --- a/Sources/SKCore/BuildSystemManager.swift +++ b/Sources/SKCore/BuildSystemManager.swift @@ -15,6 +15,7 @@ import Dispatch import LanguageServerProtocol import SKLogging import SwiftExtensions +import ToolchainRegistry import struct TSCBasic.AbsolutePath diff --git a/Sources/SKCore/CMakeLists.txt b/Sources/SKCore/CMakeLists.txt index 6d392e628..cfe63504f 100644 --- a/Sources/SKCore/CMakeLists.txt +++ b/Sources/SKCore/CMakeLists.txt @@ -14,10 +14,7 @@ add_library(SKCore STATIC PathPrefixMapping.swift SourceKitLSPOptions.swift SplitShellCommand.swift - Toolchain.swift - ToolchainRegistry.swift - WorkspaceType.swift - XCToolchainPlist.swift) + WorkspaceType.swift) set_target_properties(SKCore PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(SKCore PUBLIC @@ -28,5 +25,6 @@ target_link_libraries(SKCore PUBLIC SKSupport SourceKitD SwiftExtensions + ToolchainRegistry PackageModel TSCBasic) diff --git a/Sources/SKCore/CompilationDatabaseBuildSystem.swift b/Sources/SKCore/CompilationDatabaseBuildSystem.swift index 44ca9304c..7ce3239e6 100644 --- a/Sources/SKCore/CompilationDatabaseBuildSystem.swift +++ b/Sources/SKCore/CompilationDatabaseBuildSystem.swift @@ -15,6 +15,7 @@ import Dispatch import LanguageServerProtocol import SKLogging import SKSupport +import ToolchainRegistry import struct Foundation.URL import struct TSCBasic.AbsolutePath @@ -119,7 +120,7 @@ extension CompilationDatabaseBuildSystem: BuildSystem { return nil } - package func toolchain(for uri: DocumentURI, _ language: Language) async -> SKCore.Toolchain? { + package func toolchain(for uri: DocumentURI, _ language: Language) async -> Toolchain? { return nil } diff --git a/Sources/SKSwiftPMWorkspace/CMakeLists.txt b/Sources/SKSwiftPMWorkspace/CMakeLists.txt index 306d97014..1af6cec97 100644 --- a/Sources/SKSwiftPMWorkspace/CMakeLists.txt +++ b/Sources/SKSwiftPMWorkspace/CMakeLists.txt @@ -9,6 +9,7 @@ target_link_libraries(SKSwiftPMWorkspace PRIVATE SKCore SKLogging SwiftExtensions + ToolchainRegistry TSCBasic) target_link_libraries(SKSwiftPMWorkspace PUBLIC Build diff --git a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift index 9b2c066f1..62f720184 100644 --- a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift +++ b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift @@ -25,6 +25,7 @@ import SKSupport import SourceControl import SourceKitLSPAPI import SwiftExtensions +import ToolchainRegistry import Workspace import struct Basics.AbsolutePath @@ -36,6 +37,7 @@ import protocol TSCBasic.FileSystem import class TSCBasic.Process import var TSCBasic.localFileSystem import func TSCBasic.resolveSymlinks +import class ToolchainRegistry.Toolchain typealias AbsolutePath = Basics.AbsolutePath @@ -61,7 +63,7 @@ package typealias BuildServerTarget = BuildServerProtocol.BuildTarget /// /// Needed to work around a compiler crash that prevents us from accessing `toolchainRegistry.preferredToolchain` in /// `SwiftPMWorkspace.init`. -private func preferredToolchain(_ toolchainRegistry: ToolchainRegistry) async -> SKCore.Toolchain? { +private func preferredToolchain(_ toolchainRegistry: ToolchainRegistry) async -> Toolchain? { return await toolchainRegistry.preferredToolchain(containing: [ \.clang, \.clangd, \.sourcekitd, \.swift, \.swiftc, ]) @@ -142,7 +144,7 @@ package actor SwiftPMBuildSystem { package let toolsBuildParameters: BuildParameters package let destinationBuildParameters: BuildParameters private let fileSystem: FileSystem - private let toolchain: SKCore.Toolchain + private let toolchain: Toolchain private var fileToTargets: [DocumentURI: [SwiftBuildTarget]] = [:] private var sourceDirToTargets: [DocumentURI: [SwiftBuildTarget]] = [:] @@ -528,7 +530,7 @@ extension SwiftPMBuildSystem: SKCore.BuildSystem { return nil } - package func toolchain(for uri: DocumentURI, _ language: Language) async -> SKCore.Toolchain? { + package func toolchain(for uri: DocumentURI, _ language: Language) async -> Toolchain? { return toolchain } diff --git a/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift b/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift index 9799fb7e4..f06ff95a6 100644 --- a/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift +++ b/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift @@ -15,6 +15,7 @@ import LanguageServerProtocol @_spi(Testing) import SKCore import SourceKitLSP import TSCBasic +import ToolchainRegistry package struct IndexedSingleSwiftFileTestProject { enum Error: Swift.Error { diff --git a/Sources/SKTestSupport/SkipUnless.swift b/Sources/SKTestSupport/SkipUnless.swift index b1411c133..9a7a570e5 100644 --- a/Sources/SKTestSupport/SkipUnless.swift +++ b/Sources/SKTestSupport/SkipUnless.swift @@ -17,6 +17,7 @@ import RegexBuilder import SKLogging import SKTestSupport import SourceKitLSP +import ToolchainRegistry import XCTest import enum PackageLoading.Platform diff --git a/Sources/SKTestSupport/SwiftPMTestProject.swift b/Sources/SKTestSupport/SwiftPMTestProject.swift index edf026996..22ffb8092 100644 --- a/Sources/SKTestSupport/SwiftPMTestProject.swift +++ b/Sources/SKTestSupport/SwiftPMTestProject.swift @@ -15,6 +15,7 @@ import LanguageServerProtocol @_spi(Testing) import SKCore import SourceKitLSP import TSCBasic +import ToolchainRegistry private struct SwiftSyntaxCShimsModulemapNotFoundError: Error {} diff --git a/Sources/SKTestSupport/TestSourceKitLSPClient.swift b/Sources/SKTestSupport/TestSourceKitLSPClient.swift index cd93b5cef..9477d38b4 100644 --- a/Sources/SKTestSupport/TestSourceKitLSPClient.swift +++ b/Sources/SKTestSupport/TestSourceKitLSPClient.swift @@ -20,6 +20,7 @@ import SKTestSupport import SourceKitLSP import SwiftExtensions import SwiftSyntax +import ToolchainRegistry import XCTest extension SourceKitLSPOptions { diff --git a/Sources/SemanticIndex/CMakeLists.txt b/Sources/SemanticIndex/CMakeLists.txt index 99b9fd52d..b09c1ca82 100644 --- a/Sources/SemanticIndex/CMakeLists.txt +++ b/Sources/SemanticIndex/CMakeLists.txt @@ -17,5 +17,6 @@ target_link_libraries(SemanticIndex PRIVATE SKCore SKLogging SwiftExtensions + ToolchainRegistry IndexStoreDB $<$>:Foundation>) diff --git a/Sources/SemanticIndex/UpToDateTracker.swift b/Sources/SemanticIndex/UpToDateTracker.swift index a6490ec74..86adbe6eb 100644 --- a/Sources/SemanticIndex/UpToDateTracker.swift +++ b/Sources/SemanticIndex/UpToDateTracker.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import Foundation -import SKCore /// Keeps track of whether an item (a target or file to index) is up-to-date. actor UpToDateTracker { diff --git a/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift b/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift index 8acff30b5..e5fba2f5b 100644 --- a/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift +++ b/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift @@ -16,6 +16,7 @@ import SKCore import SKLogging import SKSupport import SwiftExtensions +import ToolchainRegistry import struct TSCBasic.AbsolutePath import class TSCBasic.Process diff --git a/Sources/SourceKitLSP/CMakeLists.txt b/Sources/SourceKitLSP/CMakeLists.txt index e35a99131..ed060e43a 100644 --- a/Sources/SourceKitLSP/CMakeLists.txt +++ b/Sources/SourceKitLSP/CMakeLists.txt @@ -84,6 +84,7 @@ target_link_libraries(SourceKitLSP PUBLIC SKSwiftPMWorkspace SourceKitD SwiftExtensions + ToolchainRegistry IndexStoreDB SwiftSyntax::SwiftBasicFormat SwiftSyntax::SwiftDiagnostics diff --git a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift index edc7e1fed..f37cb9c00 100644 --- a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift +++ b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift @@ -17,6 +17,7 @@ import SKLogging import SKSupport import SwiftExtensions import SwiftSyntax +import ToolchainRegistry import struct TSCBasic.AbsolutePath diff --git a/Sources/SourceKitLSP/CreateBuildSystem.swift b/Sources/SourceKitLSP/CreateBuildSystem.swift index 768ed7648..5cac38cc3 100644 --- a/Sources/SourceKitLSP/CreateBuildSystem.swift +++ b/Sources/SourceKitLSP/CreateBuildSystem.swift @@ -14,6 +14,7 @@ import LanguageServerProtocol import SKCore import SKLogging import SKSwiftPMWorkspace +import ToolchainRegistry import struct TSCBasic.AbsolutePath import struct TSCBasic.RelativePath diff --git a/Sources/SourceKitLSP/LanguageService.swift b/Sources/SourceKitLSP/LanguageService.swift index feaefa52f..9ac7cce20 100644 --- a/Sources/SourceKitLSP/LanguageService.swift +++ b/Sources/SourceKitLSP/LanguageService.swift @@ -14,6 +14,7 @@ import Foundation import LanguageServerProtocol import SKCore import SwiftSyntax +import ToolchainRegistry /// The state of a `ToolchainLanguageServer` package enum LanguageServerState { diff --git a/Sources/SourceKitLSP/SourceKitLSPServer.swift b/Sources/SourceKitLSP/SourceKitLSPServer.swift index e8af5bab1..a41281619 100644 --- a/Sources/SourceKitLSP/SourceKitLSPServer.swift +++ b/Sources/SourceKitLSP/SourceKitLSPServer.swift @@ -23,6 +23,7 @@ import SKSwiftPMWorkspace import SemanticIndex import SourceKitD import SwiftExtensions +import ToolchainRegistry import struct PackageModel.BuildFlags import struct TSCBasic.AbsolutePath diff --git a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift index 1f222197b..7a5517c38 100644 --- a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift +++ b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift @@ -23,6 +23,7 @@ import SwiftExtensions import SwiftParser import SwiftParserDiagnostics import SwiftSyntax +import ToolchainRegistry import struct TSCBasic.AbsolutePath diff --git a/Sources/SourceKitLSP/Workspace.swift b/Sources/SourceKitLSP/Workspace.swift index 46ca68162..11eb25f48 100644 --- a/Sources/SourceKitLSP/Workspace.swift +++ b/Sources/SourceKitLSP/Workspace.swift @@ -17,6 +17,7 @@ import SKLogging import SKSupport import SemanticIndex import SwiftExtensions +import ToolchainRegistry import struct TSCBasic.AbsolutePath import struct TSCBasic.RelativePath diff --git a/Sources/ToolchainRegistry/CMakeLists.txt b/Sources/ToolchainRegistry/CMakeLists.txt new file mode 100644 index 000000000..6c71b9e0c --- /dev/null +++ b/Sources/ToolchainRegistry/CMakeLists.txt @@ -0,0 +1,13 @@ + +add_library(ToolchainRegistry STATIC + Toolchain.swift + ToolchainRegistry.swift + XCToolchainPlist.swift) +set_target_properties(ToolchainRegistry PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) +target_link_libraries(ToolchainRegistry PUBLIC + SKLogging + SKSupport + SwiftExtensions + PackageModel + TSCBasic) diff --git a/Sources/SKCore/Toolchain.swift b/Sources/ToolchainRegistry/Toolchain.swift similarity index 99% rename from Sources/SKCore/Toolchain.swift rename to Sources/ToolchainRegistry/Toolchain.swift index 55db84e55..0e754efa2 100644 --- a/Sources/SKCore/Toolchain.swift +++ b/Sources/ToolchainRegistry/Toolchain.swift @@ -10,10 +10,8 @@ // //===----------------------------------------------------------------------===// -import LanguageServerProtocol import RegexBuilder import SKLogging -import SKSupport import SwiftExtensions import enum PackageLoading.Platform diff --git a/Sources/SKCore/ToolchainRegistry.swift b/Sources/ToolchainRegistry/ToolchainRegistry.swift similarity index 99% rename from Sources/SKCore/ToolchainRegistry.swift rename to Sources/ToolchainRegistry/ToolchainRegistry.swift index 81ba690b7..9feb7b22b 100644 --- a/Sources/SKCore/ToolchainRegistry.swift +++ b/Sources/ToolchainRegistry/ToolchainRegistry.swift @@ -11,8 +11,6 @@ //===----------------------------------------------------------------------===// import Dispatch -import Foundation -import LanguageServerProtocol import SKSupport import struct TSCBasic.AbsolutePath diff --git a/Sources/SKCore/XCToolchainPlist.swift b/Sources/ToolchainRegistry/XCToolchainPlist.swift similarity index 100% rename from Sources/SKCore/XCToolchainPlist.swift rename to Sources/ToolchainRegistry/XCToolchainPlist.swift diff --git a/Sources/sourcekit-lsp/CMakeLists.txt b/Sources/sourcekit-lsp/CMakeLists.txt index fbbc62c11..bcbf598e0 100644 --- a/Sources/sourcekit-lsp/CMakeLists.txt +++ b/Sources/sourcekit-lsp/CMakeLists.txt @@ -9,6 +9,7 @@ target_link_libraries(sourcekit-lsp PRIVATE SKCore SKSupport SourceKitLSP + ToolchainRegistry ArgumentParser TSCBasic) target_compile_options(sourcekit-lsp PRIVATE diff --git a/Sources/sourcekit-lsp/SourceKitLSP.swift b/Sources/sourcekit-lsp/SourceKitLSP.swift index 8a0d25982..b7d9cd5db 100644 --- a/Sources/sourcekit-lsp/SourceKitLSP.swift +++ b/Sources/sourcekit-lsp/SourceKitLSP.swift @@ -20,6 +20,7 @@ import SKCore import SKLogging import SKSupport import SourceKitLSP +import ToolchainRegistry import struct TSCBasic.AbsolutePath import struct TSCBasic.RelativePath diff --git a/Tests/DiagnoseTests/DiagnoseTests.swift b/Tests/DiagnoseTests/DiagnoseTests.swift index 2708e400e..5c07d39b0 100644 --- a/Tests/DiagnoseTests/DiagnoseTests.swift +++ b/Tests/DiagnoseTests/DiagnoseTests.swift @@ -16,6 +16,7 @@ import Foundation import SKLogging import SKTestSupport import SourceKitD +import ToolchainRegistry import XCTest import struct TSCBasic.AbsolutePath diff --git a/Tests/SKCoreTests/BuildSystemManagerTests.swift b/Tests/SKCoreTests/BuildSystemManagerTests.swift index e71dc3684..7fa2e7967 100644 --- a/Tests/SKCoreTests/BuildSystemManagerTests.swift +++ b/Tests/SKCoreTests/BuildSystemManagerTests.swift @@ -15,6 +15,7 @@ import LanguageServerProtocol @_spi(Testing) import SKCore import SKTestSupport import TSCBasic +import ToolchainRegistry import XCTest final class BuildSystemManagerTests: XCTestCase { @@ -465,7 +466,7 @@ class ManualBuildSystem: BuildSystem { return nil } - package func toolchain(for uri: DocumentURI, _ language: Language) async -> SKCore.Toolchain? { + package func toolchain(for uri: DocumentURI, _ language: Language) async -> Toolchain? { return nil } diff --git a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift index ba50e94c9..15b49eea7 100644 --- a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift +++ b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift @@ -18,6 +18,7 @@ import PackageModel import SKTestSupport import SourceKitLSP import TSCBasic +import ToolchainRegistry import XCTest import struct PackageModel.BuildFlags diff --git a/Tests/SourceKitDTests/SourceKitDTests.swift b/Tests/SourceKitDTests/SourceKitDTests.swift index 8adbb6f32..3186494ea 100644 --- a/Tests/SourceKitDTests/SourceKitDTests.swift +++ b/Tests/SourceKitDTests/SourceKitDTests.swift @@ -18,6 +18,7 @@ import SKSupport import SKTestSupport import SourceKitD import TSCBasic +import ToolchainRegistry import XCTest import enum PackageLoading.Platform diff --git a/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift b/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift index aeffe6c30..68f5fdd35 100644 --- a/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift +++ b/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift @@ -16,6 +16,7 @@ import SKSupport import SKTestSupport import SemanticIndex import SourceKitLSP +import ToolchainRegistry import XCTest import class TSCBasic.Process diff --git a/Tests/SourceKitLSPTests/BuildSystemTests.swift b/Tests/SourceKitLSPTests/BuildSystemTests.swift index 5e10c64aa..dde7fb82e 100644 --- a/Tests/SourceKitLSPTests/BuildSystemTests.swift +++ b/Tests/SourceKitLSPTests/BuildSystemTests.swift @@ -17,6 +17,7 @@ import SKTestSupport @_spi(Testing) import SemanticIndex @_spi(Testing) import SourceKitLSP import TSCBasic +import ToolchainRegistry import XCTest /// Build system to be used for testing BuildSystem and BuildSystemDelegate functionality with SourceKitLSPServer @@ -57,7 +58,7 @@ actor TestBuildSystem: BuildSystem { return nil } - func toolchain(for uri: DocumentURI, _ language: Language) async -> SKCore.Toolchain? { + func toolchain(for uri: DocumentURI, _ language: Language) async -> Toolchain? { return nil } diff --git a/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift b/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift index c3b8dad56..28f6099fa 100644 --- a/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift +++ b/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift @@ -15,6 +15,7 @@ import LanguageServerProtocol @_spi(Testing) import SKCore import SKTestSupport @_spi(Testing) import SourceKitLSP +import ToolchainRegistry import XCTest private let packageManifestWithTestTarget = """ diff --git a/Tests/SourceKitLSPTests/WorkspaceTests.swift b/Tests/SourceKitLSPTests/WorkspaceTests.swift index 27fa666a8..eb5dd33c0 100644 --- a/Tests/SourceKitLSPTests/WorkspaceTests.swift +++ b/Tests/SourceKitLSPTests/WorkspaceTests.swift @@ -17,6 +17,7 @@ import SKLogging import SKTestSupport import SourceKitLSP import TSCBasic +import ToolchainRegistry import XCTest final class WorkspaceTests: XCTestCase { diff --git a/Tests/SKCoreTests/ToolchainRegistryTests.swift b/Tests/ToolchainRegistryTests/ToolchainRegistryTests.swift similarity index 99% rename from Tests/SKCoreTests/ToolchainRegistryTests.swift rename to Tests/ToolchainRegistryTests/ToolchainRegistryTests.swift index f2df8b040..cc0fcff57 100644 --- a/Tests/SKCoreTests/ToolchainRegistryTests.swift +++ b/Tests/ToolchainRegistryTests/ToolchainRegistryTests.swift @@ -10,10 +10,9 @@ // //===----------------------------------------------------------------------===// -@_spi(Testing) import SKCore -import SKSupport import SKTestSupport import TSCBasic +import ToolchainRegistry import XCTest import enum PackageLoading.Platform From 6d34d708832c6c51ad3c9bb0a56d3a9988d273f5 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Wed, 24 Jul 2024 14:39:02 -0700 Subject: [PATCH 4/6] Split SourceKitLSPOptions out of SKCore This only leaves build system functionality in SKCore, which allows us to rename SKCore. --- Documentation/Modules.md | 4 ++++ Package.swift | 23 +++++++++++++++++++ Sources/CMakeLists.txt | 1 + Sources/Diagnose/CMakeLists.txt | 1 + Sources/Diagnose/IndexCommand.swift | 2 +- Sources/InProcessClient/CMakeLists.txt | 1 + .../InProcessSourceKitLSPClient.swift | 1 + Sources/SKCore/CMakeLists.txt | 6 ++--- Sources/SKCore/FallbackBuildSystem.swift | 1 + .../BuildConfiguration.swift | 0 Sources/SKOptions/CMakeLists.txt | 12 ++++++++++ .../SourceKitLSPOptions.swift | 2 +- .../{SKCore => SKOptions}/WorkspaceType.swift | 0 Sources/SKSwiftPMWorkspace/CMakeLists.txt | 1 + .../SwiftPMBuildSystem.swift | 1 + .../IndexedSingleSwiftFileTestProject.swift | 1 + .../SKTestSupport/MultiFileTestProject.swift | 2 +- Sources/SKTestSupport/SkipUnless.swift | 2 -- .../SKTestSupport/SwiftPMTestProject.swift | 2 +- .../TestSourceKitLSPClient.swift | 3 +-- Sources/SKTestSupport/Utils.swift | 1 - .../SemanticIndex/IndexTaskDescription.swift | 2 -- Sources/SourceKitLSP/CMakeLists.txt | 1 + .../Clang/ClangLanguageService.swift | 1 + Sources/SourceKitLSP/CreateBuildSystem.swift | 1 + .../SourceKitLSP/IndexProgressManager.swift | 1 - Sources/SourceKitLSP/LanguageService.swift | 1 + .../SourceKitLSP/SourceKitIndexDelegate.swift | 1 - Sources/SourceKitLSP/SourceKitLSPServer.swift | 1 + .../Swift/CodeCompletionSession.swift | 2 +- .../Swift/DiagnosticReportManager.swift | 2 +- .../Swift/SwiftLanguageService.swift | 1 + Sources/SourceKitLSP/TestHooks.swift | 1 - Sources/SourceKitLSP/Workspace.swift | 1 + Sources/sourcekit-lsp/CMakeLists.txt | 1 + Sources/sourcekit-lsp/SourceKitLSP.swift | 7 +++--- Tests/DiagnoseTests/DiagnoseTests.swift | 1 - .../SKCoreTests/BuildSystemManagerTests.swift | 1 + .../FallbackBuildSystemTests.swift | 1 + .../SwiftPMBuildSystemTests.swift | 1 + Tests/SourceKitDTests/SourceKitDTests.swift | 1 - .../BackgroundIndexingTests.swift | 2 +- .../SourceKitLSPTests/BuildSystemTests.swift | 1 + .../ExecuteCommandTests.swift | 2 +- Tests/SourceKitLSPTests/LocalClangTests.swift | 1 - Tests/SourceKitLSPTests/LocalSwiftTests.swift | 2 +- .../MainFilesProviderTests.swift | 1 - Tests/SourceKitLSPTests/WorkspaceTests.swift | 2 +- 48 files changed, 76 insertions(+), 31 deletions(-) rename Sources/{SKCore => SKOptions}/BuildConfiguration.swift (100%) create mode 100644 Sources/SKOptions/CMakeLists.txt rename Sources/{SKCore => SKOptions}/SourceKitLSPOptions.swift (99%) rename Sources/{SKCore => SKOptions}/WorkspaceType.swift (100%) diff --git a/Documentation/Modules.md b/Documentation/Modules.md index b8381122e..1e62472a9 100644 --- a/Documentation/Modules.md +++ b/Documentation/Modules.md @@ -71,6 +71,10 @@ This includes: Types that are API-compatible with OSLog to allow logging to OSLog when building for Darwin platforms and logging to stderr or files on non-Darwin platforms. This should not be dependent on any LSP specific types and be portable to other packages. +### SKOptions + +Configuration options to change how SourceKit-LSP behaves, based on [Configuration files](Configuration%20File.md). + ### SKSupport Contains SourceKit-LSP-specific helper functions. These fall into three different categories: diff --git a/Package.swift b/Package.swift index 707576c59..e33b290f0 100644 --- a/Package.swift +++ b/Package.swift @@ -28,6 +28,7 @@ let package = Package( "LanguageServerProtocol", "LanguageServerProtocolJSONRPC", "SKCore", + "SKOptions", "SKSupport", "SourceKitLSP", "ToolchainRegistry", @@ -78,6 +79,7 @@ let package = Package( "InProcessClient", "SKCore", "SKLogging", + "SKOptions", "SKSupport", "SourceKitD", "SourceKitLSP", @@ -113,6 +115,7 @@ let package = Package( "LanguageServerProtocol", "SKCore", "SKLogging", + "SKOptions", "SourceKitLSP", "ToolchainRegistry", ], @@ -187,6 +190,7 @@ let package = Package( "LanguageServerProtocol", "LanguageServerProtocolJSONRPC", "SKLogging", + "SKOptions", "SKSupport", "SourceKitD", "SwiftExtensions", @@ -201,6 +205,7 @@ let package = Package( name: "SKCoreTests", dependencies: [ "SKCore", + "SKOptions", "SKTestSupport", "ToolchainRegistry", ] @@ -226,6 +231,19 @@ let package = Package( ] ), + // MARK: SKOptions + + .target( + name: "SKOptions", + dependencies: [ + "LanguageServerProtocol", + "SKLogging", + "SKSupport", + .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), + ], + exclude: ["CMakeLists.txt"] + ), + // MARK: SKSupport .target( @@ -258,6 +276,7 @@ let package = Package( "LanguageServerProtocol", "SKCore", "SKLogging", + "SKOptions", "SwiftExtensions", "ToolchainRegistry", .product(name: "SwiftPM-auto", package: "swift-package-manager"), @@ -271,6 +290,7 @@ let package = Package( dependencies: [ "LanguageServerProtocol", "SKCore", + "SKOptions", "SKSwiftPMWorkspace", "SKTestSupport", "SourceKitLSP", @@ -291,6 +311,7 @@ let package = Package( "LanguageServerProtocolJSONRPC", "SKCore", "SKLogging", + "SKOptions", "SKSupport", "SourceKitLSP", "SwiftExtensions", @@ -336,6 +357,7 @@ let package = Package( "SemanticIndex", "SKCore", "SKLogging", + "SKOptions", "SKSupport", "SKSwiftPMWorkspace", "SourceKitD", @@ -364,6 +386,7 @@ let package = Package( "SemanticIndex", "SKCore", "SKLogging", + "SKOptions", "SKSupport", "SKTestSupport", "SourceKitD", diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt index ee6144917..e7bf364f5 100644 --- a/Sources/CMakeLists.txt +++ b/Sources/CMakeLists.txt @@ -9,6 +9,7 @@ add_subdirectory(LanguageServerProtocolJSONRPC) add_subdirectory(SemanticIndex) add_subdirectory(SKCore) add_subdirectory(SKLogging) +add_subdirectory(SKOptions) add_subdirectory(SKSupport) add_subdirectory(SKSwiftPMWorkspace) add_subdirectory(SourceKitLSP) diff --git a/Sources/Diagnose/CMakeLists.txt b/Sources/Diagnose/CMakeLists.txt index afdf33658..788affad3 100644 --- a/Sources/Diagnose/CMakeLists.txt +++ b/Sources/Diagnose/CMakeLists.txt @@ -28,6 +28,7 @@ target_link_libraries(Diagnose PUBLIC InProcessClient SKCore SKLogging + SKOptions SourceKitD SwiftExtensions ToolchainRegistry diff --git a/Sources/Diagnose/IndexCommand.swift b/Sources/Diagnose/IndexCommand.swift index 9b8cc6ed5..5098ffada 100644 --- a/Sources/Diagnose/IndexCommand.swift +++ b/Sources/Diagnose/IndexCommand.swift @@ -14,7 +14,7 @@ import ArgumentParser import Foundation import InProcessClient import LanguageServerProtocol -import SKCore +import SKOptions import SKSupport import SourceKitLSP import SwiftExtensions diff --git a/Sources/InProcessClient/CMakeLists.txt b/Sources/InProcessClient/CMakeLists.txt index 440528b1b..6da800619 100644 --- a/Sources/InProcessClient/CMakeLists.txt +++ b/Sources/InProcessClient/CMakeLists.txt @@ -9,6 +9,7 @@ target_link_libraries(InProcessClient PUBLIC LanguageServerProtocol SKCore SKLogging + SKOptions SourceKitLSP ToolchainRegistry ) diff --git a/Sources/InProcessClient/InProcessSourceKitLSPClient.swift b/Sources/InProcessClient/InProcessSourceKitLSPClient.swift index 693e5da67..447ae84eb 100644 --- a/Sources/InProcessClient/InProcessSourceKitLSPClient.swift +++ b/Sources/InProcessClient/InProcessSourceKitLSPClient.swift @@ -12,6 +12,7 @@ import LanguageServerProtocol import SKCore +import SKOptions import SKSupport import SourceKitLSP import ToolchainRegistry diff --git a/Sources/SKCore/CMakeLists.txt b/Sources/SKCore/CMakeLists.txt index cfe63504f..e0bd497eb 100644 --- a/Sources/SKCore/CMakeLists.txt +++ b/Sources/SKCore/CMakeLists.txt @@ -1,6 +1,5 @@ add_library(SKCore STATIC - BuildConfiguration.swift BuildServerBuildSystem.swift BuildSystem.swift BuildSystemDelegate.swift @@ -12,9 +11,7 @@ add_library(SKCore STATIC IndexTaskID.swift MainFilesProvider.swift PathPrefixMapping.swift - SourceKitLSPOptions.swift - SplitShellCommand.swift - WorkspaceType.swift) + SplitShellCommand.swift) set_target_properties(SKCore PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(SKCore PUBLIC @@ -22,6 +19,7 @@ target_link_libraries(SKCore PUBLIC LanguageServerProtocol LanguageServerProtocolJSONRPC SKLogging + SKOptions SKSupport SourceKitD SwiftExtensions diff --git a/Sources/SKCore/FallbackBuildSystem.swift b/Sources/SKCore/FallbackBuildSystem.swift index 3eb749e3f..61a78e340 100644 --- a/Sources/SKCore/FallbackBuildSystem.swift +++ b/Sources/SKCore/FallbackBuildSystem.swift @@ -14,6 +14,7 @@ import BuildServerProtocol import Dispatch import Foundation import LanguageServerProtocol +import SKOptions import SKSupport import enum PackageLoading.Platform diff --git a/Sources/SKCore/BuildConfiguration.swift b/Sources/SKOptions/BuildConfiguration.swift similarity index 100% rename from Sources/SKCore/BuildConfiguration.swift rename to Sources/SKOptions/BuildConfiguration.swift diff --git a/Sources/SKOptions/CMakeLists.txt b/Sources/SKOptions/CMakeLists.txt new file mode 100644 index 000000000..3b248e8ca --- /dev/null +++ b/Sources/SKOptions/CMakeLists.txt @@ -0,0 +1,12 @@ + +add_library(SKOptions STATIC + BuildConfiguration.swift + SourceKitLSPOptions.swift + WorkspaceType.swift) +set_target_properties(SKOptions PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) +target_link_libraries(SKOptions PUBLIC + LanguageServerProtocol + SKLogging + SKSupport + TSCBasic) diff --git a/Sources/SKCore/SourceKitLSPOptions.swift b/Sources/SKOptions/SourceKitLSPOptions.swift similarity index 99% rename from Sources/SKCore/SourceKitLSPOptions.swift rename to Sources/SKOptions/SourceKitLSPOptions.swift index d219e609c..ccd00528b 100644 --- a/Sources/SKCore/SourceKitLSPOptions.swift +++ b/Sources/SKOptions/SourceKitLSPOptions.swift @@ -309,7 +309,7 @@ public struct SourceKitLSPOptions: Sendable, Codable { } public init?(path: URL?) { - guard let path, let contents = try? String(contentsOf: path, encoding: .utf8) else { + guard let path, let contents = try? Data(contentsOf: path) else { return nil } guard diff --git a/Sources/SKCore/WorkspaceType.swift b/Sources/SKOptions/WorkspaceType.swift similarity index 100% rename from Sources/SKCore/WorkspaceType.swift rename to Sources/SKOptions/WorkspaceType.swift diff --git a/Sources/SKSwiftPMWorkspace/CMakeLists.txt b/Sources/SKSwiftPMWorkspace/CMakeLists.txt index 1af6cec97..c4e0bbd39 100644 --- a/Sources/SKSwiftPMWorkspace/CMakeLists.txt +++ b/Sources/SKSwiftPMWorkspace/CMakeLists.txt @@ -8,6 +8,7 @@ target_link_libraries(SKSwiftPMWorkspace PRIVATE LanguageServerProtocol SKCore SKLogging + SKOptions SwiftExtensions ToolchainRegistry TSCBasic) diff --git a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift index 62f720184..a9a13e92c 100644 --- a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift +++ b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift @@ -21,6 +21,7 @@ import PackageLoading import PackageModel import SKCore import SKLogging +import SKOptions import SKSupport import SourceControl import SourceKitLSPAPI diff --git a/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift b/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift index f06ff95a6..1b0313d40 100644 --- a/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift +++ b/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift @@ -13,6 +13,7 @@ import Foundation import LanguageServerProtocol @_spi(Testing) import SKCore +import SKOptions import SourceKitLSP import TSCBasic import ToolchainRegistry diff --git a/Sources/SKTestSupport/MultiFileTestProject.swift b/Sources/SKTestSupport/MultiFileTestProject.swift index 3583f7b45..4bbc8db8a 100644 --- a/Sources/SKTestSupport/MultiFileTestProject.swift +++ b/Sources/SKTestSupport/MultiFileTestProject.swift @@ -12,7 +12,7 @@ import Foundation import LanguageServerProtocol -import SKCore +import SKOptions import SourceKitLSP /// The location of a test file within test workspace. diff --git a/Sources/SKTestSupport/SkipUnless.swift b/Sources/SKTestSupport/SkipUnless.swift index 9a7a570e5..57ba63a2a 100644 --- a/Sources/SKTestSupport/SkipUnless.swift +++ b/Sources/SKTestSupport/SkipUnless.swift @@ -13,9 +13,7 @@ import Foundation import LanguageServerProtocol import RegexBuilder -@_spi(Testing) import SKCore import SKLogging -import SKTestSupport import SourceKitLSP import ToolchainRegistry import XCTest diff --git a/Sources/SKTestSupport/SwiftPMTestProject.swift b/Sources/SKTestSupport/SwiftPMTestProject.swift index 22ffb8092..a09420839 100644 --- a/Sources/SKTestSupport/SwiftPMTestProject.swift +++ b/Sources/SKTestSupport/SwiftPMTestProject.swift @@ -12,7 +12,7 @@ import Foundation import LanguageServerProtocol -@_spi(Testing) import SKCore +import SKOptions import SourceKitLSP import TSCBasic import ToolchainRegistry diff --git a/Sources/SKTestSupport/TestSourceKitLSPClient.swift b/Sources/SKTestSupport/TestSourceKitLSPClient.swift index 9477d38b4..f89cb3e0d 100644 --- a/Sources/SKTestSupport/TestSourceKitLSPClient.swift +++ b/Sources/SKTestSupport/TestSourceKitLSPClient.swift @@ -14,9 +14,8 @@ import Foundation import InProcessClient import LanguageServerProtocol import LanguageServerProtocolJSONRPC -@_spi(Testing) import SKCore +import SKOptions import SKSupport -import SKTestSupport import SourceKitLSP import SwiftExtensions import SwiftSyntax diff --git a/Sources/SKTestSupport/Utils.swift b/Sources/SKTestSupport/Utils.swift index 34e4a9f9d..17d5da29c 100644 --- a/Sources/SKTestSupport/Utils.swift +++ b/Sources/SKTestSupport/Utils.swift @@ -12,7 +12,6 @@ import Foundation import LanguageServerProtocol -import SKCore import TSCBasic extension Language { diff --git a/Sources/SemanticIndex/IndexTaskDescription.swift b/Sources/SemanticIndex/IndexTaskDescription.swift index ed515faa0..9508dccab 100644 --- a/Sources/SemanticIndex/IndexTaskDescription.swift +++ b/Sources/SemanticIndex/IndexTaskDescription.swift @@ -10,8 +10,6 @@ // //===----------------------------------------------------------------------===// -import SKCore - /// Protocol of tasks that are executed on the index task scheduler. /// /// It is assumed that `IndexTaskDescription` of different types are allowed to execute in parallel. diff --git a/Sources/SourceKitLSP/CMakeLists.txt b/Sources/SourceKitLSP/CMakeLists.txt index ed060e43a..7ef57b08c 100644 --- a/Sources/SourceKitLSP/CMakeLists.txt +++ b/Sources/SourceKitLSP/CMakeLists.txt @@ -80,6 +80,7 @@ target_link_libraries(SourceKitLSP PUBLIC SemanticIndex SKCore SKLogging + SKOptions SKSupport SKSwiftPMWorkspace SourceKitD diff --git a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift index f37cb9c00..f61adabe6 100644 --- a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift +++ b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift @@ -14,6 +14,7 @@ import LanguageServerProtocol import LanguageServerProtocolJSONRPC import SKCore import SKLogging +import SKOptions import SKSupport import SwiftExtensions import SwiftSyntax diff --git a/Sources/SourceKitLSP/CreateBuildSystem.swift b/Sources/SourceKitLSP/CreateBuildSystem.swift index 5cac38cc3..5b34d0c04 100644 --- a/Sources/SourceKitLSP/CreateBuildSystem.swift +++ b/Sources/SourceKitLSP/CreateBuildSystem.swift @@ -13,6 +13,7 @@ import LanguageServerProtocol import SKCore import SKLogging +import SKOptions import SKSwiftPMWorkspace import ToolchainRegistry diff --git a/Sources/SourceKitLSP/IndexProgressManager.swift b/Sources/SourceKitLSP/IndexProgressManager.swift index 23fd7e9ce..74ce8f484 100644 --- a/Sources/SourceKitLSP/IndexProgressManager.swift +++ b/Sources/SourceKitLSP/IndexProgressManager.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import LanguageServerProtocol -import SKCore import SKLogging import SKSupport import SemanticIndex diff --git a/Sources/SourceKitLSP/LanguageService.swift b/Sources/SourceKitLSP/LanguageService.swift index 9ac7cce20..087268bd1 100644 --- a/Sources/SourceKitLSP/LanguageService.swift +++ b/Sources/SourceKitLSP/LanguageService.swift @@ -13,6 +13,7 @@ import Foundation import LanguageServerProtocol import SKCore +import SKOptions import SwiftSyntax import ToolchainRegistry diff --git a/Sources/SourceKitLSP/SourceKitIndexDelegate.swift b/Sources/SourceKitLSP/SourceKitIndexDelegate.swift index 286d13a25..ccd79f3ec 100644 --- a/Sources/SourceKitLSP/SourceKitIndexDelegate.swift +++ b/Sources/SourceKitLSP/SourceKitIndexDelegate.swift @@ -12,7 +12,6 @@ import Dispatch import IndexStoreDB -import SKCore import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SourceKitLSP/SourceKitLSPServer.swift b/Sources/SourceKitLSP/SourceKitLSPServer.swift index a41281619..96be55249 100644 --- a/Sources/SourceKitLSP/SourceKitLSPServer.swift +++ b/Sources/SourceKitLSP/SourceKitLSPServer.swift @@ -18,6 +18,7 @@ import LanguageServerProtocol import PackageLoading import SKCore import SKLogging +import SKOptions import SKSupport import SKSwiftPMWorkspace import SemanticIndex diff --git a/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift b/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift index e3164b79e..58d4f36eb 100644 --- a/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift +++ b/Sources/SourceKitLSP/Swift/CodeCompletionSession.swift @@ -12,8 +12,8 @@ import Dispatch import LanguageServerProtocol -import SKCore import SKLogging +import SKOptions import SKSupport import SourceKitD import SwiftExtensions diff --git a/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift b/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift index b01480ba1..1eafee2d9 100644 --- a/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift +++ b/Sources/SourceKitLSP/Swift/DiagnosticReportManager.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import LanguageServerProtocol -import SKCore import SKLogging +import SKOptions import SKSupport import SourceKitD import SwiftExtensions diff --git a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift index 7a5517c38..1e96130a8 100644 --- a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift +++ b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift @@ -16,6 +16,7 @@ import IndexStoreDB import LanguageServerProtocol import SKCore import SKLogging +import SKOptions import SKSupport import SemanticIndex import SourceKitD diff --git a/Sources/SourceKitLSP/TestHooks.swift b/Sources/SourceKitLSP/TestHooks.swift index 910df0408..227cf1d13 100644 --- a/Sources/SourceKitLSP/TestHooks.swift +++ b/Sources/SourceKitLSP/TestHooks.swift @@ -12,7 +12,6 @@ import Foundation import LanguageServerProtocol -import SKCore import SKSupport import SKSwiftPMWorkspace import SemanticIndex diff --git a/Sources/SourceKitLSP/Workspace.swift b/Sources/SourceKitLSP/Workspace.swift index 11eb25f48..fb5ab07eb 100644 --- a/Sources/SourceKitLSP/Workspace.swift +++ b/Sources/SourceKitLSP/Workspace.swift @@ -14,6 +14,7 @@ import IndexStoreDB import LanguageServerProtocol import SKCore import SKLogging +import SKOptions import SKSupport import SemanticIndex import SwiftExtensions diff --git a/Sources/sourcekit-lsp/CMakeLists.txt b/Sources/sourcekit-lsp/CMakeLists.txt index bcbf598e0..9f76468f7 100644 --- a/Sources/sourcekit-lsp/CMakeLists.txt +++ b/Sources/sourcekit-lsp/CMakeLists.txt @@ -7,6 +7,7 @@ target_link_libraries(sourcekit-lsp PRIVATE LanguageServerProtocolJSONRPC SemanticIndex SKCore + SKOptions SKSupport SourceKitLSP ToolchainRegistry diff --git a/Sources/sourcekit-lsp/SourceKitLSP.swift b/Sources/sourcekit-lsp/SourceKitLSP.swift index b7d9cd5db..8d24d0a04 100644 --- a/Sources/sourcekit-lsp/SourceKitLSP.swift +++ b/Sources/sourcekit-lsp/SourceKitLSP.swift @@ -18,6 +18,7 @@ import LanguageServerProtocol import LanguageServerProtocolJSONRPC import SKCore import SKLogging +import SKOptions import SKSupport import SourceKitLSP import ToolchainRegistry @@ -90,9 +91,9 @@ extension PathPrefixMapping { } extension PathPrefixMapping: ExpressibleByArgument {} -extension SKCore.BuildConfiguration: ExpressibleByArgument {} +extension SKOptions.BuildConfiguration: ExpressibleByArgument {} -extension SKCore.WorkspaceType: ExpressibleByArgument {} +extension SKOptions.WorkspaceType: ExpressibleByArgument {} @main struct SourceKitLSP: AsyncParsableCommand { @@ -174,7 +175,7 @@ struct SourceKitLSP: AsyncParsableCommand { @Option( help: "Override default workspace type selection; one of 'swiftPM', 'compilationDatabase', or 'buildServer'" ) - var defaultWorkspaceType: SKCore.WorkspaceType? + var defaultWorkspaceType: SKOptions.WorkspaceType? @Option( name: .customLong("compilation-db-search-path"), diff --git a/Tests/DiagnoseTests/DiagnoseTests.swift b/Tests/DiagnoseTests/DiagnoseTests.swift index 5c07d39b0..b3b76743e 100644 --- a/Tests/DiagnoseTests/DiagnoseTests.swift +++ b/Tests/DiagnoseTests/DiagnoseTests.swift @@ -12,7 +12,6 @@ @_spi(Testing) import Diagnose import Foundation -@_spi(Testing) import SKCore import SKLogging import SKTestSupport import SourceKitD diff --git a/Tests/SKCoreTests/BuildSystemManagerTests.swift b/Tests/SKCoreTests/BuildSystemManagerTests.swift index 7fa2e7967..06744e22e 100644 --- a/Tests/SKCoreTests/BuildSystemManagerTests.swift +++ b/Tests/SKCoreTests/BuildSystemManagerTests.swift @@ -13,6 +13,7 @@ import BuildServerProtocol import LanguageServerProtocol @_spi(Testing) import SKCore +import SKOptions import SKTestSupport import TSCBasic import ToolchainRegistry diff --git a/Tests/SKCoreTests/FallbackBuildSystemTests.swift b/Tests/SKCoreTests/FallbackBuildSystemTests.swift index 7d5b28598..6cce20896 100644 --- a/Tests/SKCoreTests/FallbackBuildSystemTests.swift +++ b/Tests/SKCoreTests/FallbackBuildSystemTests.swift @@ -12,6 +12,7 @@ import LanguageServerProtocol @_spi(Testing) import SKCore +import SKOptions import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift index 15b49eea7..d617fe747 100644 --- a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift +++ b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift @@ -14,6 +14,7 @@ import Build import LanguageServerProtocol import PackageModel @_spi(Testing) import SKCore +import SKOptions @_spi(Testing) import SKSwiftPMWorkspace import SKTestSupport import SourceKitLSP diff --git a/Tests/SourceKitDTests/SourceKitDTests.swift b/Tests/SourceKitDTests/SourceKitDTests.swift index 3186494ea..1047724e0 100644 --- a/Tests/SourceKitDTests/SourceKitDTests.swift +++ b/Tests/SourceKitDTests/SourceKitDTests.swift @@ -13,7 +13,6 @@ import Foundation import ISDBTestSupport import LanguageServerProtocol -@_spi(Testing) import SKCore import SKSupport import SKTestSupport import SourceKitD diff --git a/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift b/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift index 68f5fdd35..885d06c31 100644 --- a/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift +++ b/Tests/SourceKitLSPTests/BackgroundIndexingTests.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import LanguageServerProtocol -@_spi(Testing) import SKCore +import SKOptions import SKSupport import SKTestSupport import SemanticIndex diff --git a/Tests/SourceKitLSPTests/BuildSystemTests.swift b/Tests/SourceKitLSPTests/BuildSystemTests.swift index dde7fb82e..a14649310 100644 --- a/Tests/SourceKitLSPTests/BuildSystemTests.swift +++ b/Tests/SourceKitLSPTests/BuildSystemTests.swift @@ -13,6 +13,7 @@ import BuildServerProtocol import LanguageServerProtocol @_spi(Testing) import SKCore +import SKOptions import SKTestSupport @_spi(Testing) import SemanticIndex @_spi(Testing) import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/ExecuteCommandTests.swift b/Tests/SourceKitLSPTests/ExecuteCommandTests.swift index 1b06b6233..418b175a7 100644 --- a/Tests/SourceKitLSPTests/ExecuteCommandTests.swift +++ b/Tests/SourceKitLSPTests/ExecuteCommandTests.swift @@ -11,7 +11,7 @@ //===----------------------------------------------------------------------===// import LanguageServerProtocol -import SKCore +import SKOptions import SKTestSupport @_spi(Testing) import SourceKitLSP import SwiftExtensions diff --git a/Tests/SourceKitLSPTests/LocalClangTests.swift b/Tests/SourceKitLSPTests/LocalClangTests.swift index 214c3f68e..c9aa28867 100644 --- a/Tests/SourceKitLSPTests/LocalClangTests.swift +++ b/Tests/SourceKitLSPTests/LocalClangTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import LanguageServerProtocol -import SKCore import SKTestSupport @_spi(Testing) import SourceKitLSP import XCTest diff --git a/Tests/SourceKitLSPTests/LocalSwiftTests.swift b/Tests/SourceKitLSPTests/LocalSwiftTests.swift index c08986bbf..ed460c8fe 100644 --- a/Tests/SourceKitLSPTests/LocalSwiftTests.swift +++ b/Tests/SourceKitLSPTests/LocalSwiftTests.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import LanguageServerProtocol -import SKCore import SKLogging +import SKOptions import SKTestSupport import SourceKitD @_spi(Testing) import SourceKitLSP diff --git a/Tests/SourceKitLSPTests/MainFilesProviderTests.swift b/Tests/SourceKitLSPTests/MainFilesProviderTests.swift index 1f4582b81..a543c8698 100644 --- a/Tests/SourceKitLSPTests/MainFilesProviderTests.swift +++ b/Tests/SourceKitLSPTests/MainFilesProviderTests.swift @@ -11,7 +11,6 @@ //===----------------------------------------------------------------------===// import LanguageServerProtocol -import SKCore import SKTestSupport import SourceKitLSP import XCTest diff --git a/Tests/SourceKitLSPTests/WorkspaceTests.swift b/Tests/SourceKitLSPTests/WorkspaceTests.swift index eb5dd33c0..08d57ecc1 100644 --- a/Tests/SourceKitLSPTests/WorkspaceTests.swift +++ b/Tests/SourceKitLSPTests/WorkspaceTests.swift @@ -12,8 +12,8 @@ import Foundation import LanguageServerProtocol -@_spi(Testing) import SKCore import SKLogging +import SKOptions import SKTestSupport import SourceKitLSP import TSCBasic From 66f2d86775850ed6e120587442d01ba93ecc3670 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Wed, 24 Jul 2024 14:42:16 -0700 Subject: [PATCH 5/6] Rename `SKCore` to `BuildSystemIntegration` --- Documentation/Modules.md | 31 ++----- Package.swift | 82 +++++++++---------- .../BuildServerBuildSystem.swift | 0 .../BuildSystem.swift | 0 .../BuildSystemDelegate.swift | 0 .../BuildSystemManager.swift | 0 .../CMakeLists.txt | 6 +- .../CompilationDatabase.swift | 0 .../CompilationDatabaseBuildSystem.swift | 0 .../FallbackBuildSystem.swift | 0 .../FileBuildSettings.swift | 0 .../IndexTaskID.swift | 0 .../MainFilesProvider.swift | 0 .../PathPrefixMapping.swift | 0 .../SplitShellCommand.swift | 0 Sources/CMakeLists.txt | 2 +- Sources/Diagnose/CMakeLists.txt | 2 +- .../Diagnose/SwiftFrontendCrashScraper.swift | 2 +- Sources/InProcessClient/CMakeLists.txt | 2 +- .../InProcessSourceKitLSPClient.swift | 2 +- Sources/SKSwiftPMWorkspace/CMakeLists.txt | 2 +- .../SwiftPMBuildSystem.swift | 8 +- .../IndexedSingleSwiftFileTestProject.swift | 2 +- Sources/SemanticIndex/CMakeLists.txt | 2 +- .../PreparationTaskDescription.swift | 2 +- .../SemanticIndex/SemanticIndexManager.swift | 2 +- .../UpdateIndexStoreTaskDescription.swift | 2 +- Sources/SourceKitLSP/CMakeLists.txt | 2 +- .../Clang/ClangLanguageService.swift | 2 +- Sources/SourceKitLSP/CreateBuildSystem.swift | 2 +- .../IndexStoreDB+MainFilesProvider.swift | 2 +- Sources/SourceKitLSP/LanguageService.swift | 1 - Sources/SourceKitLSP/SourceKitLSPServer.swift | 2 +- .../Swift/SwiftLanguageService.swift | 2 +- Sources/SourceKitLSP/Workspace.swift | 2 +- Sources/sourcekit-lsp/CMakeLists.txt | 2 +- Sources/sourcekit-lsp/SourceKitLSP.swift | 2 +- .../BuildServerBuildSystemTests.swift | 2 +- .../BuildSystemManagerTests.swift | 4 +- .../CompilationDatabasePerfTests.swift | 2 +- .../CompilationDatabaseTests.swift | 2 +- .../FallbackBuildSystemTests.swift | 2 +- .../SplitShellCommandTests.swift | 2 +- .../SwiftPMBuildSystemTests.swift | 2 +- .../SourceKitLSPTests/BuildSystemTests.swift | 2 +- .../CompilationDatabaseTests.swift | 2 +- .../ExpectedIndexTaskTracker.swift | 2 +- .../SwiftCompileCommandsTest.swift | 2 +- .../WorkspaceTestDiscoveryTests.swift | 2 +- 49 files changed, 86 insertions(+), 108 deletions(-) rename Sources/{SKCore => BuildSystemIntegration}/BuildServerBuildSystem.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/BuildSystem.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/BuildSystemDelegate.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/BuildSystemManager.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/CMakeLists.txt (79%) rename Sources/{SKCore => BuildSystemIntegration}/CompilationDatabase.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/CompilationDatabaseBuildSystem.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/FallbackBuildSystem.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/FileBuildSettings.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/IndexTaskID.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/MainFilesProvider.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/PathPrefixMapping.swift (100%) rename Sources/{SKCore => BuildSystemIntegration}/SplitShellCommand.swift (100%) rename Tests/{SKCoreTests => BuildSystemIntegrationTests}/BuildServerBuildSystemTests.swift (99%) rename Tests/{SKCoreTests => BuildSystemIntegrationTests}/BuildSystemManagerTests.swift (99%) rename Tests/{SKCoreTests => BuildSystemIntegrationTests}/CompilationDatabasePerfTests.swift (97%) rename Tests/{SKCoreTests => BuildSystemIntegrationTests}/CompilationDatabaseTests.swift (99%) rename Tests/{SKCoreTests => BuildSystemIntegrationTests}/FallbackBuildSystemTests.swift (99%) rename Tests/{SKCoreTests => BuildSystemIntegrationTests}/SplitShellCommandTests.swift (99%) diff --git a/Documentation/Modules.md b/Documentation/Modules.md index 1e62472a9..6534d99d6 100644 --- a/Documentation/Modules.md +++ b/Documentation/Modules.md @@ -8,6 +8,10 @@ Swift types to represent the [Build Server Protocol (BSP) specification, version FIXME: Add link for BSP and version +### BuildSystemIntegration + +Defines the queries SourceKit-LSP can ask of a a build system, like getting compiler arguments for a file. Finding a target’s dependencies or preparing a target. + ### CAtomics Implementation of atomics for Swift using C. Once we can raise our deployment target to use the `Atomic` type from the Swift standard library, this module should be removed. @@ -42,31 +46,6 @@ A connection to or from a SourceKit-LSP server. Since message parsing can fail, Contains the interface with which SourceKit-LSP queries the semantic index, adding up-to-date checks on top of the indexstore-db API. Also implements the types that manage background indexing. -### SKCore - -FIXME: Currently serves two independent purposes and should be split up into two modules - -#### BuildSystem - -Defines the queries SourceKit-LSP can ask of a a build system, like getting compiler arguments for a file. Finding a target’s dependencies or preparing a target. - -This includes: -- BuildConfiguration.swift -- BuildServerBuildSystem.swift -- BuildSetup.swift -- BuildSystem.swift -- BuildSystemDelegate.swift -- BuildSystemManager.swift -- CompilationDatabase.swift -- CompilationDatabaseBuildSystem.swift -- FallbackBuildSystem.swift -- FileBuildSettings.swift -- IndexTaskID.swift -- MainFilesProvider.swift -- PathPrefixMapping.swift -- SplitShellCommand.swift -- WorkspaceType.swift - ### SKLogging Types that are API-compatible with OSLog to allow logging to OSLog when building for Darwin platforms and logging to stderr or files on non-Darwin platforms. This should not be dependent on any LSP specific types and be portable to other packages. @@ -86,7 +65,7 @@ Contains SourceKit-LSP-specific helper functions. These fall into three differen Implements the `BuildSystem` protocol for Swift packages. -FIXME: Merge this into the BuildSystem module once SKCore is split. +FIXME: Merge this into the BuildSystem module once BuildSystemIntegration is split. ### SKTestSupport diff --git a/Package.swift b/Package.swift index e33b290f0..a1bade839 100644 --- a/Package.swift +++ b/Package.swift @@ -24,10 +24,10 @@ let package = Package( .executableTarget( name: "sourcekit-lsp", dependencies: [ + "BuildSystemIntegration", "Diagnose", "LanguageServerProtocol", "LanguageServerProtocolJSONRPC", - "SKCore", "SKOptions", "SKSupport", "SourceKitLSP", @@ -49,6 +49,36 @@ let package = Package( exclude: ["CMakeLists.txt"] ), + // MARK: BuildSystemIntegration + + .target( + name: "BuildSystemIntegration", + dependencies: [ + "BuildServerProtocol", + "LanguageServerProtocol", + "LanguageServerProtocolJSONRPC", + "SKLogging", + "SKOptions", + "SKSupport", + "SourceKitD", + "SwiftExtensions", + "ToolchainRegistry", + .product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"), + .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), + ], + exclude: ["CMakeLists.txt"] + ), + + .testTarget( + name: "BuildSystemIntegrationTests", + dependencies: [ + "BuildSystemIntegration", + "SKOptions", + "SKTestSupport", + "ToolchainRegistry", + ] + ), + // MARK: CAtomics .target( @@ -76,8 +106,8 @@ let package = Package( .target( name: "Diagnose", dependencies: [ + "BuildSystemIntegration", "InProcessClient", - "SKCore", "SKLogging", "SKOptions", "SKSupport", @@ -97,8 +127,8 @@ let package = Package( .testTarget( name: "DiagnoseTests", dependencies: [ + "BuildSystemIntegration", "Diagnose", - "SKCore", "SKLogging", "SKTestSupport", "SourceKitD", @@ -112,8 +142,8 @@ let package = Package( .target( name: "InProcessClient", dependencies: [ + "BuildSystemIntegration", "LanguageServerProtocol", - "SKCore", "SKLogging", "SKOptions", "SourceKitLSP", @@ -162,8 +192,8 @@ let package = Package( .target( name: "SemanticIndex", dependencies: [ + "BuildSystemIntegration", "LanguageServerProtocol", - "SKCore", "SKLogging", "SwiftExtensions", "ToolchainRegistry", @@ -181,36 +211,6 @@ let package = Package( ] ), - // MARK: SKCore - - .target( - name: "SKCore", - dependencies: [ - "BuildServerProtocol", - "LanguageServerProtocol", - "LanguageServerProtocolJSONRPC", - "SKLogging", - "SKOptions", - "SKSupport", - "SourceKitD", - "SwiftExtensions", - "ToolchainRegistry", - .product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"), - .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), - ], - exclude: ["CMakeLists.txt"] - ), - - .testTarget( - name: "SKCoreTests", - dependencies: [ - "SKCore", - "SKOptions", - "SKTestSupport", - "ToolchainRegistry", - ] - ), - // MARK: SKLogging .target( @@ -273,8 +273,8 @@ let package = Package( name: "SKSwiftPMWorkspace", dependencies: [ "BuildServerProtocol", + "BuildSystemIntegration", "LanguageServerProtocol", - "SKCore", "SKLogging", "SKOptions", "SwiftExtensions", @@ -288,8 +288,8 @@ let package = Package( .testTarget( name: "SKSwiftPMWorkspaceTests", dependencies: [ + "BuildSystemIntegration", "LanguageServerProtocol", - "SKCore", "SKOptions", "SKSwiftPMWorkspace", "SKTestSupport", @@ -305,11 +305,11 @@ let package = Package( .target( name: "SKTestSupport", dependencies: [ + "BuildSystemIntegration", "CSKTestSupport", "InProcessClient", "LanguageServerProtocol", "LanguageServerProtocolJSONRPC", - "SKCore", "SKLogging", "SKOptions", "SKSupport", @@ -338,8 +338,8 @@ let package = Package( .testTarget( name: "SourceKitDTests", dependencies: [ + "BuildSystemIntegration", "SourceKitD", - "SKCore", "SKTestSupport", "SwiftExtensions", "ToolchainRegistry", @@ -352,10 +352,10 @@ let package = Package( name: "SourceKitLSP", dependencies: [ "BuildServerProtocol", + "BuildSystemIntegration", "LanguageServerProtocol", "LanguageServerProtocolJSONRPC", "SemanticIndex", - "SKCore", "SKLogging", "SKOptions", "SKSupport", @@ -382,9 +382,9 @@ let package = Package( name: "SourceKitLSPTests", dependencies: [ "BuildServerProtocol", + "BuildSystemIntegration", "LanguageServerProtocol", "SemanticIndex", - "SKCore", "SKLogging", "SKOptions", "SKSupport", diff --git a/Sources/SKCore/BuildServerBuildSystem.swift b/Sources/BuildSystemIntegration/BuildServerBuildSystem.swift similarity index 100% rename from Sources/SKCore/BuildServerBuildSystem.swift rename to Sources/BuildSystemIntegration/BuildServerBuildSystem.swift diff --git a/Sources/SKCore/BuildSystem.swift b/Sources/BuildSystemIntegration/BuildSystem.swift similarity index 100% rename from Sources/SKCore/BuildSystem.swift rename to Sources/BuildSystemIntegration/BuildSystem.swift diff --git a/Sources/SKCore/BuildSystemDelegate.swift b/Sources/BuildSystemIntegration/BuildSystemDelegate.swift similarity index 100% rename from Sources/SKCore/BuildSystemDelegate.swift rename to Sources/BuildSystemIntegration/BuildSystemDelegate.swift diff --git a/Sources/SKCore/BuildSystemManager.swift b/Sources/BuildSystemIntegration/BuildSystemManager.swift similarity index 100% rename from Sources/SKCore/BuildSystemManager.swift rename to Sources/BuildSystemIntegration/BuildSystemManager.swift diff --git a/Sources/SKCore/CMakeLists.txt b/Sources/BuildSystemIntegration/CMakeLists.txt similarity index 79% rename from Sources/SKCore/CMakeLists.txt rename to Sources/BuildSystemIntegration/CMakeLists.txt index e0bd497eb..c671ea168 100644 --- a/Sources/SKCore/CMakeLists.txt +++ b/Sources/BuildSystemIntegration/CMakeLists.txt @@ -1,5 +1,5 @@ -add_library(SKCore STATIC +add_library(BuildSystemIntegration STATIC BuildServerBuildSystem.swift BuildSystem.swift BuildSystemDelegate.swift @@ -12,9 +12,9 @@ add_library(SKCore STATIC MainFilesProvider.swift PathPrefixMapping.swift SplitShellCommand.swift) -set_target_properties(SKCore PROPERTIES +set_target_properties(BuildSystemIntegration PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) -target_link_libraries(SKCore PUBLIC +target_link_libraries(BuildSystemIntegration PUBLIC BuildServerProtocol LanguageServerProtocol LanguageServerProtocolJSONRPC diff --git a/Sources/SKCore/CompilationDatabase.swift b/Sources/BuildSystemIntegration/CompilationDatabase.swift similarity index 100% rename from Sources/SKCore/CompilationDatabase.swift rename to Sources/BuildSystemIntegration/CompilationDatabase.swift diff --git a/Sources/SKCore/CompilationDatabaseBuildSystem.swift b/Sources/BuildSystemIntegration/CompilationDatabaseBuildSystem.swift similarity index 100% rename from Sources/SKCore/CompilationDatabaseBuildSystem.swift rename to Sources/BuildSystemIntegration/CompilationDatabaseBuildSystem.swift diff --git a/Sources/SKCore/FallbackBuildSystem.swift b/Sources/BuildSystemIntegration/FallbackBuildSystem.swift similarity index 100% rename from Sources/SKCore/FallbackBuildSystem.swift rename to Sources/BuildSystemIntegration/FallbackBuildSystem.swift diff --git a/Sources/SKCore/FileBuildSettings.swift b/Sources/BuildSystemIntegration/FileBuildSettings.swift similarity index 100% rename from Sources/SKCore/FileBuildSettings.swift rename to Sources/BuildSystemIntegration/FileBuildSettings.swift diff --git a/Sources/SKCore/IndexTaskID.swift b/Sources/BuildSystemIntegration/IndexTaskID.swift similarity index 100% rename from Sources/SKCore/IndexTaskID.swift rename to Sources/BuildSystemIntegration/IndexTaskID.swift diff --git a/Sources/SKCore/MainFilesProvider.swift b/Sources/BuildSystemIntegration/MainFilesProvider.swift similarity index 100% rename from Sources/SKCore/MainFilesProvider.swift rename to Sources/BuildSystemIntegration/MainFilesProvider.swift diff --git a/Sources/SKCore/PathPrefixMapping.swift b/Sources/BuildSystemIntegration/PathPrefixMapping.swift similarity index 100% rename from Sources/SKCore/PathPrefixMapping.swift rename to Sources/BuildSystemIntegration/PathPrefixMapping.swift diff --git a/Sources/SKCore/SplitShellCommand.swift b/Sources/BuildSystemIntegration/SplitShellCommand.swift similarity index 100% rename from Sources/SKCore/SplitShellCommand.swift rename to Sources/BuildSystemIntegration/SplitShellCommand.swift diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt index e7bf364f5..a21b7c023 100644 --- a/Sources/CMakeLists.txt +++ b/Sources/CMakeLists.txt @@ -1,5 +1,6 @@ add_compile_options("$<$:SHELL:-package-name SourceKitLSP>") add_subdirectory(BuildServerProtocol) +add_subdirectory(BuildSystemIntegration) add_subdirectory(CAtomics) add_subdirectory(Csourcekitd) add_subdirectory(Diagnose) @@ -7,7 +8,6 @@ add_subdirectory(InProcessClient) add_subdirectory(LanguageServerProtocol) add_subdirectory(LanguageServerProtocolJSONRPC) add_subdirectory(SemanticIndex) -add_subdirectory(SKCore) add_subdirectory(SKLogging) add_subdirectory(SKOptions) add_subdirectory(SKSupport) diff --git a/Sources/Diagnose/CMakeLists.txt b/Sources/Diagnose/CMakeLists.txt index 788affad3..4fc6aff33 100644 --- a/Sources/Diagnose/CMakeLists.txt +++ b/Sources/Diagnose/CMakeLists.txt @@ -25,8 +25,8 @@ set_target_properties(Diagnose PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(Diagnose PUBLIC + BuildSystemIntegration InProcessClient - SKCore SKLogging SKOptions SourceKitD diff --git a/Sources/Diagnose/SwiftFrontendCrashScraper.swift b/Sources/Diagnose/SwiftFrontendCrashScraper.swift index 80486c173..5741a2bb6 100644 --- a/Sources/Diagnose/SwiftFrontendCrashScraper.swift +++ b/Sources/Diagnose/SwiftFrontendCrashScraper.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Foundation -import SKCore struct SwiftFrontendCrashScraper { /// Information we care about in a `.ips` crash report. diff --git a/Sources/InProcessClient/CMakeLists.txt b/Sources/InProcessClient/CMakeLists.txt index 6da800619..3d90e1470 100644 --- a/Sources/InProcessClient/CMakeLists.txt +++ b/Sources/InProcessClient/CMakeLists.txt @@ -6,8 +6,8 @@ set_target_properties(InProcessClient PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(InProcessClient PUBLIC + BuildSystemIntegration LanguageServerProtocol - SKCore SKLogging SKOptions SourceKitLSP diff --git a/Sources/InProcessClient/InProcessSourceKitLSPClient.swift b/Sources/InProcessClient/InProcessSourceKitLSPClient.swift index 447ae84eb..088fa4672 100644 --- a/Sources/InProcessClient/InProcessSourceKitLSPClient.swift +++ b/Sources/InProcessClient/InProcessSourceKitLSPClient.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import LanguageServerProtocol -import SKCore import SKOptions import SKSupport import SourceKitLSP diff --git a/Sources/SKSwiftPMWorkspace/CMakeLists.txt b/Sources/SKSwiftPMWorkspace/CMakeLists.txt index c4e0bbd39..3bac13512 100644 --- a/Sources/SKSwiftPMWorkspace/CMakeLists.txt +++ b/Sources/SKSwiftPMWorkspace/CMakeLists.txt @@ -5,8 +5,8 @@ set_target_properties(SKSwiftPMWorkspace PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(SKSwiftPMWorkspace PRIVATE BuildServerProtocol + BuildSystemIntegration LanguageServerProtocol - SKCore SKLogging SKOptions SwiftExtensions diff --git a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift index a9a13e92c..1704ab90a 100644 --- a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift +++ b/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift @@ -13,13 +13,13 @@ import Basics import Build import BuildServerProtocol +import BuildSystemIntegration import Dispatch import Foundation import LanguageServerProtocol import PackageGraph import PackageLoading import PackageModel -import SKCore import SKLogging import SKOptions import SKSupport @@ -122,9 +122,9 @@ package actor SwiftPMBuildSystem { } /// Delegate to handle any build system events. - package weak var delegate: SKCore.BuildSystemDelegate? = nil + package weak var delegate: BuildSystemIntegration.BuildSystemDelegate? = nil - package func setDelegate(_ delegate: SKCore.BuildSystemDelegate?) async { + package func setDelegate(_ delegate: BuildSystemIntegration.BuildSystemDelegate?) async { self.delegate = delegate } @@ -440,7 +440,7 @@ fileprivate struct NonFileURIError: Error, CustomStringConvertible { } } -extension SwiftPMBuildSystem: SKCore.BuildSystem { +extension SwiftPMBuildSystem: BuildSystemIntegration.BuildSystem { package nonisolated var supportsPreparation: Bool { true } package var buildPath: TSCAbsolutePath { diff --git a/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift b/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift index 1b0313d40..977df6da9 100644 --- a/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift +++ b/Sources/SKTestSupport/IndexedSingleSwiftFileTestProject.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +@_spi(Testing) import BuildSystemIntegration import Foundation import LanguageServerProtocol -@_spi(Testing) import SKCore import SKOptions import SourceKitLSP import TSCBasic diff --git a/Sources/SemanticIndex/CMakeLists.txt b/Sources/SemanticIndex/CMakeLists.txt index b09c1ca82..433a6d982 100644 --- a/Sources/SemanticIndex/CMakeLists.txt +++ b/Sources/SemanticIndex/CMakeLists.txt @@ -13,8 +13,8 @@ add_library(SemanticIndex STATIC set_target_properties(SemanticIndex PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(SemanticIndex PRIVATE + BuildSystemIntegration LanguageServerProtocol - SKCore SKLogging SwiftExtensions ToolchainRegistry diff --git a/Sources/SemanticIndex/PreparationTaskDescription.swift b/Sources/SemanticIndex/PreparationTaskDescription.swift index adb03ec0a..cb3afa93c 100644 --- a/Sources/SemanticIndex/PreparationTaskDescription.swift +++ b/Sources/SemanticIndex/PreparationTaskDescription.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Foundation import LanguageServerProtocol -import SKCore import SKLogging import SKSupport diff --git a/Sources/SemanticIndex/SemanticIndexManager.swift b/Sources/SemanticIndex/SemanticIndexManager.swift index a71f7627e..781bb1603 100644 --- a/Sources/SemanticIndex/SemanticIndexManager.swift +++ b/Sources/SemanticIndex/SemanticIndexManager.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Foundation import LanguageServerProtocol -import SKCore import SKLogging /// The logging subsystem that should be used for all index-related logging. diff --git a/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift b/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift index e5fba2f5b..282f8b4e6 100644 --- a/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift +++ b/Sources/SemanticIndex/UpdateIndexStoreTaskDescription.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Foundation import LanguageServerProtocol -import SKCore import SKLogging import SKSupport import SwiftExtensions diff --git a/Sources/SourceKitLSP/CMakeLists.txt b/Sources/SourceKitLSP/CMakeLists.txt index 7ef57b08c..b7b4ce0d3 100644 --- a/Sources/SourceKitLSP/CMakeLists.txt +++ b/Sources/SourceKitLSP/CMakeLists.txt @@ -75,10 +75,10 @@ set_target_properties(SourceKitLSP PROPERTIES # TODO(compnerd) reduce the exposure here, why is everything PUBLIC-ly linked? target_link_libraries(SourceKitLSP PUBLIC BuildServerProtocol + BuildSystemIntegration LanguageServerProtocol LanguageServerProtocolJSONRPC SemanticIndex - SKCore SKLogging SKOptions SKSupport diff --git a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift index f61adabe6..e10cb9575 100644 --- a/Sources/SourceKitLSP/Clang/ClangLanguageService.swift +++ b/Sources/SourceKitLSP/Clang/ClangLanguageService.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import LanguageServerProtocol import LanguageServerProtocolJSONRPC -import SKCore import SKLogging import SKOptions import SKSupport diff --git a/Sources/SourceKitLSP/CreateBuildSystem.swift b/Sources/SourceKitLSP/CreateBuildSystem.swift index 5b34d0c04..6c50846fc 100644 --- a/Sources/SourceKitLSP/CreateBuildSystem.swift +++ b/Sources/SourceKitLSP/CreateBuildSystem.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import LanguageServerProtocol -import SKCore import SKLogging import SKOptions import SKSwiftPMWorkspace diff --git a/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift b/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift index b99b35ce0..478fb0e80 100644 --- a/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift +++ b/Sources/SourceKitLSP/IndexStoreDB+MainFilesProvider.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Foundation import LanguageServerProtocol -import SKCore import SKLogging import SemanticIndex diff --git a/Sources/SourceKitLSP/LanguageService.swift b/Sources/SourceKitLSP/LanguageService.swift index 087268bd1..0fafa0eae 100644 --- a/Sources/SourceKitLSP/LanguageService.swift +++ b/Sources/SourceKitLSP/LanguageService.swift @@ -12,7 +12,6 @@ import Foundation import LanguageServerProtocol -import SKCore import SKOptions import SwiftSyntax import ToolchainRegistry diff --git a/Sources/SourceKitLSP/SourceKitLSPServer.swift b/Sources/SourceKitLSP/SourceKitLSPServer.swift index 96be55249..6216744be 100644 --- a/Sources/SourceKitLSP/SourceKitLSPServer.swift +++ b/Sources/SourceKitLSP/SourceKitLSPServer.swift @@ -11,12 +11,12 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol +import BuildSystemIntegration import Dispatch import Foundation import IndexStoreDB import LanguageServerProtocol import PackageLoading -import SKCore import SKLogging import SKOptions import SKSupport diff --git a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift index 1e96130a8..a0efd740c 100644 --- a/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift +++ b/Sources/SourceKitLSP/Swift/SwiftLanguageService.swift @@ -10,11 +10,11 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Dispatch import Foundation import IndexStoreDB import LanguageServerProtocol -import SKCore import SKLogging import SKOptions import SKSupport diff --git a/Sources/SourceKitLSP/Workspace.swift b/Sources/SourceKitLSP/Workspace.swift index fb5ab07eb..2c704c54e 100644 --- a/Sources/SourceKitLSP/Workspace.swift +++ b/Sources/SourceKitLSP/Workspace.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import IndexStoreDB import LanguageServerProtocol -import SKCore import SKLogging import SKOptions import SKSupport diff --git a/Sources/sourcekit-lsp/CMakeLists.txt b/Sources/sourcekit-lsp/CMakeLists.txt index 9f76468f7..344104e8f 100644 --- a/Sources/sourcekit-lsp/CMakeLists.txt +++ b/Sources/sourcekit-lsp/CMakeLists.txt @@ -2,11 +2,11 @@ add_executable(sourcekit-lsp SourceKitLSP.swift) target_link_libraries(sourcekit-lsp PRIVATE + BuildSystemIntegration Diagnose LanguageServerProtocol LanguageServerProtocolJSONRPC SemanticIndex - SKCore SKOptions SKSupport SourceKitLSP diff --git a/Sources/sourcekit-lsp/SourceKitLSP.swift b/Sources/sourcekit-lsp/SourceKitLSP.swift index 8d24d0a04..8ad28cbcc 100644 --- a/Sources/sourcekit-lsp/SourceKitLSP.swift +++ b/Sources/sourcekit-lsp/SourceKitLSP.swift @@ -11,12 +11,12 @@ //===----------------------------------------------------------------------===// import ArgumentParser +import BuildSystemIntegration import Csourcekitd // Not needed here, but fixes debugging... import Diagnose import Dispatch import LanguageServerProtocol import LanguageServerProtocolJSONRPC -import SKCore import SKLogging import SKOptions import SKSupport diff --git a/Tests/SKCoreTests/BuildServerBuildSystemTests.swift b/Tests/BuildSystemIntegrationTests/BuildServerBuildSystemTests.swift similarity index 99% rename from Tests/SKCoreTests/BuildServerBuildSystemTests.swift rename to Tests/BuildSystemIntegrationTests/BuildServerBuildSystemTests.swift index a30c43f63..57ebf5b9b 100644 --- a/Tests/SKCoreTests/BuildServerBuildSystemTests.swift +++ b/Tests/BuildSystemIntegrationTests/BuildServerBuildSystemTests.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol +import BuildSystemIntegration import ISDBTestSupport import LanguageServerProtocol -import SKCore import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKCoreTests/BuildSystemManagerTests.swift b/Tests/BuildSystemIntegrationTests/BuildSystemManagerTests.swift similarity index 99% rename from Tests/SKCoreTests/BuildSystemManagerTests.swift rename to Tests/BuildSystemIntegrationTests/BuildSystemManagerTests.swift index 06744e22e..deb206db6 100644 --- a/Tests/SKCoreTests/BuildSystemManagerTests.swift +++ b/Tests/BuildSystemIntegrationTests/BuildSystemManagerTests.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol +@_spi(Testing) import BuildSystemIntegration import LanguageServerProtocol -@_spi(Testing) import SKCore import SKOptions import SKTestSupport import TSCBasic @@ -453,7 +453,7 @@ class ManualBuildSystem: BuildSystem { weak var delegate: BuildSystemDelegate? = nil - func setDelegate(_ delegate: SKCore.BuildSystemDelegate?) async { + func setDelegate(_ delegate: BuildSystemDelegate?) async { self.delegate = delegate } diff --git a/Tests/SKCoreTests/CompilationDatabasePerfTests.swift b/Tests/BuildSystemIntegrationTests/CompilationDatabasePerfTests.swift similarity index 97% rename from Tests/SKCoreTests/CompilationDatabasePerfTests.swift rename to Tests/BuildSystemIntegrationTests/CompilationDatabasePerfTests.swift index b3b6e0cb0..e6729bd15 100644 --- a/Tests/SKCoreTests/CompilationDatabasePerfTests.swift +++ b/Tests/BuildSystemIntegrationTests/CompilationDatabasePerfTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import LanguageServerProtocol -import SKCore import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKCoreTests/CompilationDatabaseTests.swift b/Tests/BuildSystemIntegrationTests/CompilationDatabaseTests.swift similarity index 99% rename from Tests/SKCoreTests/CompilationDatabaseTests.swift rename to Tests/BuildSystemIntegrationTests/CompilationDatabaseTests.swift index bfec15156..30bd01dbf 100644 --- a/Tests/SKCoreTests/CompilationDatabaseTests.swift +++ b/Tests/BuildSystemIntegrationTests/CompilationDatabaseTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import LanguageServerProtocol -import SKCore import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SKCoreTests/FallbackBuildSystemTests.swift b/Tests/BuildSystemIntegrationTests/FallbackBuildSystemTests.swift similarity index 99% rename from Tests/SKCoreTests/FallbackBuildSystemTests.swift rename to Tests/BuildSystemIntegrationTests/FallbackBuildSystemTests.swift index 6cce20896..0191c064e 100644 --- a/Tests/SKCoreTests/FallbackBuildSystemTests.swift +++ b/Tests/BuildSystemIntegrationTests/FallbackBuildSystemTests.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// +@_spi(Testing) import BuildSystemIntegration import LanguageServerProtocol -@_spi(Testing) import SKCore import SKOptions import SKTestSupport import TSCBasic diff --git a/Tests/SKCoreTests/SplitShellCommandTests.swift b/Tests/BuildSystemIntegrationTests/SplitShellCommandTests.swift similarity index 99% rename from Tests/SKCoreTests/SplitShellCommandTests.swift rename to Tests/BuildSystemIntegrationTests/SplitShellCommandTests.swift index b95a095c7..0ef0f8606 100644 --- a/Tests/SKCoreTests/SplitShellCommandTests.swift +++ b/Tests/BuildSystemIntegrationTests/SplitShellCommandTests.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -import SKCore +import BuildSystemIntegration import XCTest /// Assert that splitting `str` into its command line components results in `expected`. diff --git a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift index d617fe747..05f1a3f04 100644 --- a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift +++ b/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift @@ -11,9 +11,9 @@ //===----------------------------------------------------------------------===// import Build +@_spi(Testing) import BuildSystemIntegration import LanguageServerProtocol import PackageModel -@_spi(Testing) import SKCore import SKOptions @_spi(Testing) import SKSwiftPMWorkspace import SKTestSupport diff --git a/Tests/SourceKitLSPTests/BuildSystemTests.swift b/Tests/SourceKitLSPTests/BuildSystemTests.swift index a14649310..414757db2 100644 --- a/Tests/SourceKitLSPTests/BuildSystemTests.swift +++ b/Tests/SourceKitLSPTests/BuildSystemTests.swift @@ -11,8 +11,8 @@ //===----------------------------------------------------------------------===// import BuildServerProtocol +@_spi(Testing) import BuildSystemIntegration import LanguageServerProtocol -@_spi(Testing) import SKCore import SKOptions import SKTestSupport @_spi(Testing) import SemanticIndex diff --git a/Tests/SourceKitLSPTests/CompilationDatabaseTests.swift b/Tests/SourceKitLSPTests/CompilationDatabaseTests.swift index 757d4f81f..e0d7909ca 100644 --- a/Tests/SourceKitLSPTests/CompilationDatabaseTests.swift +++ b/Tests/SourceKitLSPTests/CompilationDatabaseTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Foundation import LanguageServerProtocol -import SKCore import SKTestSupport import TSCBasic import XCTest diff --git a/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift b/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift index 16ea3d9f3..6053fa39c 100644 --- a/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift +++ b/Tests/SourceKitLSPTests/ExpectedIndexTaskTracker.swift @@ -10,8 +10,8 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import LanguageServerProtocol -import SKCore import SKLogging import SemanticIndex import XCTest diff --git a/Tests/SourceKitLSPTests/SwiftCompileCommandsTest.swift b/Tests/SourceKitLSPTests/SwiftCompileCommandsTest.swift index b25201c88..b69e2b3f0 100644 --- a/Tests/SourceKitLSPTests/SwiftCompileCommandsTest.swift +++ b/Tests/SourceKitLSPTests/SwiftCompileCommandsTest.swift @@ -10,7 +10,7 @@ // //===----------------------------------------------------------------------===// -import SKCore +import BuildSystemIntegration import SourceKitLSP import XCTest diff --git a/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift b/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift index 28f6099fa..6126006fc 100644 --- a/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift +++ b/Tests/SourceKitLSPTests/WorkspaceTestDiscoveryTests.swift @@ -10,9 +10,9 @@ // //===----------------------------------------------------------------------===// +@_spi(Testing) import BuildSystemIntegration import Foundation import LanguageServerProtocol -@_spi(Testing) import SKCore import SKTestSupport @_spi(Testing) import SourceKitLSP import ToolchainRegistry From 4c8916ac605827b84a738da34ac1c2f1f7e261a5 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Mon, 15 Jul 2024 12:20:20 -0700 Subject: [PATCH 6/6] Merge `SKSwiftPMWorkspace` into `BuildSystemIntegration` The SwiftPM build system integration was the only one in its own modules. Merge it into the `BuildSystemIntegration` modules next to eg. the compilation database build system. --- Documentation/Modules.md | 10 +---- Package.swift | 37 ++----------------- Sources/BuildSystemIntegration/CMakeLists.txt | 7 +++- .../SwiftPMBuildSystem.swift | 3 +- Sources/CMakeLists.txt | 1 - Sources/SKSwiftPMWorkspace/CMakeLists.txt | 17 --------- Sources/SourceKitLSP/CMakeLists.txt | 1 - Sources/SourceKitLSP/CreateBuildSystem.swift | 1 - Sources/SourceKitLSP/SourceKitLSPServer.swift | 1 - Sources/SourceKitLSP/TestHooks.swift | 2 +- .../SwiftPMBuildSystemTests.swift | 1 - Tests/SourceKitLSPTests/CodeLensTests.swift | 1 - 12 files changed, 12 insertions(+), 70 deletions(-) rename Sources/{SKSwiftPMWorkspace => BuildSystemIntegration}/SwiftPMBuildSystem.swift (99%) delete mode 100644 Sources/SKSwiftPMWorkspace/CMakeLists.txt rename Tests/{SKSwiftPMWorkspaceTests => BuildSystemIntegrationTests}/SwiftPMBuildSystemTests.swift (99%) diff --git a/Documentation/Modules.md b/Documentation/Modules.md index 6534d99d6..ac16c23ce 100644 --- a/Documentation/Modules.md +++ b/Documentation/Modules.md @@ -10,7 +10,7 @@ FIXME: Add link for BSP and version ### BuildSystemIntegration -Defines the queries SourceKit-LSP can ask of a a build system, like getting compiler arguments for a file. Finding a target’s dependencies or preparing a target. +Defines the queries SourceKit-LSP can ask of a build system, like getting compiler arguments for a file, finding a target’s dependencies or preparing a target. ### CAtomics @@ -48,7 +48,7 @@ Contains the interface with which SourceKit-LSP queries the semantic index, addi ### SKLogging -Types that are API-compatible with OSLog to allow logging to OSLog when building for Darwin platforms and logging to stderr or files on non-Darwin platforms. This should not be dependent on any LSP specific types and be portable to other packages. +Types that are API-compatible with OSLog that allow logging to OSLog when building for Apple platforms and logging to stderr or files on non-Apple platforms. This should not be dependent on any LSP specific types and be portable to other packages. ### SKOptions @@ -61,12 +61,6 @@ Contains SourceKit-LSP-specific helper functions. These fall into three differen - Functionality that can only be implemented by combining two lower-level modules that don't have a shared dependency, like `SKLogging` + `LanguageServerProtocol` - Types that should be sharable by the different modules that implement SourceKit-LSP but that are not generic enough to fit into `SwiftExtensions`, like `ExperimentalFeatures`. -### SKSwiftPMWorkspace - -Implements the `BuildSystem` protocol for Swift packages. - -FIXME: Merge this into the BuildSystem module once BuildSystemIntegration is split. - ### SKTestSupport A collection of utilities useful for writing tests for SourceKit-LSP and which are not specific to a single test module. diff --git a/Package.swift b/Package.swift index a1bade839..15be17bef 100644 --- a/Package.swift +++ b/Package.swift @@ -63,6 +63,7 @@ let package = Package( "SourceKitD", "SwiftExtensions", "ToolchainRegistry", + .product(name: "SwiftPM-auto", package: "swift-package-manager"), .product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"), .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), ], @@ -73,8 +74,10 @@ let package = Package( name: "BuildSystemIntegrationTests", dependencies: [ "BuildSystemIntegration", + "LanguageServerProtocol", "SKOptions", "SKTestSupport", + "SourceKitLSP", "ToolchainRegistry", ] ), @@ -267,39 +270,6 @@ let package = Package( ] ), - // MARK: SKSwiftPMWorkspace - - .target( - name: "SKSwiftPMWorkspace", - dependencies: [ - "BuildServerProtocol", - "BuildSystemIntegration", - "LanguageServerProtocol", - "SKLogging", - "SKOptions", - "SwiftExtensions", - "ToolchainRegistry", - .product(name: "SwiftPM-auto", package: "swift-package-manager"), - .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), - ], - exclude: ["CMakeLists.txt"] - ), - - .testTarget( - name: "SKSwiftPMWorkspaceTests", - dependencies: [ - "BuildSystemIntegration", - "LanguageServerProtocol", - "SKOptions", - "SKSwiftPMWorkspace", - "SKTestSupport", - "SourceKitLSP", - "ToolchainRegistry", - .product(name: "SwiftPM-auto", package: "swift-package-manager"), - .product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"), - ] - ), - // MARK: SKTestSupport .target( @@ -359,7 +329,6 @@ let package = Package( "SKLogging", "SKOptions", "SKSupport", - "SKSwiftPMWorkspace", "SourceKitD", "SwiftExtensions", "ToolchainRegistry", diff --git a/Sources/BuildSystemIntegration/CMakeLists.txt b/Sources/BuildSystemIntegration/CMakeLists.txt index c671ea168..c59d5e2de 100644 --- a/Sources/BuildSystemIntegration/CMakeLists.txt +++ b/Sources/BuildSystemIntegration/CMakeLists.txt @@ -11,7 +11,8 @@ add_library(BuildSystemIntegration STATIC IndexTaskID.swift MainFilesProvider.swift PathPrefixMapping.swift - SplitShellCommand.swift) + SplitShellCommand.swift + SwiftPMBuildSystem.swift) set_target_properties(BuildSystemIntegration PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) target_link_libraries(BuildSystemIntegration PUBLIC @@ -25,4 +26,6 @@ target_link_libraries(BuildSystemIntegration PUBLIC SwiftExtensions ToolchainRegistry PackageModel - TSCBasic) + TSCBasic + Build + SourceKitLSPAPI) diff --git a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift b/Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift similarity index 99% rename from Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift rename to Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift index 1704ab90a..ac4efd482 100644 --- a/Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift +++ b/Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift @@ -13,7 +13,6 @@ import Basics import Build import BuildServerProtocol -import BuildSystemIntegration import Dispatch import Foundation import LanguageServerProtocol @@ -40,7 +39,7 @@ import var TSCBasic.localFileSystem import func TSCBasic.resolveSymlinks import class ToolchainRegistry.Toolchain -typealias AbsolutePath = Basics.AbsolutePath +fileprivate typealias AbsolutePath = Basics.AbsolutePath #if canImport(SPMBuildCore) import SPMBuildCore diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt index a21b7c023..b8128cdf7 100644 --- a/Sources/CMakeLists.txt +++ b/Sources/CMakeLists.txt @@ -11,7 +11,6 @@ add_subdirectory(SemanticIndex) add_subdirectory(SKLogging) add_subdirectory(SKOptions) add_subdirectory(SKSupport) -add_subdirectory(SKSwiftPMWorkspace) add_subdirectory(SourceKitLSP) add_subdirectory(SourceKitD) add_subdirectory(sourcekit-lsp) diff --git a/Sources/SKSwiftPMWorkspace/CMakeLists.txt b/Sources/SKSwiftPMWorkspace/CMakeLists.txt deleted file mode 100644 index 3bac13512..000000000 --- a/Sources/SKSwiftPMWorkspace/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ - -add_library(SKSwiftPMWorkspace STATIC - SwiftPMBuildSystem.swift) -set_target_properties(SKSwiftPMWorkspace PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY}) -target_link_libraries(SKSwiftPMWorkspace PRIVATE - BuildServerProtocol - BuildSystemIntegration - LanguageServerProtocol - SKLogging - SKOptions - SwiftExtensions - ToolchainRegistry - TSCBasic) -target_link_libraries(SKSwiftPMWorkspace PUBLIC - Build - SourceKitLSPAPI) diff --git a/Sources/SourceKitLSP/CMakeLists.txt b/Sources/SourceKitLSP/CMakeLists.txt index b7b4ce0d3..cfb8c82fd 100644 --- a/Sources/SourceKitLSP/CMakeLists.txt +++ b/Sources/SourceKitLSP/CMakeLists.txt @@ -82,7 +82,6 @@ target_link_libraries(SourceKitLSP PUBLIC SKLogging SKOptions SKSupport - SKSwiftPMWorkspace SourceKitD SwiftExtensions ToolchainRegistry diff --git a/Sources/SourceKitLSP/CreateBuildSystem.swift b/Sources/SourceKitLSP/CreateBuildSystem.swift index 6c50846fc..569b2f83c 100644 --- a/Sources/SourceKitLSP/CreateBuildSystem.swift +++ b/Sources/SourceKitLSP/CreateBuildSystem.swift @@ -14,7 +14,6 @@ import BuildSystemIntegration import LanguageServerProtocol import SKLogging import SKOptions -import SKSwiftPMWorkspace import ToolchainRegistry import struct TSCBasic.AbsolutePath diff --git a/Sources/SourceKitLSP/SourceKitLSPServer.swift b/Sources/SourceKitLSP/SourceKitLSPServer.swift index 6216744be..8038e7676 100644 --- a/Sources/SourceKitLSP/SourceKitLSPServer.swift +++ b/Sources/SourceKitLSP/SourceKitLSPServer.swift @@ -20,7 +20,6 @@ import PackageLoading import SKLogging import SKOptions import SKSupport -import SKSwiftPMWorkspace import SemanticIndex import SourceKitD import SwiftExtensions diff --git a/Sources/SourceKitLSP/TestHooks.swift b/Sources/SourceKitLSP/TestHooks.swift index 227cf1d13..adf7f3911 100644 --- a/Sources/SourceKitLSP/TestHooks.swift +++ b/Sources/SourceKitLSP/TestHooks.swift @@ -10,10 +10,10 @@ // //===----------------------------------------------------------------------===// +import BuildSystemIntegration import Foundation import LanguageServerProtocol import SKSupport -import SKSwiftPMWorkspace import SemanticIndex import struct TSCBasic.AbsolutePath diff --git a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift b/Tests/BuildSystemIntegrationTests/SwiftPMBuildSystemTests.swift similarity index 99% rename from Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift rename to Tests/BuildSystemIntegrationTests/SwiftPMBuildSystemTests.swift index 05f1a3f04..13702e85c 100644 --- a/Tests/SKSwiftPMWorkspaceTests/SwiftPMBuildSystemTests.swift +++ b/Tests/BuildSystemIntegrationTests/SwiftPMBuildSystemTests.swift @@ -15,7 +15,6 @@ import Build import LanguageServerProtocol import PackageModel import SKOptions -@_spi(Testing) import SKSwiftPMWorkspace import SKTestSupport import SourceKitLSP import TSCBasic diff --git a/Tests/SourceKitLSPTests/CodeLensTests.swift b/Tests/SourceKitLSPTests/CodeLensTests.swift index 9d95ad63f..41828454b 100644 --- a/Tests/SourceKitLSPTests/CodeLensTests.swift +++ b/Tests/SourceKitLSPTests/CodeLensTests.swift @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -import LSPTestSupport import LanguageServerProtocol import SKTestSupport import XCTest