Skip to content

Commit cfe18f1

Browse files
committed
Split toolchain-related functionality out of SKCore
1 parent 1ef71cf commit cfe18f1

Some content is hidden

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

49 files changed

+104
-32
lines changed

Documentation/Modules.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,6 @@ This includes:
6767
- SplitShellCommand.swift
6868
- WorkspaceType.swift
6969

70-
#### ToolchainRegistry
71-
72-
Discovers Swift toolchains on the system.
73-
74-
- Toolchain.swift
75-
- ToolchainRegistry.swift
76-
- XCToolchainPlist.swift
77-
7870
### SKLogging
7971

8072
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.
112104

113105
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
114106

107+
#### ToolchainRegistry
108+
109+
Discovers Swift toolchains on the system.

Package.swift

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ let package = Package(
3030
"SKCore",
3131
"SKSupport",
3232
"SourceKitLSP",
33+
"ToolchainRegistry",
3334
.product(name: "ArgumentParser", package: "swift-argument-parser"),
3435
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
3536
],
@@ -81,6 +82,7 @@ let package = Package(
8182
"SourceKitD",
8283
"SourceKitLSP",
8384
"SwiftExtensions",
85+
"ToolchainRegistry",
8486
.product(name: "ArgumentParser", package: "swift-argument-parser"),
8587
.product(name: "SwiftIDEUtils", package: "swift-syntax"),
8688
.product(name: "SwiftSyntax", package: "swift-syntax"),
@@ -98,6 +100,7 @@ let package = Package(
98100
"SKLogging",
99101
"SKTestSupport",
100102
"SourceKitD",
103+
"ToolchainRegistry",
101104
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
102105
]
103106
),
@@ -111,6 +114,7 @@ let package = Package(
111114
"SKCore",
112115
"SKLogging",
113116
"SourceKitLSP",
117+
"ToolchainRegistry",
114118
],
115119
exclude: ["CMakeLists.txt"]
116120
),
@@ -159,6 +163,7 @@ let package = Package(
159163
"SKCore",
160164
"SKLogging",
161165
"SwiftExtensions",
166+
"ToolchainRegistry",
162167
.product(name: "IndexStoreDB", package: "indexstore-db"),
163168
],
164169
exclude: ["CMakeLists.txt"]
@@ -185,6 +190,7 @@ let package = Package(
185190
"SKSupport",
186191
"SourceKitD",
187192
"SwiftExtensions",
193+
"ToolchainRegistry",
188194
.product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"),
189195
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
190196
],
@@ -196,6 +202,7 @@ let package = Package(
196202
dependencies: [
197203
"SKCore",
198204
"SKTestSupport",
205+
"ToolchainRegistry",
199206
]
200207
),
201208

@@ -252,6 +259,7 @@ let package = Package(
252259
"SKCore",
253260
"SKLogging",
254261
"SwiftExtensions",
262+
"ToolchainRegistry",
255263
.product(name: "SwiftPM-auto", package: "swift-package-manager"),
256264
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
257265
],
@@ -266,6 +274,7 @@ let package = Package(
266274
"SKSwiftPMWorkspace",
267275
"SKTestSupport",
268276
"SourceKitLSP",
277+
"ToolchainRegistry",
269278
.product(name: "SwiftPM-auto", package: "swift-package-manager"),
270279
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
271280
]
@@ -285,6 +294,7 @@ let package = Package(
285294
"SKSupport",
286295
"SourceKitLSP",
287296
"SwiftExtensions",
297+
"ToolchainRegistry",
288298
.product(name: "ISDBTestSupport", package: "indexstore-db"),
289299
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
290300
],
@@ -311,6 +321,7 @@ let package = Package(
311321
"SKCore",
312322
"SKTestSupport",
313323
"SwiftExtensions",
324+
"ToolchainRegistry",
314325
]
315326
),
316327

@@ -329,6 +340,7 @@ let package = Package(
329340
"SKSwiftPMWorkspace",
330341
"SourceKitD",
331342
"SwiftExtensions",
343+
"ToolchainRegistry",
332344
.product(name: "IndexStoreDB", package: "indexstore-db"),
333345
.product(name: "SwiftBasicFormat", package: "swift-syntax"),
334346
.product(name: "Crypto", package: "swift-crypto"),
@@ -356,6 +368,7 @@ let package = Package(
356368
"SKTestSupport",
357369
"SourceKitD",
358370
"SourceKitLSP",
371+
"ToolchainRegistry",
359372
.product(name: "IndexStoreDB", package: "indexstore-db"),
360373
.product(name: "ISDBTestSupport", package: "indexstore-db"),
361374
.product(name: "SwiftParser", package: "swift-syntax"),
@@ -374,6 +387,30 @@ let package = Package(
374387
name: "SwiftExtensions",
375388
exclude: ["CMakeLists.txt"]
376389
),
390+
391+
// MARK: ToolchainRegistry
392+
393+
.target(
394+
name: "ToolchainRegistry",
395+
dependencies: [
396+
"SKLogging",
397+
"SKSupport",
398+
"SwiftExtensions",
399+
.product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"),
400+
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
401+
],
402+
exclude: ["CMakeLists.txt"]
403+
),
404+
405+
.testTarget(
406+
name: "ToolchainRegistryTests",
407+
dependencies: [
408+
"SKTestSupport",
409+
"ToolchainRegistry",
410+
.product(name: "SwiftPMDataModel-auto", package: "swift-package-manager"),
411+
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
412+
]
413+
),
377414
],
378415
swiftLanguageVersions: [.v5, .version("6")]
379416
)

Sources/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ add_subdirectory(SourceKitLSP)
1515
add_subdirectory(SourceKitD)
1616
add_subdirectory(sourcekit-lsp)
1717
add_subdirectory(SwiftExtensions)
18+
add_subdirectory(ToolchainRegistry)

Sources/Diagnose/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ target_link_libraries(Diagnose PUBLIC
3030
SKLogging
3131
SourceKitD
3232
SwiftExtensions
33+
ToolchainRegistry
3334
ArgumentParser
3435
SwiftSyntax::SwiftIDEUtils
3536
SwiftSyntax::SwiftSyntax

Sources/Diagnose/DiagnoseCommand.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import ArgumentParser
1414
import Foundation
15-
import SKCore
15+
import ToolchainRegistry
1616

1717
import struct TSCBasic.AbsolutePath
1818
import class TSCBasic.Process

Sources/Diagnose/IndexCommand.swift

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

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

Sources/Diagnose/ReduceCommand.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import ArgumentParser
1414
import Foundation
15-
import SKCore
15+
import ToolchainRegistry
1616

1717
import struct TSCBasic.AbsolutePath
1818
import class TSCBasic.Process

Sources/Diagnose/ReduceFrontendCommand.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import ArgumentParser
1414
import Foundation
15-
import SKCore
15+
import ToolchainRegistry
1616

1717
import struct TSCBasic.AbsolutePath
1818
import class TSCBasic.Process

Sources/Diagnose/ReproducerBundle.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
import Foundation
14-
import SKCore
14+
import ToolchainRegistry
1515

1616
/// Create a folder that contains all files that should be necessary to reproduce a sourcekitd crash.
1717
/// - Parameters:

Sources/Diagnose/RunSourcekitdRequestCommand.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212

1313
import ArgumentParser
1414
import Foundation
15-
import SKCore
1615
import SKSupport
1716
import SourceKitD
17+
import ToolchainRegistry
1818

1919
import struct TSCBasic.AbsolutePath
2020

0 commit comments

Comments
 (0)