Skip to content

Commit b479b2e

Browse files
committed
Create a SwiftExtensions module
This allows us to share common Swift utility functions between SourceKit-LSP and LSPLogging.
1 parent e4d8331 commit b479b2e

Some content is hidden

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

43 files changed

+69
-8
lines changed

Package.swift

Lines changed: 18 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+
"SwiftExtensions",
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+
"SwiftExtensions",
186188
]
187189
),
188190

@@ -195,6 +197,7 @@ let package = Package(
195197
"LanguageServerProtocol",
196198
"LSPLogging",
197199
"SKCore",
200+
"SwiftExtensions",
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+
"SwiftExtensions",
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+
"SwiftExtensions",
249254
],
250255
exclude: ["CMakeLists.txt"],
251256
swiftSettings: [.enableExperimentalFeature("StrictConcurrency")]
@@ -257,6 +262,7 @@ let package = Package(
257262
"LSPTestSupport",
258263
"SKSupport",
259264
"SKTestSupport",
265+
"SwiftExtensions",
260266
]
261267
),
262268

@@ -269,6 +275,7 @@ let package = Package(
269275
"LanguageServerProtocol",
270276
"LSPLogging",
271277
"SKCore",
278+
"SwiftExtensions",
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+
"SwiftExtensions",
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+
"SwiftExtensions",
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+
"SwiftExtensions",
334344
]
335345
),
336346

@@ -349,6 +359,7 @@ let package = Package(
349359
"SKSupport",
350360
"SKSwiftPMWorkspace",
351361
"SourceKitD",
362+
"SwiftExtensions",
352363
.product(name: "IndexStoreDB", package: "indexstore-db"),
353364
.product(name: "SwiftBasicFormat", package: "swift-syntax"),
354365
.product(name: "SwiftDiagnostics", package: "swift-syntax"),
@@ -387,6 +398,13 @@ let package = Package(
387398
.product(name: "SwiftSyntaxMacros", package: "swift-syntax"),
388399
]
389400
),
401+
402+
// MARK: SwiftExtensions
403+
404+
.target(
405+
name: "SwiftExtensions",
406+
exclude: ["CMakeLists.txt"]
407+
),
390408
]
391409
)
392410

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(SwiftExtensions)

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+
SwiftExtensions
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 SwiftExtensions
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 SwiftExtensions
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 SwiftExtensions
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
@@ -29,5 +29,6 @@ target_link_libraries(SKCore PUBLIC
2929
LSPLogging
3030
SKSupport
3131
SourceKitD
32+
SwiftExtensions
3233
PackageModel
3334
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 SwiftExtensions
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 SwiftExtensions
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
@@ -16,16 +12,14 @@ add_library(SKSupport STATIC
1612
Process+WaitUntilExitWithCancellation.swift
1713
Random.swift
1814
Result.swift
19-
Sequence+AsyncMap.swift
2015
SwitchableProcessResultExitStatus.swift
21-
Task+WithPriorityChangedHandler.swift
22-
ThreadSafeBox.swift
2316
WorkspaceType.swift
2417
)
2518
set_target_properties(SKSupport PROPERTIES
2619
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
2720
target_link_libraries(SKSupport PRIVATE
2821
LanguageServerProtocol
2922
LSPLogging
23+
SwiftExtensions
3024
TSCBasic
3125
$<$<NOT:$<PLATFORM_ID:Darwin>>:Foundation>)

0 commit comments

Comments
 (0)