Skip to content

Commit ea3e824

Browse files
authored
Enable Swift 6 mode when available, sync QueryEngine sources (#136)
As SwiftPM is more actively developed, let's consider it to be the source of truth and vendor `QueryEngine` back into `swift-sdk-generator` together with more fresh `AsyncFileSystem` code, storing all those files in `Source/Helpers/Vendor` subdirectory. All this allows us to fix concurrency errors that prevent it from building in Swift 6 mode.
1 parent 13c0c51 commit ea3e824

40 files changed

+986
-710
lines changed

Package.swift

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ let package = Package(
3434
.product(name: "NIOHTTP1", package: "swift-nio"),
3535
.product(name: "Logging", package: "swift-log"),
3636
.product(name: "SystemPackage", package: "swift-system"),
37-
"GeneratorEngine",
3837
"Helpers",
3938
],
4039
exclude: ["Dockerfiles"],
@@ -51,24 +50,20 @@ let package = Package(
5150
.enableExperimentalFeature("StrictConcurrency=complete"),
5251
]
5352
),
54-
.target(
55-
name: "GeneratorEngine",
56-
dependencies: [
57-
.product(name: "Crypto", package: "swift-crypto"),
58-
.product(name: "Logging", package: "swift-log"),
59-
.product(name: "SystemPackage", package: "swift-system"),
60-
"Helpers",
61-
"SystemSQLite",
62-
]
63-
),
6453
.testTarget(
6554
name: "GeneratorEngineTests",
6655
dependencies: [
67-
"GeneratorEngine",
56+
"Helpers",
6857
]
6958
),
7059
.target(
7160
name: "Helpers",
61+
dependencies: [
62+
"SystemSQLite",
63+
.product(name: "Crypto", package: "swift-crypto"),
64+
.product(name: "Logging", package: "swift-log"),
65+
.product(name: "SystemPackage", package: "swift-system"),
66+
],
7267
exclude: ["Vendor/README.md"],
7368
swiftSettings: [
7469
.enableExperimentalFeature("StrictConcurrency=complete"),
@@ -103,7 +98,8 @@ let package = Package(
10398
.product(name: "Logging", package: "swift-log"),
10499
]
105100
),
106-
]
101+
],
102+
swiftLanguageVersions: [.v5, .version("6")]
107103
)
108104

109105
struct Configuration {
@@ -124,7 +120,7 @@ if configuration.useAsyncHttpClient {
124120
package.dependencies.append(
125121
.package(url: "https://github.com/swift-server/async-http-client.git", from: "1.19.0")
126122
)
127-
let targetsToAppend: Set<String> = ["SwiftSDKGenerator"]
123+
let targetsToAppend: Set<String> = ["SwiftSDKGenerator", "Helpers"]
128124
for target in package.targets.filter({ targetsToAppend.contains($0.name) }) {
129125
target.dependencies.append(
130126
.product(name: "AsyncHTTPClient", package: "async-http-client")

Sources/AsyncProcess/ProcessExecutor.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,10 @@ private struct OutputConsumptionState: OptionSet {
119119
}
120120

121121
/// Type-erasing type analogous to `AnySequence` from the Swift standard library.
122-
private struct AnyAsyncSequence<Element>: AsyncSequence {
123-
private let iteratorFactory: () -> AsyncIterator
122+
private struct AnyAsyncSequence<Element>: AsyncSequence & Sendable where Element: Sendable {
123+
private let iteratorFactory: @Sendable () -> AsyncIterator
124124

125-
init<S: AsyncSequence>(_ asyncSequence: S) where S.Element == Element {
125+
init<S: AsyncSequence & Sendable>(_ asyncSequence: S) where S.Element == Element {
126126
self.iteratorFactory = {
127127
var iterator = asyncSequence.makeAsyncIterator()
128128
return AsyncIterator { try await iterator.next() }

Sources/GeneratorEngine/Cache/FileCacheRecord.swift

Lines changed: 0 additions & 38 deletions
This file was deleted.

Sources/GeneratorEngine/FileSystem/FileSystem.swift

Lines changed: 0 additions & 36 deletions
This file was deleted.

Sources/GeneratorEngine/FileSystem/OpenReadableFile.swift

Lines changed: 0 additions & 53 deletions
This file was deleted.

Sources/GeneratorEngine/FileSystem/OpenWritableFile.swift

Lines changed: 0 additions & 31 deletions
This file was deleted.

Sources/GeneratorEngine/FileSystem/ReadableFileStream.swift

Lines changed: 0 additions & 103 deletions
This file was deleted.

Sources/GeneratorEngine/FileSystem/VirtualFileSystem.swift

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)