Skip to content

Commit 6996ee9

Browse files
committed
Create a SwiftUtilities module
This allows us to share common Swift utility functions between SourceKit-LSP and LSPLogging.
1 parent f203b3a commit 6996ee9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+66
-8
lines changed

Package.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ let package = Package(
8080
"SKSupport",
8181
"SourceKitD",
8282
"SourceKitLSP",
83+
"SwiftUtilities",
8384
.product(name: "ArgumentParser", package: "swift-argument-parser"),
8485
.product(name: "SwiftIDEUtils", package: "swift-syntax"),
8586
.product(name: "SwiftSyntax", package: "swift-syntax"),
@@ -183,6 +184,7 @@ let package = Package(
183184
"LanguageServerProtocol",
184185
"LanguageServerProtocolJSONRPC",
185186
"SKSupport",
187+
"SwiftUtilities",
186188
]
187189
),
188190

@@ -195,6 +197,7 @@ let package = Package(
195197
"LanguageServerProtocol",
196198
"LSPLogging",
197199
"SKCore",
200+
"SwiftUtilities",
198201
.product(name: "IndexStoreDB", package: "indexstore-db"),
199202
],
200203
exclude: ["CMakeLists.txt"]
@@ -221,6 +224,7 @@ let package = Package(
221224
"LSPLogging",
222225
"SKSupport",
223226
"SourceKitD",
227+
"SwiftUtilities",
224228
.product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"),
225229
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
226230
],
@@ -246,6 +250,7 @@ let package = Package(
246250
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
247251
"LanguageServerProtocol",
248252
"LSPLogging",
253+
"SwiftUtilities",
249254
],
250255
exclude: ["CMakeLists.txt"],
251256
swiftSettings: [.enableExperimentalFeature("StrictConcurrency")]
@@ -257,6 +262,7 @@ let package = Package(
257262
"LSPTestSupport",
258263
"SKSupport",
259264
"SKTestSupport",
265+
"SwiftUtilities",
260266
]
261267
),
262268

@@ -269,6 +275,7 @@ let package = Package(
269275
"LanguageServerProtocol",
270276
"LSPLogging",
271277
"SKCore",
278+
"SwiftUtilities",
272279
.product(name: "SwiftPM-auto", package: "swift-package-manager"),
273280
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
274281
],
@@ -302,6 +309,7 @@ let package = Package(
302309
"LSPLogging",
303310
"SKCore",
304311
"SourceKitLSP",
312+
"SwiftUtilities",
305313
.product(name: "ISDBTestSupport", package: "indexstore-db"),
306314
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
307315
],
@@ -319,6 +327,7 @@ let package = Package(
319327
"Csourcekitd",
320328
"LSPLogging",
321329
"SKSupport",
330+
"SwiftUtilities",
322331
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
323332
],
324333
exclude: ["CMakeLists.txt", "sourcekitd_uids.swift.gyb"],
@@ -331,6 +340,7 @@ let package = Package(
331340
"SourceKitD",
332341
"SKCore",
333342
"SKTestSupport",
343+
"SwiftUtilities",
334344
]
335345
),
336346

@@ -349,6 +359,7 @@ let package = Package(
349359
"SKSupport",
350360
"SKSwiftPMWorkspace",
351361
"SourceKitD",
362+
"SwiftUtilities",
352363
.product(name: "IndexStoreDB", package: "indexstore-db"),
353364
.product(name: "SwiftBasicFormat", package: "swift-syntax"),
354365
.product(name: "SwiftDiagnostics", package: "swift-syntax"),
@@ -387,6 +398,11 @@ let package = Package(
387398
.product(name: "SwiftSyntaxMacros", package: "swift-syntax"),
388399
]
389400
),
401+
402+
.target(
403+
name: "SwiftUtilities",
404+
exclude: ["CMakeLists.txt"]
405+
),
390406
]
391407
)
392408

Sources/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ add_subdirectory(SKSwiftPMWorkspace)
1313
add_subdirectory(SourceKitLSP)
1414
add_subdirectory(SourceKitD)
1515
add_subdirectory(sourcekit-lsp)
16+
add_subdirectory(SwiftUtilities)

Sources/Diagnose/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ target_link_libraries(Diagnose PUBLIC
2929
LSPLogging
3030
SKCore
3131
SourceKitD
32+
SwiftUtilities
3233
ArgumentParser
3334
SwiftSyntax::SwiftIDEUtils
3435
SwiftSyntax::SwiftSyntax

Sources/Diagnose/IndexCommand.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import LanguageServerProtocol
1717
import SKCore
1818
import SKSupport
1919
import SourceKitLSP
20+
import SwiftUtilities
2021

2122
import struct TSCBasic.AbsolutePath
2223
import class TSCBasic.Process

Sources/LSPTestSupport/TestJSONRPCConnection.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import InProcessClient
1414
import LanguageServerProtocol
1515
import LanguageServerProtocolJSONRPC
1616
import SKSupport
17+
import SwiftUtilities
1718
import XCTest
1819

1920
import class Foundation.Pipe

Sources/SKCore/BuildServerBuildSystem.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import LSPLogging
1616
import LanguageServerProtocol
1717
import LanguageServerProtocolJSONRPC
1818
import SKSupport
19+
import SwiftUtilities
1920

2021
import struct TSCBasic.AbsolutePath
2122
import protocol TSCBasic.FileSystem

Sources/SKCore/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@ target_link_libraries(SKCore PUBLIC
2828
LSPLogging
2929
SKSupport
3030
SourceKitD
31+
SwiftUtilities
3132
PackageModel
3233
TSCBasic)

Sources/SKCore/TaskScheduler.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import CAtomics
1414
import Foundation
1515
import LSPLogging
1616
import SKSupport
17+
import SwiftUtilities
1718

1819
/// See comment on ``TaskDescriptionProtocol/dependencies(to:taskPriority:)``
1920
public enum TaskDependencyAction<TaskDescription: TaskDescriptionProtocol> {

Sources/SKCore/Toolchain.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import LSPLogging
1414
import LanguageServerProtocol
1515
import RegexBuilder
1616
import SKSupport
17+
import SwiftUtilities
1718

1819
import enum PackageLoading.Platform
1920
import struct TSCBasic.AbsolutePath

Sources/SKSupport/CMakeLists.txt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11

22
add_library(SKSupport STATIC
3-
AsyncQueue.swift
4-
AsyncUtils.swift
53
BuildConfiguration.swift
64
ByteString.swift
7-
Collection+Only.swift
8-
Collection+PartitionIntoBatches.swift
95
Connection+Send.swift
106
dlopen.swift
117
DocumentURI+CustomLogStringConvertible.swift
@@ -15,16 +11,14 @@ add_library(SKSupport STATIC
1511
Process+WaitUntilExitWithCancellation.swift
1612
Random.swift
1713
Result.swift
18-
Sequence+AsyncMap.swift
1914
SwitchableProcessResultExitStatus.swift
20-
Task+WithPriorityChangedHandler.swift
21-
ThreadSafeBox.swift
2215
WorkspaceType.swift
2316
)
2417
set_target_properties(SKSupport PROPERTIES
2518
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
2619
target_link_libraries(SKSupport PRIVATE
2720
LanguageServerProtocol
2821
LSPLogging
22+
SwiftUtilities
2923
TSCBasic
3024
$<$<NOT:$<PLATFORM_ID:Darwin>>:Foundation>)

0 commit comments

Comments
 (0)