Skip to content

Commit 47f3cd5

Browse files
committed
Split TSCExtensions into a separate module
1 parent 8ba80a0 commit 47f3cd5

33 files changed

+125
-12
lines changed

Contributor Documentation/Modules.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ Configuration options to change how SourceKit-LSP behaves, based on [Configurati
5555

5656
### SKSupport
5757

58-
Contains SourceKit-LSP-specific helper functions. These fall into three different categories:
59-
- Extensions on top of `swift-tools-support-core`
58+
Contains SourceKit-LSP-specific helper functions. These fall into two different categories:
6059
- Functionality that can only be implemented by combining two lower-level modules that don't have a shared dependency, like `SKLogging` + `LanguageServerProtocol`
6160
- 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`.
6261

@@ -83,3 +82,7 @@ Extensions to the Swift standard library and Foundation. Should not have any oth
8382
#### ToolchainRegistry
8483

8584
Discovers Swift toolchains on the system.
85+
86+
### TSCExtensions
87+
88+
Extensions on top of `swift-tools-support-core` that might integrate with modules from sourcekit-lsp.

Package.swift

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ var targets: [Target] = [
7878
"SourceKitD",
7979
"SwiftExtensions",
8080
"ToolchainRegistry",
81+
"TSCExtensions",
8182
.product(name: "SwiftPM-auto", package: "swift-package-manager"),
8283
.product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"),
8384
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
@@ -135,6 +136,7 @@ var targets: [Target] = [
135136
"SourceKitLSP",
136137
"SwiftExtensions",
137138
"ToolchainRegistry",
139+
"TSCExtensions",
138140
.product(name: "ArgumentParser", package: "swift-argument-parser"),
139141
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
140142
] + swiftSyntaxDependencies(["SwiftIDEUtils", "SwiftSyntax", "SwiftParser"]),
@@ -167,6 +169,7 @@ var targets: [Target] = [
167169
"SKOptions",
168170
"SourceKitLSP",
169171
"ToolchainRegistry",
172+
"TSCExtensions",
170173
],
171174
exclude: ["CMakeLists.txt"],
172175
swiftSettings: globalSwiftSettings
@@ -222,6 +225,7 @@ var targets: [Target] = [
222225
"SKLogging",
223226
"SwiftExtensions",
224227
"ToolchainRegistry",
228+
"TSCExtensions",
225229
.product(name: "IndexStoreDB", package: "indexstore-db"),
226230
],
227231
exclude: ["CMakeLists.txt"],
@@ -316,6 +320,7 @@ var targets: [Target] = [
316320
"SourceKitLSP",
317321
"SwiftExtensions",
318322
"ToolchainRegistry",
323+
"TSCExtensions",
319324
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
320325
],
321326
resources: [.copy("INPUTS")],
@@ -364,6 +369,7 @@ var targets: [Target] = [
364369
"SourceKitD",
365370
"SwiftExtensions",
366371
"ToolchainRegistry",
372+
"TSCExtensions",
367373
.product(name: "IndexStoreDB", package: "indexstore-db"),
368374
.product(name: "Crypto", package: "swift-crypto"),
369375
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
@@ -416,6 +422,7 @@ var targets: [Target] = [
416422
"SKLogging",
417423
"SKSupport",
418424
"SwiftExtensions",
425+
"TSCExtensions",
419426
.product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"),
420427
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
421428
],
@@ -433,6 +440,30 @@ var targets: [Target] = [
433440
],
434441
swiftSettings: globalSwiftSettings
435442
),
443+
444+
// MARK: TSCExtensions
445+
446+
.target(
447+
name: "TSCExtensions",
448+
dependencies: [
449+
"SKLogging",
450+
"SwiftExtensions",
451+
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
452+
],
453+
exclude: ["CMakeLists.txt"],
454+
swiftSettings: globalSwiftSettings
455+
),
456+
457+
.testTarget(
458+
name: "TSCExtensionsTests",
459+
dependencies: [
460+
"SKTestSupport",
461+
"SwiftExtensions",
462+
"TSCExtensions",
463+
],
464+
exclude: ["CMakeLists.txt"],
465+
swiftSettings: globalSwiftSettings
466+
),
436467
]
437468

438469
if buildOnlyTests {

Sources/BuildSystemIntegration/BuildSystemManager.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ package import SKOptions
2020
package import SKSupport
2121
package import SwiftExtensions
2222
package import ToolchainRegistry
23+
import TSCExtensions
2324

2425
package import struct TSCBasic.AbsolutePath
2526
package import struct TSCBasic.RelativePath
@@ -33,6 +34,7 @@ import SKOptions
3334
import SKSupport
3435
import SwiftExtensions
3536
import ToolchainRegistry
37+
import TSCExtensions
3638

3739
import struct TSCBasic.AbsolutePath
3840
import struct TSCBasic.RelativePath

Sources/BuildSystemIntegration/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,6 @@ target_link_libraries(BuildSystemIntegration PUBLIC
3737
TSCBasic
3838
Build
3939
SourceKitLSPAPI)
40+
41+
target_link_libraries(BuildSystemIntegration PUBLIC
42+
TSCExtensions)

Sources/BuildSystemIntegration/CompilationDatabase.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ package import LanguageServerProtocol
1717
import SKLogging
1818
import SKSupport
1919
import SwiftExtensions
20+
import TSCExtensions
2021

2122
package import struct TSCBasic.AbsolutePath
2223
package import protocol TSCBasic.FileSystem
@@ -29,6 +30,7 @@ import LanguageServerProtocol
2930
import SKLogging
3031
import SKSupport
3132
import SwiftExtensions
33+
import TSCExtensions
3234

3335
import struct TSCBasic.AbsolutePath
3436
import protocol TSCBasic.FileSystem

Sources/BuildSystemIntegration/CompilationDatabaseBuildSystem.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import SKLogging
1818
package import SKOptions
1919
import SKSupport
2020
import ToolchainRegistry
21+
import TSCExtensions
2122

2223
import struct Foundation.URL
2324
package import struct TSCBasic.AbsolutePath
@@ -32,6 +33,7 @@ import SKLogging
3233
import SKOptions
3334
import SKSupport
3435
import ToolchainRegistry
36+
import TSCExtensions
3537

3638
import struct Foundation.URL
3739
import struct TSCBasic.AbsolutePath

Sources/BuildSystemIntegration/ExternalBuildSystemAdapter.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import SKLogging
1818
import SKOptions
1919
import SKSupport
2020
import SwiftExtensions
21+
import TSCExtensions
2122

2223
import struct TSCBasic.AbsolutePath
2324
import func TSCBasic.getEnvSearchPaths

Sources/BuildSystemIntegration/FallbackBuildSettings.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import Foundation
1515
package import LanguageServerProtocol
1616
package import SKOptions
1717
import SKSupport
18+
import TSCExtensions
1819

1920
import enum PackageLoading.Platform
2021
import struct TSCBasic.AbsolutePath
@@ -24,6 +25,7 @@ import Foundation
2425
import LanguageServerProtocol
2526
import SKOptions
2627
import SKSupport
28+
import TSCExtensions
2729

2830
import enum PackageLoading.Platform
2931
import struct TSCBasic.AbsolutePath

Sources/BuildSystemIntegration/SwiftPMBuildSystem.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import SourceControl
2828
package import SourceKitLSPAPI
2929
import SwiftExtensions
3030
package import ToolchainRegistry
31+
import TSCExtensions
3132
@preconcurrency import Workspace
3233

3334
package import struct Basics.AbsolutePath
@@ -56,6 +57,7 @@ import SourceControl
5657
import SourceKitLSPAPI
5758
import SwiftExtensions
5859
import ToolchainRegistry
60+
import TSCExtensions
5961
@preconcurrency import Workspace
6062

6163
import struct Basics.AbsolutePath

Sources/Diagnose/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,7 @@ target_link_libraries(Diagnose PUBLIC
3838
SwiftSyntax::SwiftParser
3939
TSCBasic
4040
)
41+
42+
target_link_libraries(Diagnose PRIVATE
43+
TSCExtensions
44+
)

0 commit comments

Comments
 (0)