From a2a5a02157bc36d7059561d5d4ce19587e78fa1f Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 17:19:02 -0500 Subject: [PATCH 01/19] Modernize package. --- Package.swift | 27 ++++++++++--------- .../CloudKit/CloudKit+StructuredQueries.swift | 2 +- .../SQLiteData/CloudKit/CloudKitSharing.swift | 4 +-- .../IdentifierStringConvertible.swift | 2 +- .../CloudKit/Internal/CloudContainer.swift | 2 +- .../CloudKit/Internal/CloudDatabase.swift | 2 +- .../CloudKit/Internal/DataManager.swift | 4 +-- .../Internal/MockCloudContainer.swift | 2 +- .../CloudKit/Internal/MockCloudDatabase.swift | 2 +- .../CloudKit/Internal/MockSyncEngine.swift | 4 +-- .../Internal/PendingRecordZoneChange.swift | 2 +- .../Internal/StateSerialization.swift | 2 +- .../CloudKit/Internal/SyncEngine.Event.swift | 2 +- .../Internal/SyncEngineProtocol+Live.swift | 2 +- .../Internal/SyncEngineProtocol.swift | 2 +- .../CloudKit/Internal/UnsyncedRecordID.swift | 2 +- .../CloudKit/PrimaryKeyMigration.swift | 2 +- Sources/SQLiteData/CloudKit/SyncEngine.swift | 4 +-- .../CloudKit/SyncEngineDelegate.swift | 2 +- .../SQLiteData/CloudKit/SyncMetadata.swift | 2 +- Sources/SQLiteData/Fetch.swift | 6 ++--- Sources/SQLiteData/FetchAll.swift | 6 ++--- Sources/SQLiteData/FetchOne.swift | 6 ++--- .../Internal/FetchKey+SwiftUI.swift | 2 +- Sources/SQLiteData/Internal/ISO8601.swift | 2 +- .../StructuredQueries+GRDB/QueryCursor.swift | 2 +- .../SQLiteFunctionDecoder.swift | 4 +-- .../SQLiteQueryDecoder.swift | 4 +-- .../SQLiteDataTestSupport/AssertQuery.swift | 2 +- Sources/TestLocals/TestLocals.swift | 4 +-- .../Internal/BaseCloudKitTests.swift | 4 +-- .../Internal/CloudKit+CustomDump.swift | 4 +-- .../Internal/CloudKitTestHelpers.swift | 6 ++--- 33 files changed, 64 insertions(+), 61 deletions(-) diff --git a/Package.swift b/Package.swift index 4ab214a51..9ac96213c 100644 --- a/Package.swift +++ b/Package.swift @@ -96,18 +96,21 @@ let package = Package( swiftLanguageModes: [.v6] ) -let swiftSettings: [SwiftSetting] = [ - .enableUpcomingFeature("MemberImportVisibility") - // .unsafeFlags([ - // "-Xfrontend", - // "-warn-long-function-bodies=50", - // "-Xfrontend", - // "-warn-long-expression-type-checking=50", - // ]) -] - -for index in package.targets.indices { - package.targets[index].swiftSettings = swiftSettings +for target in package.targets { + target.swiftSettings = target.swiftSettings ?? [] + target.swiftSettings?.append(contentsOf: [ + .enableUpcomingFeature("ExistentialAny"), + .enableUpcomingFeature("ImmutableWeakCaptures"), + .enableUpcomingFeature("InferIsolatedConformances"), + .enableUpcomingFeature("InternalImportsByDefault"), + .enableUpcomingFeature("MemberImportVisibility"), + .enableUpcomingFeature("NonisolatedNonsendingByDefault"), + ]) + #if compiler(>=6.4) + target.swiftSettings?.append(contentsOf: [ + .treatAllWarnings(as: .error) + ]) + #endif } #if !os(Windows) diff --git a/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift b/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift index 861e40b3d..a46e79cc9 100644 --- a/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift +++ b/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit import CryptoKit import StructuredQueriesCore diff --git a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift index a47d37a4b..a998c2c42 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit import Dependencies import SwiftUI @@ -69,7 +69,7 @@ /// [Apple's documentation](https://developer.apple.com/documentation/cloudkit/ckshare/systemfieldkey) /// for more info on what can be configured. public func share( - record: T, + record: sending T, configure: @Sendable (CKShare) -> Void ) async throws -> SharedRecord where T.TableColumns.PrimaryKey.QueryOutput: IdentifierStringConvertible { diff --git a/Sources/SQLiteData/CloudKit/IdentifierStringConvertible.swift b/Sources/SQLiteData/CloudKit/IdentifierStringConvertible.swift index b7767bad8..ae564f2f4 100644 --- a/Sources/SQLiteData/CloudKit/IdentifierStringConvertible.swift +++ b/Sources/SQLiteData/CloudKit/IdentifierStringConvertible.swift @@ -1,4 +1,4 @@ -import Foundation +public import Foundation /// A type that can be represented by a string identifier. /// diff --git a/Sources/SQLiteData/CloudKit/Internal/CloudContainer.swift b/Sources/SQLiteData/CloudKit/Internal/CloudContainer.swift index 4829102f2..a8319c8a1 100644 --- a/Sources/SQLiteData/CloudKit/Internal/CloudContainer.swift +++ b/Sources/SQLiteData/CloudKit/Internal/CloudContainer.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit @available(iOS 15, tvOS 15, macOS 12, watchOS 8, *) package protocol CloudContainer: AnyObject, Equatable, Hashable, Sendable { diff --git a/Sources/SQLiteData/CloudKit/Internal/CloudDatabase.swift b/Sources/SQLiteData/CloudKit/Internal/CloudDatabase.swift index 94a0dc61f..c1c8df0b6 100644 --- a/Sources/SQLiteData/CloudKit/Internal/CloudDatabase.swift +++ b/Sources/SQLiteData/CloudKit/Internal/CloudDatabase.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit package protocol CloudDatabase: AnyObject, Hashable, Sendable { var databaseScope: CKDatabase.Scope { get } diff --git a/Sources/SQLiteData/CloudKit/Internal/DataManager.swift b/Sources/SQLiteData/CloudKit/Internal/DataManager.swift index 1b6a54421..deb475e94 100644 --- a/Sources/SQLiteData/CloudKit/Internal/DataManager.swift +++ b/Sources/SQLiteData/CloudKit/Internal/DataManager.swift @@ -1,7 +1,7 @@ #if canImport(CloudKit) && canImport(CryptoKit) import CryptoKit import Dependencies - import Foundation + package import Foundation @available(macOS 13, iOS 16, tvOS 16, watchOS 9, *) package protocol DataManager: Sendable { @@ -96,7 +96,7 @@ @available(macOS 13, iOS 16, tvOS 16, watchOS 9, *) extension DependencyValues { - package var dataManager: DataManager { + package var dataManager: any DataManager { get { self[DataManagerKey.self] } set { self[DataManagerKey.self] = newValue } } diff --git a/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift b/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift index aaf8568ba..0d1be63cf 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) package final class MockCloudContainer: CloudContainer { diff --git a/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift b/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift index 50f20237b..fbbd23ea7 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit import IssueReporting @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift b/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift index e8719d26b..33be6fde5 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift @@ -1,7 +1,7 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit import IssueReporting - import OrderedCollections + package import OrderedCollections @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) package final class MockSyncEngine: SyncEngineProtocol { diff --git a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift index fad64e0d9..aef8991f2 100644 --- a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift +++ b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit @Table("sqlitedata_icloud_pendingRecordZoneChanges") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift index 2b76b33bb..1283ffecd 100644 --- a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift +++ b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit import StructuredQueriesCore @Table("sqlitedata_icloud_stateSerialization") diff --git a/Sources/SQLiteData/CloudKit/Internal/SyncEngine.Event.swift b/Sources/SQLiteData/CloudKit/Internal/SyncEngine.Event.swift index 230aac029..8622b829b 100644 --- a/Sources/SQLiteData/CloudKit/Internal/SyncEngine.Event.swift +++ b/Sources/SQLiteData/CloudKit/Internal/SyncEngine.Event.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension SyncEngine { diff --git a/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol+Live.swift b/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol+Live.swift index d462e1980..99c796136 100644 --- a/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol+Live.swift +++ b/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol+Live.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension CKSyncEngine: SyncEngineProtocol { diff --git a/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol.swift b/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol.swift index 58cff0030..c62ebf373 100644 --- a/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol.swift +++ b/Sources/SQLiteData/CloudKit/Internal/SyncEngineProtocol.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) package protocol SyncEngineProtocol: AnyObject, Sendable { diff --git a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift index f24a3e046..606ff12c8 100644 --- a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift +++ b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit import StructuredQueriesCore @Table("sqlitedata_icloud_unsyncedRecordIDs") diff --git a/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift b/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift index 9a97fb0b2..022970180 100644 --- a/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift +++ b/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) && canImport(CryptoKit) import CryptoKit - import Foundation + public import Foundation @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension SyncEngine { diff --git a/Sources/SQLiteData/CloudKit/SyncEngine.swift b/Sources/SQLiteData/CloudKit/SyncEngine.swift index 1099cad10..34dffb791 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngine.swift @@ -1,9 +1,9 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit import ConcurrencyExtras import Dependencies import OrderedCollections - import OSLog + public import OSLog import Observation import StructuredQueriesCore import SwiftData diff --git a/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift b/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift index b373dfc43..764dbbbba 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit import CustomDump /// An interface for observing ``SyncEngine`` events and customizing ``SyncEngine`` behavior. diff --git a/Sources/SQLiteData/CloudKit/SyncMetadata.swift b/Sources/SQLiteData/CloudKit/SyncMetadata.swift index 229900984..b5795234f 100644 --- a/Sources/SQLiteData/CloudKit/SyncMetadata.swift +++ b/Sources/SQLiteData/CloudKit/SyncMetadata.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import CloudKit + public import CloudKit /// A table that tracks metadata related to synchronized data. /// diff --git a/Sources/SQLiteData/Fetch.swift b/Sources/SQLiteData/Fetch.swift index 8327ab1bd..b8f500272 100644 --- a/Sources/SQLiteData/Fetch.swift +++ b/Sources/SQLiteData/Fetch.swift @@ -1,10 +1,10 @@ -import Sharing +public import Sharing #if canImport(Combine) - import Combine + public import Combine #endif #if canImport(SwiftUI) - import SwiftUI + public import SwiftUI #endif /// A property that can query for data in a SQLite database. diff --git a/Sources/SQLiteData/FetchAll.swift b/Sources/SQLiteData/FetchAll.swift index ce06ea56a..468dd76ef 100644 --- a/Sources/SQLiteData/FetchAll.swift +++ b/Sources/SQLiteData/FetchAll.swift @@ -1,10 +1,10 @@ -import Sharing +public import Sharing #if canImport(Combine) - import Combine + public import Combine #endif #if canImport(SwiftUI) - import SwiftUI + public import SwiftUI #endif /// A property that can query for a collection of data in a SQLite database. diff --git a/Sources/SQLiteData/FetchOne.swift b/Sources/SQLiteData/FetchOne.swift index 7d6b7077a..0dfbca032 100644 --- a/Sources/SQLiteData/FetchOne.swift +++ b/Sources/SQLiteData/FetchOne.swift @@ -1,10 +1,10 @@ -import Sharing +public import Sharing #if canImport(Combine) - import Combine + public import Combine #endif #if canImport(SwiftUI) - import SwiftUI + public import SwiftUI #endif /// A property that can query for a value in a SQLite database. diff --git a/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift b/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift index 3e8c4a595..238f24569 100644 --- a/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift +++ b/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift @@ -1,6 +1,6 @@ #if canImport(SwiftUI) import Sharing - import SwiftUI + package import SwiftUI @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension SharedReaderKey { diff --git a/Sources/SQLiteData/Internal/ISO8601.swift b/Sources/SQLiteData/Internal/ISO8601.swift index 1e9ce773b..ea81c225c 100644 --- a/Sources/SQLiteData/Internal/ISO8601.swift +++ b/Sources/SQLiteData/Internal/ISO8601.swift @@ -1,4 +1,4 @@ -import Foundation +public import Foundation extension Date { @usableFromInline diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift b/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift index 286135e89..735ab8c36 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift @@ -1,4 +1,4 @@ -import Foundation +public import Foundation import GRDB import GRDBSQLite import StructuredQueriesCore diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift index fc96760e9..ffc6133b9 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift @@ -1,5 +1,5 @@ -import Foundation -import GRDBSQLite +public import Foundation +public import GRDBSQLite import StructuredQueriesCore @usableFromInline diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift index 4aed866e9..da3419df4 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift @@ -1,5 +1,5 @@ -import Foundation -import GRDBSQLite +public import Foundation +public import GRDBSQLite import StructuredQueriesCore @usableFromInline diff --git a/Sources/SQLiteDataTestSupport/AssertQuery.swift b/Sources/SQLiteDataTestSupport/AssertQuery.swift index 06684db19..ee6ed3ca6 100644 --- a/Sources/SQLiteDataTestSupport/AssertQuery.swift +++ b/Sources/SQLiteDataTestSupport/AssertQuery.swift @@ -2,7 +2,7 @@ import CustomDump import Dependencies import Foundation import InlineSnapshotTesting -import SQLiteData +public import SQLiteData import StructuredQueriesCore import StructuredQueriesTestSupport diff --git a/Sources/TestLocals/TestLocals.swift b/Sources/TestLocals/TestLocals.swift index 88c39bd0f..2ff92890c 100644 --- a/Sources/TestLocals/TestLocals.swift +++ b/Sources/TestLocals/TestLocals.swift @@ -1,7 +1,7 @@ #if canImport(CloudKit) - import CloudKit + package import CloudKit + package import SQLiteData import Testing - import SQLiteData @TaskLocal package var prepareDatabase: @Sendable (UserDatabase) async throws -> Void = { _ in } @TaskLocal package var startImmediately = true diff --git a/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift b/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift index f55e5a645..e5ebbd314 100644 --- a/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift +++ b/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift @@ -4,10 +4,10 @@ import ConcurrencyExtrasTestSupport import DependenciesTestSupport import OrderedCollections - import SQLiteData + public import SQLiteData import SnapshotTesting import Testing -import TestLocals + import TestLocals import os @Suite( diff --git a/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift b/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift index 16d1903bd..9d2cbf6ca 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) - import CustomDump - import CloudKit + public import CustomDump + public import CloudKit import SQLiteData extension CKDatabase.Scope: @retroactive CustomDumpStringConvertible { diff --git a/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift b/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift index 4716be7bf..dd7d6f95d 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift @@ -1,8 +1,8 @@ -import CloudKit +package import CloudKit import ConcurrencyExtras import CustomDump -import OrderedCollections -import SQLiteData +package import OrderedCollections +package import SQLiteData import Testing @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) From 336082fb0eb6303ee8c9c149062a3702e81765b9 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 17:20:11 -0500 Subject: [PATCH 02/19] better fix --- Sources/SQLiteData/CloudKit/CloudKitSharing.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift index a998c2c42..be3af3c12 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -69,7 +69,7 @@ /// [Apple's documentation](https://developer.apple.com/documentation/cloudkit/ckshare/systemfieldkey) /// for more info on what can be configured. public func share( - record: sending T, + record: T, configure: @Sendable (CKShare) -> Void ) async throws -> SharedRecord where T.TableColumns.PrimaryKey.QueryOutput: IdentifierStringConvertible { @@ -118,7 +118,7 @@ ) } let recordName = record.recordName - let lastKnownServerRecord = try await { + let lastKnownServerRecord = try await { [rawIdentifier = record.primaryKey.rawIdentifier] in let lastKnownServerRecord = try await metadatabase.read { db in try SyncMetadata @@ -130,7 +130,7 @@ else { throw SharingError( recordTableName: T.tableName, - recordPrimaryKey: record.primaryKey.rawIdentifier, + recordPrimaryKey: rawIdentifier, reason: .recordMetadataNotFound, debugDescription: """ No sync metadata found for record. Has the record been saved to the database \ From 783a152a6f9535620156a7a7126dbb758b939959 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 18:32:50 -0500 Subject: [PATCH 03/19] wip --- .../xcshareddata/swiftpm/Package.resolved | 10 +++++----- Sources/SQLiteData/CloudKit/CloudKitSharing.swift | 2 +- .../CloudKit/Internal/DefaultNotificationCenter.swift | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Examples/Examples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Examples/Examples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index e5aa49c96..f9c3d89b0 100644 --- a/Examples/Examples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Examples/Examples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "c133bf7d10c8ce1e5d6506c3d2f080eac8b4c8c2827044d53a9b925e903564fd", + "originHash" : "c56e7b70de4fe8bcc798354797a8405c0eeb2e9bc68bc0f202c14a8b11a0a97f", "pins" : [ { "identity" : "combine-schedulers", @@ -51,8 +51,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-concurrency-extras", "state" : { - "revision" : "5a3825302b1a0d744183200915a47b508c828e6f", - "version" : "1.3.2" + "revision" : "a90e2e40a7a840a853dd29e57cbef5dbb72c9d5b", + "version" : "1.4.0" } }, { @@ -123,8 +123,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-structured-queries", "state" : { - "branch" : "xcode-26-4", - "revision" : "31dd6609d8398016011b418374d82fb6f716c944" + "revision" : "8da8818fccd9959bd683934ddc62cf45bb65b3c8", + "version" : "0.31.1" } }, { diff --git a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift index be3af3c12..b8f0bf739 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -1,7 +1,7 @@ #if canImport(CloudKit) public import CloudKit import Dependencies - import SwiftUI + public import SwiftUI #if canImport(UIKit) import UIKit diff --git a/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift index d1423e4eb..c0b2147e0 100644 --- a/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift +++ b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) && canImport(UIKit) - import UIKit + public import UIKit private enum DefaultNotificationCenterKey: DependencyKey { static let liveValue = NotificationCenter.default From 6b35876b66bfd32a9c6a8d8c402f83d1724649f4 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 20:14:31 -0500 Subject: [PATCH 04/19] wip --- Examples/Reminders/RemindersApp.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Examples/Reminders/RemindersApp.swift b/Examples/Reminders/RemindersApp.swift index 93b7b8453..429db4c8e 100644 --- a/Examples/Reminders/RemindersApp.swift +++ b/Examples/Reminders/RemindersApp.swift @@ -63,7 +63,9 @@ class RemindersSyncEngineDelegate: SyncEngineDelegate { case .signIn: break case .signOut, .switchAccounts: - isDeleteLocalDataAlertPresented = true + await MainActor.run { + isDeleteLocalDataAlertPresented = true + } @unknown default: break } From 595fcc980d7e9b334bbf283cf544530e7d1b0467 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 20:17:01 -0500 Subject: [PATCH 05/19] wip --- .github/workflows/ci.yml | 14 ++++++------- Sources/SQLiteData/Internal/Exports.swift | 24 ++++++++++++----------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6139ded01..726079c3b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: - main pull_request: branches: - - '*' + - "*" workflow_dispatch: jobs: @@ -14,23 +14,23 @@ jobs: name: macOS strategy: matrix: - xcode: ['26.2'] - config: ['debug', 'release'] + xcode: ["26.2"] + config: ["debug", "release"] runs-on: macos-26 steps: - uses: actions/checkout@v5 - name: Select Xcode ${{ matrix.xcode }} run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app - name: Run ${{ matrix.config }} tests - run: swift test -c ${{ matrix.config }} + run: swift test -c ${{ matrix.config }} -Xswiftc -D -Xswiftc EXCLUDE_EXPORTS examples: name: Examples strategy: matrix: - xcode: ['26.2'] - config: ['debug'] - scheme: ['Reminders', 'CaseStudies', 'SyncUps'] + xcode: ["26.2"] + config: ["debug"] + scheme: ["Reminders", "CaseStudies", "SyncUps"] runs-on: macos-26 continue-on-error: true steps: diff --git a/Sources/SQLiteData/Internal/Exports.swift b/Sources/SQLiteData/Internal/Exports.swift index e59b61a1d..c918ec4d7 100644 --- a/Sources/SQLiteData/Internal/Exports.swift +++ b/Sources/SQLiteData/Internal/Exports.swift @@ -1,12 +1,14 @@ -@_exported import Dependencies -@_exported import StructuredQueriesSQLite +#if !EXCLUDE_EXPORTS + @_exported import Dependencies + @_exported import StructuredQueriesSQLite -@_exported import struct GRDB.Configuration -@_exported import class GRDB.Database -@_exported import struct GRDB.DatabaseError -@_exported import struct GRDB.DatabaseMigrator -@_exported import class GRDB.DatabasePool -@_exported import class GRDB.DatabaseQueue -@_exported import protocol GRDB.DatabaseReader -@_exported import protocol GRDB.DatabaseWriter -@_exported import protocol GRDB.ValueObservationScheduler + @_exported import struct GRDB.Configuration + @_exported import class GRDB.Database + @_exported import struct GRDB.DatabaseError + @_exported import struct GRDB.DatabaseMigrator + @_exported import class GRDB.DatabasePool + @_exported import class GRDB.DatabaseQueue + @_exported import protocol GRDB.DatabaseReader + @_exported import protocol GRDB.DatabaseWriter + @_exported import protocol GRDB.ValueObservationScheduler +#endif From 08e921ca95f7d39e9d9341bf7173a8e575fad245 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 20:51:01 -0500 Subject: [PATCH 06/19] wip --- .../CloudKit/CloudKit+StructuredQueries.swift | 4 ++- .../SQLiteData/CloudKit/CloudKitSharing.swift | 4 ++- .../CloudKit/DefaultSyncEngine.swift | 3 +- .../CloudKit/Internal/CloudKitFunctions.swift | 2 ++ .../CloudKit/Internal/DataManager.swift | 1 + .../CloudKit/Internal/ForeignKey.swift | 2 +- .../CloudKit/Internal/Metadatabase.swift | 3 ++ .../Internal/MockCloudContainer.swift | 2 ++ .../CloudKit/Internal/MockCloudDatabase.swift | 2 ++ .../CloudKit/Internal/MockSyncEngine.swift | 1 + .../Internal/PendingRecordZoneChange.swift | 1 + .../CloudKit/Internal/Pragmas.swift | 2 ++ .../CloudKit/Internal/RecordType.swift | 2 ++ .../CloudKit/Internal/SQLiteSchema.swift | 2 ++ .../Internal/StateSerialization.swift | 2 +- .../CloudKit/Internal/TableInfo.swift | 2 +- .../CloudKit/Internal/Triggers.swift | 2 ++ .../CloudKit/Internal/UnsyncedRecordID.swift | 2 +- .../CloudKit/Internal/UserDatabase.swift | 1 + .../CloudKit/PrimaryKeyMigration.swift | 3 ++ Sources/SQLiteData/CloudKit/SyncEngine.swift | 7 +++-- .../CloudKit/SyncEngineDelegate.swift | 1 + .../SQLiteData/CloudKit/SyncMetadata.swift | 2 ++ Sources/SQLiteData/Fetch.swift | 3 ++ Sources/SQLiteData/FetchAll.swift | 3 ++ Sources/SQLiteData/FetchKeyRequest.swift | 2 ++ Sources/SQLiteData/FetchOne.swift | 16 ++++++----- Sources/SQLiteData/FetchSubscription.swift | 1 + Sources/SQLiteData/Internal/Exports.swift | 28 +++++++++---------- .../Internal/FetchKey+SwiftUI.swift | 1 + Sources/SQLiteData/Internal/ISO8601.swift | 1 + .../SQLiteData/Internal/StatementKey.swift | 2 ++ .../CustomFunctions.swift | 2 ++ .../DefaultDatabase.swift | 3 +- .../StructuredQueries+GRDB/QueryCursor.swift | 4 +-- .../SQLiteFunctionDecoder.swift | 2 +- .../SQLiteQueryDecoder.swift | 2 +- .../StructuredQueries+GRDB/Seed.swift | 3 +- .../Statement+GRDB.swift | 3 +- .../StructuredQueries+GRDB/Table+GRDB.swift | 3 +- .../SQLiteDataTestSupport/AssertQuery.swift | 3 +- Tests/SQLiteDataTests/AssertQueryTests.swift | 2 ++ .../CloudKitTests/AccountLifecycleTests.swift | 2 ++ .../CloudKitTests/AssetsTests.swift | 2 ++ .../CloudKitTests/AtomicTests.swift | 2 ++ .../AttachedMetadatabaseTests.swift | 1 + .../CloudKitTests/CloudKitTests.swift | 3 ++ .../FetchRecordZoneChangesTests.swift | 3 ++ .../FetchedDatabaseChangesTests.swift | 1 + .../ForeignKeyConstraintTests.swift | 2 ++ .../CloudKitTests/MergeConflictTests.swift | 2 ++ .../CloudKitTests/MetadataTests.swift | 2 ++ .../CloudKitTests/NewTableSyncTests.swift | 1 + .../NextRecordZoneChangeBatchTests.swift | 2 ++ .../CloudKitTests/PreviewTests.swift | 2 ++ .../CloudKitTests/RecordTypeTests.swift | 3 ++ .../ReferenceViolationTests.swift | 2 ++ .../CloudKitTests/SchemaChangeTests.swift | 2 ++ .../CloudKitTests/ScopedTableSyncTests.swift | 1 + .../SharingPermissionsTests.swift | 3 ++ .../CloudKitTests/SharingTests.swift | 2 ++ .../SyncEngineDelegateTests.swift | 2 ++ .../SyncEngineLifecycleTests.swift | 2 ++ .../CloudKitTests/SyncEngineTests.swift | 4 +++ .../SyncEngineValidationTests.swift | 2 ++ .../CloudKitTests/TriggerTests.swift | 1 + .../UnattachedSyncEngineTests.swift | 1 + .../CloudKitTests/UserlandTests.swift | 3 ++ Tests/SQLiteDataTests/CompileTimeTests.swift | 2 ++ .../SQLiteDataTests/CustomFunctionTests.swift | 3 ++ .../DatabaseFunctionTests.swift | 2 ++ Tests/SQLiteDataTests/DateTests.swift | 3 ++ Tests/SQLiteDataTests/FetchAllTests.swift | 3 ++ Tests/SQLiteDataTests/FetchOneTests.swift | 3 ++ .../FetchSubscriptionTests.swift | 3 ++ Tests/SQLiteDataTests/FetchTests.swift | 3 ++ Tests/SQLiteDataTests/IntegrationTests.swift | 3 ++ .../Internal/BaseCloudKitTests.swift | 3 ++ .../Internal/CloudKit+CustomDump.swift | 1 + .../Internal/CloudKitTestHelpers.swift | 1 + Tests/SQLiteDataTests/Internal/Schema.swift | 2 ++ .../Internal/UserDatabaseHelpers.swift | 1 + Tests/SQLiteDataTests/MigrationTests.swift | 2 ++ .../PrimaryKeyMigrationTests.swift | 4 +++ Tests/SQLiteDataTests/QueryCursorTests.swift | 2 ++ 85 files changed, 192 insertions(+), 39 deletions(-) diff --git a/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift b/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift index a46e79cc9..d2f0726e0 100644 --- a/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift +++ b/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift @@ -1,7 +1,9 @@ #if canImport(CloudKit) public import CloudKit import CryptoKit - import StructuredQueriesCore + import Dependencies + import IssueReporting + public import StructuredQueriesCore extension CKRecord { public typealias _AllFieldsRepresentation = SQLiteData._AllFieldsRepresentation diff --git a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift index b8f0bf739..846b0e28a 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -1,7 +1,9 @@ #if canImport(CloudKit) public import CloudKit import Dependencies - public import SwiftUI + import GRDB + import SwiftUI + public import StructuredQueries #if canImport(UIKit) import UIKit diff --git a/Sources/SQLiteData/CloudKit/DefaultSyncEngine.swift b/Sources/SQLiteData/CloudKit/DefaultSyncEngine.swift index 9a2c27be9..a8edd53c9 100644 --- a/Sources/SQLiteData/CloudKit/DefaultSyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/DefaultSyncEngine.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) import CloudKit - import Dependencies + import GRDB + public import Dependencies @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension DependencyValues { diff --git a/Sources/SQLiteData/CloudKit/Internal/CloudKitFunctions.swift b/Sources/SQLiteData/CloudKit/Internal/CloudKitFunctions.swift index afab5b525..b367ee92e 100644 --- a/Sources/SQLiteData/CloudKit/Internal/CloudKitFunctions.swift +++ b/Sources/SQLiteData/CloudKit/Internal/CloudKitFunctions.swift @@ -1,6 +1,8 @@ #if canImport(CloudKit) import CloudKit + import Dependencies import Foundation + import StructuredQueriesSQLite @DatabaseFunction("sqlitedata_icloud_currentTime") func currentTime() -> Int64 { diff --git a/Sources/SQLiteData/CloudKit/Internal/DataManager.swift b/Sources/SQLiteData/CloudKit/Internal/DataManager.swift index deb475e94..9a67b42eb 100644 --- a/Sources/SQLiteData/CloudKit/Internal/DataManager.swift +++ b/Sources/SQLiteData/CloudKit/Internal/DataManager.swift @@ -1,4 +1,5 @@ #if canImport(CloudKit) && canImport(CryptoKit) + package import ConcurrencyExtras import CryptoKit import Dependencies package import Foundation diff --git a/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift b/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift index ae329bb67..3f5e81bb7 100644 --- a/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift +++ b/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) import Foundation - import StructuredQueriesCore + public import StructuredQueries @Table package struct ForeignKey { diff --git a/Sources/SQLiteData/CloudKit/Internal/Metadatabase.swift b/Sources/SQLiteData/CloudKit/Internal/Metadatabase.swift index c8efa856b..d8571a955 100644 --- a/Sources/SQLiteData/CloudKit/Internal/Metadatabase.swift +++ b/Sources/SQLiteData/CloudKit/Internal/Metadatabase.swift @@ -1,6 +1,9 @@ #if canImport(CloudKit) + import Dependencies + import GRDB import Foundation import os + import StructuredQueries @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) func defaultMetadatabase( diff --git a/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift b/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift index 0d1be63cf..3af32acf7 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift @@ -1,5 +1,7 @@ #if canImport(CloudKit) + package import ConcurrencyExtras package import CloudKit + import Dependencies @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) package final class MockCloudContainer: CloudContainer { diff --git a/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift b/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift index fbbd23ea7..510d1f5c9 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift @@ -1,5 +1,7 @@ #if canImport(CloudKit) + package import ConcurrencyExtras package import CloudKit + import Dependencies import IssueReporting @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift b/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift index 33be6fde5..c8ef0113a 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift @@ -1,4 +1,5 @@ #if canImport(CloudKit) + package import ConcurrencyExtras package import CloudKit import IssueReporting package import OrderedCollections diff --git a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift index aef8991f2..f44ec3709 100644 --- a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift +++ b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) package import CloudKit + public import StructuredQueries @Table("sqlitedata_icloud_pendingRecordZoneChanges") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift b/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift index e30a254f1..f9df703e5 100644 --- a/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift +++ b/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift @@ -1,4 +1,6 @@ #if canImport(CloudKit) + package import StructuredQueries + @Table struct PragmaDatabaseList { static var tableAlias: String? { "databases" } diff --git a/Sources/SQLiteData/CloudKit/Internal/RecordType.swift b/Sources/SQLiteData/CloudKit/Internal/RecordType.swift index 4c610b80a..286bbb315 100644 --- a/Sources/SQLiteData/CloudKit/Internal/RecordType.swift +++ b/Sources/SQLiteData/CloudKit/Internal/RecordType.swift @@ -1,4 +1,6 @@ #if canImport(CloudKit) + public import StructuredQueries + @Table("sqlitedata_icloud_recordTypes") package struct RecordType: Hashable { @Column(primaryKey: true) diff --git a/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift b/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift index 40fa7d87f..c8ad92ea9 100644 --- a/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift +++ b/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift @@ -1,4 +1,6 @@ #if canImport(CloudKit) + public import StructuredQueries + @Table("sqlite_schema") package struct SQLiteSchema { package let type: ObjectType diff --git a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift index 1283ffecd..0698e49c1 100644 --- a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift +++ b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) package import CloudKit - import StructuredQueriesCore + public import StructuredQueries @Table("sqlitedata_icloud_stateSerialization") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift index 2207ce94f..12a31d9f0 100644 --- a/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift +++ b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - import StructuredQueriesCore + package import StructuredQueries @Table package struct TableInfo: Codable, Hashable { diff --git a/Sources/SQLiteData/CloudKit/Internal/Triggers.swift b/Sources/SQLiteData/CloudKit/Internal/Triggers.swift index 93411a744..729a14851 100644 --- a/Sources/SQLiteData/CloudKit/Internal/Triggers.swift +++ b/Sources/SQLiteData/CloudKit/Internal/Triggers.swift @@ -1,6 +1,8 @@ #if canImport(CloudKit) import CloudKit import Foundation + import StructuredQueries + import StructuredQueriesSQLite @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension PrimaryKeyedTable { diff --git a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift index 606ff12c8..16b440ca5 100644 --- a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift +++ b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) package import CloudKit - import StructuredQueriesCore + package import StructuredQueries @Table("sqlitedata_icloud_unsyncedRecordIDs") package struct UnsyncedRecordID: Equatable { diff --git a/Sources/SQLiteData/CloudKit/Internal/UserDatabase.swift b/Sources/SQLiteData/CloudKit/Internal/UserDatabase.swift index b0fb5edcf..98d601fc9 100644 --- a/Sources/SQLiteData/CloudKit/Internal/UserDatabase.swift +++ b/Sources/SQLiteData/CloudKit/Internal/UserDatabase.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) import Dependencies + package import GRDB package struct UserDatabase { package let database: any DatabaseWriter diff --git a/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift b/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift index 022970180..098a3ea1a 100644 --- a/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift +++ b/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift @@ -1,6 +1,9 @@ #if canImport(CloudKit) && canImport(CryptoKit) import CryptoKit public import Foundation + public import class GRDB.Database + public import StructuredQueriesCore + public import StructuredQueriesSQLite @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension SyncEngine { diff --git a/Sources/SQLiteData/CloudKit/SyncEngine.swift b/Sources/SQLiteData/CloudKit/SyncEngine.swift index 34dffb791..b5112ab53 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngine.swift @@ -1,11 +1,14 @@ #if canImport(CloudKit) public import CloudKit - import ConcurrencyExtras + package import ConcurrencyExtras import Dependencies + public import GRDB + public import IssueReporting import OrderedCollections public import OSLog import Observation - import StructuredQueriesCore + public import StructuredQueries + public import StructuredQueriesSQLite import SwiftData import TabularData diff --git a/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift b/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift index 764dbbbba..7125ff685 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) public import CloudKit import CustomDump + import IssueReporting /// An interface for observing ``SyncEngine`` events and customizing ``SyncEngine`` behavior. @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/SyncMetadata.swift b/Sources/SQLiteData/CloudKit/SyncMetadata.swift index b5795234f..262b5b75f 100644 --- a/Sources/SQLiteData/CloudKit/SyncMetadata.swift +++ b/Sources/SQLiteData/CloudKit/SyncMetadata.swift @@ -1,5 +1,7 @@ #if canImport(CloudKit) public import CloudKit + import StructuredQueries + public import StructuredQueriesCore /// A table that tracks metadata related to synchronized data. /// diff --git a/Sources/SQLiteData/Fetch.swift b/Sources/SQLiteData/Fetch.swift index b8f500272..ea645873a 100644 --- a/Sources/SQLiteData/Fetch.swift +++ b/Sources/SQLiteData/Fetch.swift @@ -1,3 +1,6 @@ +public import GRDB +public import Sharing +import StructuredQueriesCore public import Sharing #if canImport(Combine) diff --git a/Sources/SQLiteData/FetchAll.swift b/Sources/SQLiteData/FetchAll.swift index 468dd76ef..ec118cdf7 100644 --- a/Sources/SQLiteData/FetchAll.swift +++ b/Sources/SQLiteData/FetchAll.swift @@ -1,3 +1,6 @@ +public import GRDB +public import Sharing +public import StructuredQueriesCore public import Sharing #if canImport(Combine) diff --git a/Sources/SQLiteData/FetchKeyRequest.swift b/Sources/SQLiteData/FetchKeyRequest.swift index 428dc0a81..9ac3f27f1 100644 --- a/Sources/SQLiteData/FetchKeyRequest.swift +++ b/Sources/SQLiteData/FetchKeyRequest.swift @@ -1,3 +1,5 @@ +public import GRDB + /// A type that can request a value from a database. /// /// This type can be used to describe a transaction to read data from SQLite: diff --git a/Sources/SQLiteData/FetchOne.swift b/Sources/SQLiteData/FetchOne.swift index 0dfbca032..8300b84a1 100644 --- a/Sources/SQLiteData/FetchOne.swift +++ b/Sources/SQLiteData/FetchOne.swift @@ -1,4 +1,6 @@ +public import GRDB public import Sharing +public import StructuredQueriesCore #if canImport(Combine) public import Combine @@ -82,13 +84,13 @@ public struct FetchOne: Sendable { /// Initializes this property with a wrapped value. /// /// - Parameter wrappedValue: A default value to associate with this property. - public init(wrappedValue: sending Value) - where - Value: _Selection, - Value.QueryOutput == Value - { - sharedReader = SharedReader(value: wrappedValue) - } +// public init(wrappedValue: sending Value) +// where +// Value: _Selection, +// Value.QueryOutput == Value +// { +// sharedReader = SharedReader(value: wrappedValue) +// } /// Initializes this property with a query that fetches the first row from a table. /// diff --git a/Sources/SQLiteData/FetchSubscription.swift b/Sources/SQLiteData/FetchSubscription.swift index 10565f14d..de7942166 100644 --- a/Sources/SQLiteData/FetchSubscription.swift +++ b/Sources/SQLiteData/FetchSubscription.swift @@ -1,3 +1,4 @@ +import ConcurrencyExtras import Perception import Sharing diff --git a/Sources/SQLiteData/Internal/Exports.swift b/Sources/SQLiteData/Internal/Exports.swift index c918ec4d7..1724b4c27 100644 --- a/Sources/SQLiteData/Internal/Exports.swift +++ b/Sources/SQLiteData/Internal/Exports.swift @@ -1,14 +1,14 @@ -#if !EXCLUDE_EXPORTS - @_exported import Dependencies - @_exported import StructuredQueriesSQLite - - @_exported import struct GRDB.Configuration - @_exported import class GRDB.Database - @_exported import struct GRDB.DatabaseError - @_exported import struct GRDB.DatabaseMigrator - @_exported import class GRDB.DatabasePool - @_exported import class GRDB.DatabaseQueue - @_exported import protocol GRDB.DatabaseReader - @_exported import protocol GRDB.DatabaseWriter - @_exported import protocol GRDB.ValueObservationScheduler -#endif +//#if !EXCLUDE_EXPORTS +// @_exported import Dependencies +// @_exported import StructuredQueriesSQLite +// +// @_exported import struct GRDB.Configuration +// @_exported import class GRDB.Database +// @_exported import struct GRDB.DatabaseError +// @_exported import struct GRDB.DatabaseMigrator +// @_exported import class GRDB.DatabasePool +// @_exported import class GRDB.DatabaseQueue +// @_exported import protocol GRDB.DatabaseReader +// @_exported import protocol GRDB.DatabaseWriter +// @_exported import protocol GRDB.ValueObservationScheduler +//#endif diff --git a/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift b/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift index 238f24569..d7cb2b3cc 100644 --- a/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift +++ b/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift @@ -1,4 +1,5 @@ #if canImport(SwiftUI) + package import GRDB import Sharing package import SwiftUI diff --git a/Sources/SQLiteData/Internal/ISO8601.swift b/Sources/SQLiteData/Internal/ISO8601.swift index ea81c225c..95e2757c0 100644 --- a/Sources/SQLiteData/Internal/ISO8601.swift +++ b/Sources/SQLiteData/Internal/ISO8601.swift @@ -1,4 +1,5 @@ public import Foundation +import StructuredQueriesCore extension Date { @usableFromInline diff --git a/Sources/SQLiteData/Internal/StatementKey.swift b/Sources/SQLiteData/Internal/StatementKey.swift index ba65b826c..b9172ac37 100644 --- a/Sources/SQLiteData/Internal/StatementKey.swift +++ b/Sources/SQLiteData/Internal/StatementKey.swift @@ -1,3 +1,5 @@ +import StructuredQueriesCore + protocol StatementKeyRequest: FetchKeyRequest { associatedtype QueryValue var statement: SQLQueryExpression { get } diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/CustomFunctions.swift b/Sources/SQLiteData/StructuredQueries+GRDB/CustomFunctions.swift index b9defb55d..12ccb4e50 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/CustomFunctions.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/CustomFunctions.swift @@ -1,5 +1,7 @@ import Foundation +public import class GRDB.Database import GRDBSQLite +public import StructuredQueriesSQLiteCore extension Database { /// Adds a user-defined scalar `@DatabaseFunction` to a connection. diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/DefaultDatabase.swift b/Sources/SQLiteData/StructuredQueries+GRDB/DefaultDatabase.swift index 31a0cf13d..9221e895e 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/DefaultDatabase.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/DefaultDatabase.swift @@ -1,4 +1,5 @@ -import Dependencies +public import Dependencies +public import GRDB import Foundation /// Prepares a context-sensitive database writer. diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift b/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift index 735ab8c36..587365dcc 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift @@ -1,7 +1,7 @@ public import Foundation -import GRDB +public import GRDB import GRDBSQLite -import StructuredQueriesCore +public import StructuredQueriesCore /// A cursor of a structured query. /// diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift index ffc6133b9..fed7aa11f 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift @@ -1,6 +1,6 @@ public import Foundation public import GRDBSQLite -import StructuredQueriesCore +public import StructuredQueriesCore @usableFromInline struct SQLiteFunctionDecoder: QueryDecoder { diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift index da3419df4..8e926e0fe 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift @@ -1,6 +1,6 @@ public import Foundation public import GRDBSQLite -import StructuredQueriesCore +public import StructuredQueriesCore @usableFromInline struct SQLiteQueryDecoder: QueryDecoder { diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/Seed.swift b/Sources/SQLiteData/StructuredQueries+GRDB/Seed.swift index f124b70e4..1ba94c3ae 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/Seed.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/Seed.swift @@ -1,5 +1,6 @@ import Dependencies -import StructuredQueriesCore +public import GRDB +public import StructuredQueriesCore extension Database { /// Seeds a database with the given values. diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/Statement+GRDB.swift b/Sources/SQLiteData/StructuredQueries+GRDB/Statement+GRDB.swift index c2c990c1b..862a41e32 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/Statement+GRDB.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/Statement+GRDB.swift @@ -1,4 +1,5 @@ -import StructuredQueriesCore +public import GRDB +public import StructuredQueriesCore extension StructuredQueriesCore.Statement { /// Executes a structured query on the given database connection. diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/Table+GRDB.swift b/Sources/SQLiteData/StructuredQueries+GRDB/Table+GRDB.swift index 8e55d7077..872a08a53 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/Table+GRDB.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/Table+GRDB.swift @@ -1,4 +1,5 @@ -import StructuredQueriesCore +public import GRDB +public import StructuredQueriesCore extension StructuredQueriesCore.Table { /// Returns an array of all values fetched from the database. diff --git a/Sources/SQLiteDataTestSupport/AssertQuery.swift b/Sources/SQLiteDataTestSupport/AssertQuery.swift index ee6ed3ca6..7bd68b6fd 100644 --- a/Sources/SQLiteDataTestSupport/AssertQuery.swift +++ b/Sources/SQLiteDataTestSupport/AssertQuery.swift @@ -1,9 +1,10 @@ import CustomDump import Dependencies import Foundation +public import GRDB import InlineSnapshotTesting public import SQLiteData -import StructuredQueriesCore +public import StructuredQueriesCore import StructuredQueriesTestSupport /// An end-to-end snapshot testing helper for database content. diff --git a/Tests/SQLiteDataTests/AssertQueryTests.swift b/Tests/SQLiteDataTests/AssertQueryTests.swift index 39fcbd737..93d6e1f49 100644 --- a/Tests/SQLiteDataTests/AssertQueryTests.swift +++ b/Tests/SQLiteDataTests/AssertQueryTests.swift @@ -1,7 +1,9 @@ import DependenciesTestSupport import Foundation +import GRDB import SQLiteData import SQLiteDataTestSupport +import StructuredQueries import SnapshotTesting import Testing diff --git a/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift index dd8f0ef91..a7fa45dc1 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift @@ -3,12 +3,14 @@ import CloudKit import CustomDump import Foundation + import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump import Testing import TestLocals import SQLiteDataTestSupport + import StructuredQueries extension BaseCloudKitTests { @MainActor diff --git a/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift index 467e85f38..803bc21b2 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift @@ -2,11 +2,13 @@ import CloudKit import ConcurrencyExtras import CustomDump + import Dependencies import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift index 4b17da1d9..563aa061c 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift @@ -2,11 +2,13 @@ import CloudKit import ConcurrencyExtras import CustomDump + import Dependencies import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift index dbec8bb29..408f9d1f6 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift @@ -8,6 +8,7 @@ import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift b/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift index fa989369e..d15a457db 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift @@ -2,11 +2,14 @@ import CloudKit import ConcurrencyExtras import CustomDump + import Dependencies + import GRDB import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift b/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift index 60242f493..bce5abd91 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift @@ -1,12 +1,15 @@ #if canImport(CloudKit) import CloudKit import CustomDump + import Dependencies import Foundation + import GRDB import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift b/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift index 3b52db960..f42194eb9 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift @@ -6,6 +6,7 @@ import OrderedCollections import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift b/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift index 071688d1c..0fe10f15b 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift @@ -1,11 +1,13 @@ #if canImport(CloudKit) import CloudKit import CustomDump + import Dependencies import Foundation import SQLiteDataTestSupport import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift b/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift index b9840148d..bcee3643d 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift @@ -2,12 +2,14 @@ import CloudKit import ConcurrencyExtrasTestSupport import CustomDump + import Dependencies import Foundation import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift b/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift index bd81326d0..45aa043b1 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift @@ -2,12 +2,14 @@ import CloudKit import ConcurrencyExtrasTestSupport import CustomDump + import Dependencies import SQLiteDataTestSupport import Foundation import InlineSnapshotTesting import OrderedCollections import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift b/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift index 568184a58..5743e276d 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift @@ -7,6 +7,7 @@ import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift b/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift index 8a3c2066d..593a5cf3b 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift @@ -2,11 +2,13 @@ import CloudKit import ConcurrencyExtrasTestSupport import CustomDump + import Dependencies import Foundation import InlineSnapshotTesting import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift b/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift index 0a8c5df19..275a5bf1a 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift @@ -1,8 +1,10 @@ #if DEBUG && canImport(DeveloperToolsSupport) && canImport(CloudKit) + import Dependencies import DependenciesTestSupport import InlineSnapshotTesting import SnapshotTestingCustomDump import SQLiteData + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift b/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift index 2891b3e28..3900b881d 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift @@ -2,9 +2,12 @@ import CloudKit import ConcurrencyExtras import CustomDump + import Dependencies + import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift b/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift index eaabf060a..8489415a7 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift @@ -2,10 +2,12 @@ import CloudKit import ConcurrencyExtras import CustomDump + import Dependencies import InlineSnapshotTesting import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift index 986015721..88e0200ed 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift @@ -1,11 +1,13 @@ #if canImport(CloudKit) import CloudKit import CustomDump + import Dependencies import Foundation import InlineSnapshotTesting import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift b/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift index 17d68bb0f..a541c1fc8 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift @@ -6,6 +6,7 @@ import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift index c91a178bf..69adc650a 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift @@ -1,11 +1,14 @@ #if canImport(CloudKit) import CloudKit import CustomDump + import Dependencies import Foundation + import GRDB import InlineSnapshotTesting import OrderedCollections import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift index 9d6705f4c..7ba53d867 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift @@ -1,12 +1,14 @@ #if canImport(CloudKit) import CloudKit import CustomDump + import Dependencies import SQLiteDataTestSupport import Foundation import InlineSnapshotTesting import OrderedCollections import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift index 395be01e1..ba2114734 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift @@ -1,4 +1,5 @@ #if canImport(CloudKit) + import ConcurrencyExtras import CloudKit import ConcurrencyExtrasTestSupport import CustomDump @@ -8,6 +9,7 @@ import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump + import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift index 229d6b026..bb28eb810 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) import CloudKit import ConcurrencyExtrasTestSupport + import Dependencies import DependenciesTestSupport import InlineSnapshotTesting import SQLiteDataTestSupport @@ -8,6 +9,7 @@ import SQLiteData import SnapshotTesting import SnapshotTestingCustomDump + import StructuredQueries import Testing import TestLocals import os diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift index 1a695fcbd..65492b985 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift @@ -1,11 +1,15 @@ #if canImport(CloudKit) import CloudKit import CustomDump + import Dependencies import DependenciesTestSupport import Foundation + import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries + import StructuredQueriesSQLite import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift index be2e39458..fe1151914 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift @@ -2,9 +2,11 @@ import CloudKit import CustomDump import Foundation + import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift b/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift index e8d12d9f6..18b3fef55 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift @@ -4,6 +4,7 @@ import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump + import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift b/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift index 1133fa7a6..8f79284b3 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift @@ -1,5 +1,6 @@ import CloudKit import CustomDump +import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump diff --git a/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift b/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift index 4f755037a..85f38285f 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift @@ -1,6 +1,9 @@ #if canImport(CloudKit) + import Dependencies import Foundation + import GRDB import SQLiteData + import StructuredQueries import Testing @Suite struct UserlandTests { diff --git a/Tests/SQLiteDataTests/CompileTimeTests.swift b/Tests/SQLiteDataTests/CompileTimeTests.swift index 0a080bb93..a00451aff 100644 --- a/Tests/SQLiteDataTests/CompileTimeTests.swift +++ b/Tests/SQLiteDataTests/CompileTimeTests.swift @@ -1,4 +1,6 @@ import SQLiteData +import StructuredQueries +import StructuredQueriesSQLite #if canImport(CloudKit) import CloudKit diff --git a/Tests/SQLiteDataTests/CustomFunctionTests.swift b/Tests/SQLiteDataTests/CustomFunctionTests.swift index 3c9436e88..d8f19ca12 100644 --- a/Tests/SQLiteDataTests/CustomFunctionTests.swift +++ b/Tests/SQLiteDataTests/CustomFunctionTests.swift @@ -1,5 +1,8 @@ import Foundation +import GRDB import SQLiteData +import StructuredQueries +import StructuredQueriesSQLite import Testing @Suite struct CustomFunctionsTests { diff --git a/Tests/SQLiteDataTests/DatabaseFunctionTests.swift b/Tests/SQLiteDataTests/DatabaseFunctionTests.swift index f4555e0b8..21991cd14 100644 --- a/Tests/SQLiteDataTests/DatabaseFunctionTests.swift +++ b/Tests/SQLiteDataTests/DatabaseFunctionTests.swift @@ -1,7 +1,9 @@ import DependenciesTestSupport import Foundation +import GRDB import SQLiteData import SQLiteDataTestSupport +import StructuredQueriesSQLite import Testing struct DatabaseFunctionTests { diff --git a/Tests/SQLiteDataTests/DateTests.swift b/Tests/SQLiteDataTests/DateTests.swift index 5415a916e..dbad3c43a 100644 --- a/Tests/SQLiteDataTests/DateTests.swift +++ b/Tests/SQLiteDataTests/DateTests.swift @@ -1,7 +1,10 @@ +import Dependencies import DependenciesTestSupport import Foundation +import GRDB import SQLiteData import SQLiteDataTestSupport +import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .database())) diff --git a/Tests/SQLiteDataTests/FetchAllTests.swift b/Tests/SQLiteDataTests/FetchAllTests.swift index 83cdbc604..24c1f7324 100644 --- a/Tests/SQLiteDataTests/FetchAllTests.swift +++ b/Tests/SQLiteDataTests/FetchAllTests.swift @@ -1,6 +1,9 @@ +import Dependencies import DependenciesTestSupport import Foundation +import GRDB import SQLiteData +import StructuredQueries import Testing #if canImport(SwiftUI) diff --git a/Tests/SQLiteDataTests/FetchOneTests.swift b/Tests/SQLiteDataTests/FetchOneTests.swift index 1bfffe48d..168418382 100644 --- a/Tests/SQLiteDataTests/FetchOneTests.swift +++ b/Tests/SQLiteDataTests/FetchOneTests.swift @@ -1,6 +1,9 @@ +import Dependencies import DependenciesTestSupport import Foundation +import GRDB import SQLiteData +import StructuredQueries import Testing #if canImport(SwiftUI) diff --git a/Tests/SQLiteDataTests/FetchSubscriptionTests.swift b/Tests/SQLiteDataTests/FetchSubscriptionTests.swift index e95995354..a25e4d527 100644 --- a/Tests/SQLiteDataTests/FetchSubscriptionTests.swift +++ b/Tests/SQLiteDataTests/FetchSubscriptionTests.swift @@ -1,6 +1,9 @@ +import Dependencies import DependenciesTestSupport import Foundation +import GRDB import SQLiteData +import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .database())) struct FetchSubscriptionTests { diff --git a/Tests/SQLiteDataTests/FetchTests.swift b/Tests/SQLiteDataTests/FetchTests.swift index 7461e0352..c6aac619a 100644 --- a/Tests/SQLiteDataTests/FetchTests.swift +++ b/Tests/SQLiteDataTests/FetchTests.swift @@ -1,6 +1,9 @@ +import Dependencies import DependenciesTestSupport import Foundation +import GRDB import SQLiteData +import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .database())) diff --git a/Tests/SQLiteDataTests/IntegrationTests.swift b/Tests/SQLiteDataTests/IntegrationTests.swift index 8323c9234..edc2449de 100644 --- a/Tests/SQLiteDataTests/IntegrationTests.swift +++ b/Tests/SQLiteDataTests/IntegrationTests.swift @@ -1,6 +1,9 @@ +import Dependencies import DependenciesTestSupport import Foundation +import GRDB import SQLiteData +import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .syncUps())) diff --git a/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift b/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift index e5ebbd314..97057c46b 100644 --- a/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift +++ b/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift @@ -2,10 +2,13 @@ import Clocks import CloudKit import ConcurrencyExtrasTestSupport + import Dependencies import DependenciesTestSupport + import GRDB import OrderedCollections public import SQLiteData import SnapshotTesting + import StructuredQueries import Testing import TestLocals import os diff --git a/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift b/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift index 9d2cbf6ca..81f5cbc83 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) public import CustomDump public import CloudKit + import Dependencies import SQLiteData extension CKDatabase.Scope: @retroactive CustomDumpStringConvertible { diff --git a/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift b/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift index dd7d6f95d..96026532e 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift @@ -3,6 +3,7 @@ import ConcurrencyExtras import CustomDump package import OrderedCollections package import SQLiteData +import StructuredQueries import Testing @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Tests/SQLiteDataTests/Internal/Schema.swift b/Tests/SQLiteDataTests/Internal/Schema.swift index f6aff6cf7..7d0767f79 100644 --- a/Tests/SQLiteDataTests/Internal/Schema.swift +++ b/Tests/SQLiteDataTests/Internal/Schema.swift @@ -1,4 +1,6 @@ import Foundation +import GRDB +import StructuredQueries import SQLiteData // NB: The IDs in this schema are integers for ease of testing. You should _not_ use integer IDs diff --git a/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift b/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift index da9b09cd9..710c6b07c 100644 --- a/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift +++ b/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift @@ -1,3 +1,4 @@ +import GRDB import SQLiteData extension UserDatabase { diff --git a/Tests/SQLiteDataTests/MigrationTests.swift b/Tests/SQLiteDataTests/MigrationTests.swift index 42e5f24b6..bd552f6c8 100644 --- a/Tests/SQLiteDataTests/MigrationTests.swift +++ b/Tests/SQLiteDataTests/MigrationTests.swift @@ -1,5 +1,7 @@ import Foundation +import GRDB import SQLiteData +import StructuredQueries import Testing @Suite struct MigrationTests { diff --git a/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift b/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift index 6435d68a2..0c97b57c1 100644 --- a/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift +++ b/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift @@ -1,11 +1,15 @@ +import Dependencies import DependenciesTestSupport import Foundation +import GRDB import InlineSnapshotTesting import SQLite3 import SQLiteData import SQLiteDataTestSupport import SnapshotTesting import SnapshotTestingCustomDump +import StructuredQueries +import StructuredQueriesSQLite import Testing @MainActor diff --git a/Tests/SQLiteDataTests/QueryCursorTests.swift b/Tests/SQLiteDataTests/QueryCursorTests.swift index 1e608a34a..a8bfb52c0 100644 --- a/Tests/SQLiteDataTests/QueryCursorTests.swift +++ b/Tests/SQLiteDataTests/QueryCursorTests.swift @@ -1,4 +1,6 @@ +import GRDB import SQLiteData +import StructuredQueries import Testing @Suite struct QueryCursorTests { From ccd04902b3a793fe99d6d5dc573eabe7254fe3d9 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 20:51:18 -0500 Subject: [PATCH 07/19] wip --- Sources/SQLiteData/Internal/Exports.swift | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Sources/SQLiteData/Internal/Exports.swift b/Sources/SQLiteData/Internal/Exports.swift index 1724b4c27..c918ec4d7 100644 --- a/Sources/SQLiteData/Internal/Exports.swift +++ b/Sources/SQLiteData/Internal/Exports.swift @@ -1,14 +1,14 @@ -//#if !EXCLUDE_EXPORTS -// @_exported import Dependencies -// @_exported import StructuredQueriesSQLite -// -// @_exported import struct GRDB.Configuration -// @_exported import class GRDB.Database -// @_exported import struct GRDB.DatabaseError -// @_exported import struct GRDB.DatabaseMigrator -// @_exported import class GRDB.DatabasePool -// @_exported import class GRDB.DatabaseQueue -// @_exported import protocol GRDB.DatabaseReader -// @_exported import protocol GRDB.DatabaseWriter -// @_exported import protocol GRDB.ValueObservationScheduler -//#endif +#if !EXCLUDE_EXPORTS + @_exported import Dependencies + @_exported import StructuredQueriesSQLite + + @_exported import struct GRDB.Configuration + @_exported import class GRDB.Database + @_exported import struct GRDB.DatabaseError + @_exported import struct GRDB.DatabaseMigrator + @_exported import class GRDB.DatabasePool + @_exported import class GRDB.DatabaseQueue + @_exported import protocol GRDB.DatabaseReader + @_exported import protocol GRDB.DatabaseWriter + @_exported import protocol GRDB.ValueObservationScheduler +#endif From 0df7a0ed5865b108e1b6b2cba2b73a38eebb6a38 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 20:52:20 -0500 Subject: [PATCH 08/19] wip --- Sources/SQLiteData/CloudKit/CloudKitSharing.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift index 846b0e28a..0f73dea7d 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -2,11 +2,11 @@ public import CloudKit import Dependencies import GRDB - import SwiftUI + public import SwiftUI public import StructuredQueries #if canImport(UIKit) - import UIKit + public import UIKit #endif /// A shared record that can be used to present a ``CloudSharingView``. From 6b53835a448140c6a297d53f1a5526edf0d77652 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 28 May 2026 21:03:05 -0500 Subject: [PATCH 09/19] wip --- Sources/SQLiteData/CloudKit/CloudKitSharing.swift | 14 +++++++------- .../Internal/DefaultNotificationCenter.swift | 2 +- .../SQLiteData/CloudKit/Internal/ForeignKey.swift | 2 +- .../Internal/PendingRecordZoneChange.swift | 2 +- Sources/SQLiteData/CloudKit/Internal/Pragmas.swift | 2 +- .../SQLiteData/CloudKit/Internal/RecordType.swift | 2 +- .../CloudKit/Internal/SQLiteSchema.swift | 2 +- .../CloudKit/Internal/StateSerialization.swift | 2 +- .../SQLiteData/CloudKit/Internal/TableInfo.swift | 2 +- .../CloudKit/Internal/UnsyncedRecordID.swift | 2 +- Sources/SQLiteData/CloudKit/SyncEngine.swift | 2 +- Sources/SQLiteDataTestSupport/AssertQuery.swift | 2 +- 12 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift index 0f73dea7d..15ab3f26b 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -2,7 +2,7 @@ public import CloudKit import Dependencies import GRDB - public import SwiftUI + import SwiftUI public import StructuredQueries #if canImport(UIKit) @@ -264,7 +264,7 @@ public struct CloudSharingView: View { let sharedRecord: SharedRecord let availablePermissions: UICloudSharingController.PermissionOptions - let didFinish: (Result) -> Void + let didFinish: (Result) -> Void let didStopSharing: () -> Void let syncEngine: SyncEngine @Dependency(\.context) var context @@ -272,7 +272,7 @@ public init( sharedRecord: SharedRecord, availablePermissions: UICloudSharingController.PermissionOptions = [], - didFinish: @escaping (Result) -> Void = { _ in }, + didFinish: @escaping (Result) -> Void = { _ in }, didStopSharing: @escaping () -> Void = {}, syncEngine: SyncEngine = { @Dependency(\.defaultSyncEngine) var defaultSyncEngine @@ -383,13 +383,13 @@ private struct CloudSharingViewRepresentable: UIViewControllerRepresentable { let sharedRecord: SharedRecord let availablePermissions: UICloudSharingController.PermissionOptions - let didFinish: (Result) -> Void + let didFinish: (Result) -> Void let didStopSharing: () -> Void let syncEngine: SyncEngine public init( sharedRecord: SharedRecord, availablePermissions: UICloudSharingController.PermissionOptions = [], - didFinish: @escaping (Result) -> Void = { _ in }, + didFinish: @escaping (Result) -> Void = { _ in }, didStopSharing: @escaping () -> Void = {}, syncEngine: SyncEngine = { @Dependency(\.defaultSyncEngine) var defaultSyncEngine @@ -432,12 +432,12 @@ @available(iOS 17, macOS 14, tvOS 17, *) public final class _CloudSharingDelegate: NSObject, UICloudSharingControllerDelegate { let share: CKShare - let didFinish: (Result) -> Void + let didFinish: (Result) -> Void let didStopSharing: () -> Void let syncEngine: SyncEngine init( share: CKShare, - didFinish: @escaping (Result) -> Void, + didFinish: @escaping (Result) -> Void, didStopSharing: @escaping () -> Void, syncEngine: SyncEngine ) { diff --git a/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift index c0b2147e0..80a66a1f1 100644 --- a/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift +++ b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) && canImport(UIKit) - public import UIKit + package import UIKit private enum DefaultNotificationCenterKey: DependencyKey { static let liveValue = NotificationCenter.default diff --git a/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift b/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift index 3f5e81bb7..8b45b3f6e 100644 --- a/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift +++ b/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) import Foundation - public import StructuredQueries + import StructuredQueries @Table package struct ForeignKey { diff --git a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift index f44ec3709..d306cf393 100644 --- a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift +++ b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) package import CloudKit - public import StructuredQueries + import StructuredQueries @Table("sqlitedata_icloud_pendingRecordZoneChanges") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift b/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift index f9df703e5..178119a3b 100644 --- a/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift +++ b/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - package import StructuredQueries + import StructuredQueries @Table struct PragmaDatabaseList { diff --git a/Sources/SQLiteData/CloudKit/Internal/RecordType.swift b/Sources/SQLiteData/CloudKit/Internal/RecordType.swift index 286bbb315..18caa7bd7 100644 --- a/Sources/SQLiteData/CloudKit/Internal/RecordType.swift +++ b/Sources/SQLiteData/CloudKit/Internal/RecordType.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - public import StructuredQueries + import StructuredQueries @Table("sqlitedata_icloud_recordTypes") package struct RecordType: Hashable { diff --git a/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift b/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift index c8ad92ea9..f79fb3cd2 100644 --- a/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift +++ b/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - public import StructuredQueries + import StructuredQueries @Table("sqlite_schema") package struct SQLiteSchema { diff --git a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift index 0698e49c1..e5d949adc 100644 --- a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift +++ b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) package import CloudKit - public import StructuredQueries + import StructuredQueries @Table("sqlitedata_icloud_stateSerialization") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift index 12a31d9f0..ac4d79b6c 100644 --- a/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift +++ b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift @@ -1,5 +1,5 @@ #if canImport(CloudKit) - package import StructuredQueries + import StructuredQueries @Table package struct TableInfo: Codable, Hashable { diff --git a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift index 16b440ca5..9fdcd4c65 100644 --- a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift +++ b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) package import CloudKit - package import StructuredQueries + import StructuredQueries @Table("sqlitedata_icloud_unsyncedRecordIDs") package struct UnsyncedRecordID: Equatable { diff --git a/Sources/SQLiteData/CloudKit/SyncEngine.swift b/Sources/SQLiteData/CloudKit/SyncEngine.swift index b5112ab53..242e44f0f 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngine.swift @@ -8,7 +8,7 @@ public import OSLog import Observation public import StructuredQueries - public import StructuredQueriesSQLite + import StructuredQueriesSQLite import SwiftData import TabularData diff --git a/Sources/SQLiteDataTestSupport/AssertQuery.swift b/Sources/SQLiteDataTestSupport/AssertQuery.swift index 7bd68b6fd..fe71187bf 100644 --- a/Sources/SQLiteDataTestSupport/AssertQuery.swift +++ b/Sources/SQLiteDataTestSupport/AssertQuery.swift @@ -3,7 +3,7 @@ import Dependencies import Foundation public import GRDB import InlineSnapshotTesting -public import SQLiteData +import SQLiteData public import StructuredQueriesCore import StructuredQueriesTestSupport From 28ff3b73f0555efb8ab516f667bf21fcb3d7c268 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Fri, 29 May 2026 09:35:38 -0500 Subject: [PATCH 10/19] wip --- .../CloudKit/Internal/ForeignKey.swift | 1 + .../Internal/PendingRecordZoneChange.swift | 1 + .../CloudKit/Internal/Pragmas.swift | 1 + .../CloudKit/Internal/RecordType.swift | 1 + .../CloudKit/Internal/SQLiteSchema.swift | 1 + .../Internal/StateSerialization.swift | 2 +- .../CloudKit/Internal/TableInfo.swift | 1 + .../CloudKit/Internal/UnsyncedRecordID.swift | 1 + Sources/SQLiteData/CloudKit/SyncEngine.swift | 1 + Sources/SQLiteData/Internal/Exports.swift | 28 +++++++++---------- 10 files changed, 23 insertions(+), 15 deletions(-) diff --git a/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift b/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift index 8b45b3f6e..d40801655 100644 --- a/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift +++ b/Sources/SQLiteData/CloudKit/Internal/ForeignKey.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) import Foundation import StructuredQueries + public import StructuredQueriesCore @Table package struct ForeignKey { diff --git a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift index d306cf393..50b128815 100644 --- a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift +++ b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) package import CloudKit import StructuredQueries + public import StructuredQueriesCore @Table("sqlitedata_icloud_pendingRecordZoneChanges") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift b/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift index 178119a3b..072471706 100644 --- a/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift +++ b/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) import StructuredQueries + public import StructuredQueriesCore @Table struct PragmaDatabaseList { diff --git a/Sources/SQLiteData/CloudKit/Internal/RecordType.swift b/Sources/SQLiteData/CloudKit/Internal/RecordType.swift index 18caa7bd7..5efb96a89 100644 --- a/Sources/SQLiteData/CloudKit/Internal/RecordType.swift +++ b/Sources/SQLiteData/CloudKit/Internal/RecordType.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) import StructuredQueries + package import StructuredQueriesCore @Table("sqlitedata_icloud_recordTypes") package struct RecordType: Hashable { diff --git a/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift b/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift index f79fb3cd2..7547d1fd3 100644 --- a/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift +++ b/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) import StructuredQueries + package import StructuredQueriesCore @Table("sqlite_schema") package struct SQLiteSchema { diff --git a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift index e5d949adc..330cd1c3b 100644 --- a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift +++ b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) package import CloudKit - import StructuredQueries + package import StructuredQueries @Table("sqlitedata_icloud_stateSerialization") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift index ac4d79b6c..f3be6e3b3 100644 --- a/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift +++ b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) import StructuredQueries + package import StructuredQueriesCore @Table package struct TableInfo: Codable, Hashable { diff --git a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift index 9fdcd4c65..80b525c13 100644 --- a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift +++ b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) package import CloudKit import StructuredQueries + package import StructuredQueriesCore @Table("sqlitedata_icloud_unsyncedRecordIDs") package struct UnsyncedRecordID: Equatable { diff --git a/Sources/SQLiteData/CloudKit/SyncEngine.swift b/Sources/SQLiteData/CloudKit/SyncEngine.swift index 242e44f0f..d221e17b1 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngine.swift @@ -9,6 +9,7 @@ import Observation public import StructuredQueries import StructuredQueriesSQLite + public import StructuredQueriesSQLiteCore import SwiftData import TabularData diff --git a/Sources/SQLiteData/Internal/Exports.swift b/Sources/SQLiteData/Internal/Exports.swift index c918ec4d7..1724b4c27 100644 --- a/Sources/SQLiteData/Internal/Exports.swift +++ b/Sources/SQLiteData/Internal/Exports.swift @@ -1,14 +1,14 @@ -#if !EXCLUDE_EXPORTS - @_exported import Dependencies - @_exported import StructuredQueriesSQLite - - @_exported import struct GRDB.Configuration - @_exported import class GRDB.Database - @_exported import struct GRDB.DatabaseError - @_exported import struct GRDB.DatabaseMigrator - @_exported import class GRDB.DatabasePool - @_exported import class GRDB.DatabaseQueue - @_exported import protocol GRDB.DatabaseReader - @_exported import protocol GRDB.DatabaseWriter - @_exported import protocol GRDB.ValueObservationScheduler -#endif +//#if !EXCLUDE_EXPORTS +// @_exported import Dependencies +// @_exported import StructuredQueriesSQLite +// +// @_exported import struct GRDB.Configuration +// @_exported import class GRDB.Database +// @_exported import struct GRDB.DatabaseError +// @_exported import struct GRDB.DatabaseMigrator +// @_exported import class GRDB.DatabasePool +// @_exported import class GRDB.DatabaseQueue +// @_exported import protocol GRDB.DatabaseReader +// @_exported import protocol GRDB.DatabaseWriter +// @_exported import protocol GRDB.ValueObservationScheduler +//#endif From 36bad2fb33f22c10acd612203c26e211e588053c Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Fri, 29 May 2026 11:53:09 -0500 Subject: [PATCH 11/19] wip --- Package.resolved | 2 +- Package.swift | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Package.resolved b/Package.resolved index 05ebe497d..c4d3f9794 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "331e95a9e67db363c63a9a11d77e2c329584c69879e043f099ad4b54aa1ff405", + "originHash" : "725d8f778c84290ef81225fe8c548ff0a0169261b1f4fb6567dc64db04374bbd", "pins" : [ { "identity" : "combine-schedulers", diff --git a/Package.swift b/Package.swift index 9ac96213c..61ea5371e 100644 --- a/Package.swift +++ b/Package.swift @@ -104,7 +104,6 @@ for target in package.targets { .enableUpcomingFeature("InferIsolatedConformances"), .enableUpcomingFeature("InternalImportsByDefault"), .enableUpcomingFeature("MemberImportVisibility"), - .enableUpcomingFeature("NonisolatedNonsendingByDefault"), ]) #if compiler(>=6.4) target.swiftSettings?.append(contentsOf: [ From a5e6cc91a3e8ae5ec0d51b6942d359386711291b Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Fri, 29 May 2026 11:57:13 -0500 Subject: [PATCH 12/19] wip --- Sources/SQLiteData/FetchOne.swift | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Sources/SQLiteData/FetchOne.swift b/Sources/SQLiteData/FetchOne.swift index 8300b84a1..4e6b799da 100644 --- a/Sources/SQLiteData/FetchOne.swift +++ b/Sources/SQLiteData/FetchOne.swift @@ -84,13 +84,13 @@ public struct FetchOne: Sendable { /// Initializes this property with a wrapped value. /// /// - Parameter wrappedValue: A default value to associate with this property. -// public init(wrappedValue: sending Value) -// where -// Value: _Selection, -// Value.QueryOutput == Value -// { -// sharedReader = SharedReader(value: wrappedValue) -// } + public init(wrappedValue: sending Value) + where + Value: _Selection, + Value.QueryOutput == Value + { + sharedReader = SharedReader(value: wrappedValue) + } /// Initializes this property with a query that fetches the first row from a table. /// From 3ef21780caf934f7b61385d0cb45f976cee2037a Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Fri, 29 May 2026 17:39:59 -0500 Subject: [PATCH 13/19] wip --- .github/workflows/ci.yml | 4 ++- Examples/CaseStudies/DynamicQuery.swift | 1 + Examples/CaseStudies/TransactionDemo.swift | 1 + Examples/Reminders/SearchReminders.swift | 1 + Examples/Reminders/TagsForm.swift | 1 + .../SQLiteData/CloudKit/CloudKitSharing.swift | 4 +-- .../Internal/DefaultNotificationCenter.swift | 1 + Sources/SQLiteData/Internal/Exports.swift | 28 +++++++++---------- 8 files changed, 24 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 726079c3b..1b8a02b1f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,8 +21,10 @@ jobs: - uses: actions/checkout@v5 - name: Select Xcode ${{ matrix.xcode }} run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app + - name: Build ${{ matrix.config }} without exports + run: swift build -c ${{ matrix.config }} -Xswiftc -D -Xswiftc EXCLUDE_EXPORTS - name: Run ${{ matrix.config }} tests - run: swift test -c ${{ matrix.config }} -Xswiftc -D -Xswiftc EXCLUDE_EXPORTS + run: swift test -c ${{ matrix.config }} examples: name: Examples diff --git a/Examples/CaseStudies/DynamicQuery.swift b/Examples/CaseStudies/DynamicQuery.swift index a89368700..9d388eddd 100644 --- a/Examples/CaseStudies/DynamicQuery.swift +++ b/Examples/CaseStudies/DynamicQuery.swift @@ -1,3 +1,4 @@ +import GRDB import SQLiteData import SwiftUI diff --git a/Examples/CaseStudies/TransactionDemo.swift b/Examples/CaseStudies/TransactionDemo.swift index dc4404eb3..52e593000 100644 --- a/Examples/CaseStudies/TransactionDemo.swift +++ b/Examples/CaseStudies/TransactionDemo.swift @@ -1,3 +1,4 @@ +import GRDB import SQLiteData import SwiftUI diff --git a/Examples/Reminders/SearchReminders.swift b/Examples/Reminders/SearchReminders.swift index be22878f0..caca0e595 100644 --- a/Examples/Reminders/SearchReminders.swift +++ b/Examples/Reminders/SearchReminders.swift @@ -1,3 +1,4 @@ +import GRDB import IssueReporting import SQLiteData import SwiftUI diff --git a/Examples/Reminders/TagsForm.swift b/Examples/Reminders/TagsForm.swift index ae97a2b47..250d193c3 100644 --- a/Examples/Reminders/TagsForm.swift +++ b/Examples/Reminders/TagsForm.swift @@ -1,3 +1,4 @@ +import GRDB import SQLiteData import SwiftUI import SwiftUINavigation diff --git a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift index 15ab3f26b..8fb00a0ce 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -1,8 +1,8 @@ #if canImport(CloudKit) public import CloudKit - import Dependencies + public import Dependencies import GRDB - import SwiftUI + public import SwiftUI public import StructuredQueries #if canImport(UIKit) diff --git a/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift index 80a66a1f1..0f0fb6b65 100644 --- a/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift +++ b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift @@ -1,4 +1,5 @@ #if canImport(CloudKit) && canImport(UIKit) + import Dependencies package import UIKit private enum DefaultNotificationCenterKey: DependencyKey { diff --git a/Sources/SQLiteData/Internal/Exports.swift b/Sources/SQLiteData/Internal/Exports.swift index 1724b4c27..c918ec4d7 100644 --- a/Sources/SQLiteData/Internal/Exports.swift +++ b/Sources/SQLiteData/Internal/Exports.swift @@ -1,14 +1,14 @@ -//#if !EXCLUDE_EXPORTS -// @_exported import Dependencies -// @_exported import StructuredQueriesSQLite -// -// @_exported import struct GRDB.Configuration -// @_exported import class GRDB.Database -// @_exported import struct GRDB.DatabaseError -// @_exported import struct GRDB.DatabaseMigrator -// @_exported import class GRDB.DatabasePool -// @_exported import class GRDB.DatabaseQueue -// @_exported import protocol GRDB.DatabaseReader -// @_exported import protocol GRDB.DatabaseWriter -// @_exported import protocol GRDB.ValueObservationScheduler -//#endif +#if !EXCLUDE_EXPORTS + @_exported import Dependencies + @_exported import StructuredQueriesSQLite + + @_exported import struct GRDB.Configuration + @_exported import class GRDB.Database + @_exported import struct GRDB.DatabaseError + @_exported import struct GRDB.DatabaseMigrator + @_exported import class GRDB.DatabasePool + @_exported import class GRDB.DatabaseQueue + @_exported import protocol GRDB.DatabaseReader + @_exported import protocol GRDB.DatabaseWriter + @_exported import protocol GRDB.ValueObservationScheduler +#endif From d4fc56ea929f65f6b6c7a144ab406e46d31daee0 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Fri, 29 May 2026 17:40:15 -0500 Subject: [PATCH 14/19] wip --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1b8a02b1f..0be9ca925 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: xcode: ["26.2"] - config: ["debug", "release"] + config: ["release"] runs-on: macos-26 steps: - uses: actions/checkout@v5 From d728025676e3c7746f1a6efa2e2c4c8032b75ab6 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Fri, 29 May 2026 17:52:48 -0500 Subject: [PATCH 15/19] wip --- Package@swift-6.0.swift | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift index 3b6db09af..683fd81e0 100644 --- a/Package@swift-6.0.swift +++ b/Package@swift-6.0.swift @@ -70,18 +70,20 @@ let package = Package( swiftLanguageModes: [.v6] ) -let swiftSettings: [SwiftSetting] = [ - .enableUpcomingFeature("MemberImportVisibility") - // .unsafeFlags([ - // "-Xfrontend", - // "-warn-long-function-bodies=50", - // "-Xfrontend", - // "-warn-long-expression-type-checking=50", - // ]) -] - -for index in package.targets.indices { - package.targets[index].swiftSettings = swiftSettings +for target in package.targets { + target.swiftSettings = target.swiftSettings ?? [] + target.swiftSettings?.append(contentsOf: [ + .enableUpcomingFeature("ExistentialAny"), + .enableUpcomingFeature("ImmutableWeakCaptures"), + .enableUpcomingFeature("InferIsolatedConformances"), + .enableUpcomingFeature("InternalImportsByDefault"), + .enableUpcomingFeature("MemberImportVisibility"), + ]) + #if compiler(>=6.4) + target.swiftSettings?.append(contentsOf: [ + .treatAllWarnings(as: .error) + ]) + #endif } #if !os(Windows) From 1c2778762648a8e9f5c998b842dd99ca172865cd Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 1 Jun 2026 12:48:57 -0500 Subject: [PATCH 16/19] wip --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0be9ca925..1b8a02b1f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: xcode: ["26.2"] - config: ["release"] + config: ["debug", "release"] runs-on: macos-26 steps: - uses: actions/checkout@v5 From d751cd12635126afb2a938c1b82c06aba96aab60 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 1 Jun 2026 12:54:31 -0500 Subject: [PATCH 17/19] wip --- Examples/Reminders/RemindersApp.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Examples/Reminders/RemindersApp.swift b/Examples/Reminders/RemindersApp.swift index 429db4c8e..93b7b8453 100644 --- a/Examples/Reminders/RemindersApp.swift +++ b/Examples/Reminders/RemindersApp.swift @@ -63,9 +63,7 @@ class RemindersSyncEngineDelegate: SyncEngineDelegate { case .signIn: break case .signOut, .switchAccounts: - await MainActor.run { - isDeleteLocalDataAlertPresented = true - } + isDeleteLocalDataAlertPresented = true @unknown default: break } From 307be1845fce7c15c99c7134b6db4470dfa3b99f Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 1 Jun 2026 12:55:23 -0500 Subject: [PATCH 18/19] Revert all test imports --- Tests/SQLiteDataTests/AssertQueryTests.swift | 2 -- .../CloudKitTests/AccountLifecycleTests.swift | 2 -- Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift | 2 -- Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift | 2 -- .../CloudKitTests/AttachedMetadatabaseTests.swift | 1 - Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift | 3 --- .../CloudKitTests/FetchRecordZoneChangesTests.swift | 3 --- .../CloudKitTests/FetchedDatabaseChangesTests.swift | 1 - .../CloudKitTests/ForeignKeyConstraintTests.swift | 2 -- .../SQLiteDataTests/CloudKitTests/MergeConflictTests.swift | 2 -- Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift | 2 -- .../SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift | 1 - .../CloudKitTests/NextRecordZoneChangeBatchTests.swift | 2 -- Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift | 2 -- Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift | 3 --- .../CloudKitTests/ReferenceViolationTests.swift | 2 -- .../SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift | 2 -- .../CloudKitTests/ScopedTableSyncTests.swift | 1 - .../CloudKitTests/SharingPermissionsTests.swift | 3 --- Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift | 2 -- .../CloudKitTests/SyncEngineDelegateTests.swift | 2 -- .../CloudKitTests/SyncEngineLifecycleTests.swift | 2 -- Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift | 4 ---- .../CloudKitTests/SyncEngineValidationTests.swift | 2 -- Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift | 1 - .../CloudKitTests/UnattachedSyncEngineTests.swift | 1 - Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift | 3 --- Tests/SQLiteDataTests/CompileTimeTests.swift | 2 -- Tests/SQLiteDataTests/CustomFunctionTests.swift | 3 --- Tests/SQLiteDataTests/DatabaseFunctionTests.swift | 2 -- Tests/SQLiteDataTests/DateTests.swift | 3 --- Tests/SQLiteDataTests/FetchAllTests.swift | 3 --- Tests/SQLiteDataTests/FetchOneTests.swift | 3 --- Tests/SQLiteDataTests/FetchSubscriptionTests.swift | 3 --- Tests/SQLiteDataTests/FetchTests.swift | 3 --- Tests/SQLiteDataTests/IntegrationTests.swift | 3 --- Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift | 7 ++----- Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift | 5 ++--- Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift | 7 +++---- Tests/SQLiteDataTests/Internal/Schema.swift | 2 -- Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift | 1 - Tests/SQLiteDataTests/MigrationTests.swift | 2 -- Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift | 4 ---- Tests/SQLiteDataTests/QueryCursorTests.swift | 2 -- 44 files changed, 7 insertions(+), 103 deletions(-) diff --git a/Tests/SQLiteDataTests/AssertQueryTests.swift b/Tests/SQLiteDataTests/AssertQueryTests.swift index 93d6e1f49..39fcbd737 100644 --- a/Tests/SQLiteDataTests/AssertQueryTests.swift +++ b/Tests/SQLiteDataTests/AssertQueryTests.swift @@ -1,9 +1,7 @@ import DependenciesTestSupport import Foundation -import GRDB import SQLiteData import SQLiteDataTestSupport -import StructuredQueries import SnapshotTesting import Testing diff --git a/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift index a7fa45dc1..dd8f0ef91 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AccountLifecycleTests.swift @@ -3,14 +3,12 @@ import CloudKit import CustomDump import Foundation - import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump import Testing import TestLocals import SQLiteDataTestSupport - import StructuredQueries extension BaseCloudKitTests { @MainActor diff --git a/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift index 803bc21b2..467e85f38 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AssetsTests.swift @@ -2,13 +2,11 @@ import CloudKit import ConcurrencyExtras import CustomDump - import Dependencies import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift index 563aa061c..4b17da1d9 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AtomicTests.swift @@ -2,13 +2,11 @@ import CloudKit import ConcurrencyExtras import CustomDump - import Dependencies import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift b/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift index 408f9d1f6..dbec8bb29 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/AttachedMetadatabaseTests.swift @@ -8,7 +8,6 @@ import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift b/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift index d15a457db..fa989369e 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/CloudKitTests.swift @@ -2,14 +2,11 @@ import CloudKit import ConcurrencyExtras import CustomDump - import Dependencies - import GRDB import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift b/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift index bce5abd91..60242f493 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/FetchRecordZoneChangesTests.swift @@ -1,15 +1,12 @@ #if canImport(CloudKit) import CloudKit import CustomDump - import Dependencies import Foundation - import GRDB import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift b/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift index f42194eb9..3b52db960 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/FetchedDatabaseChangesTests.swift @@ -6,7 +6,6 @@ import OrderedCollections import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift b/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift index 0fe10f15b..071688d1c 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/ForeignKeyConstraintTests.swift @@ -1,13 +1,11 @@ #if canImport(CloudKit) import CloudKit import CustomDump - import Dependencies import Foundation import SQLiteDataTestSupport import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift b/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift index bcee3643d..b9840148d 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/MergeConflictTests.swift @@ -2,14 +2,12 @@ import CloudKit import ConcurrencyExtrasTestSupport import CustomDump - import Dependencies import Foundation import InlineSnapshotTesting import OrderedCollections import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift b/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift index 45aa043b1..bd81326d0 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/MetadataTests.swift @@ -2,14 +2,12 @@ import CloudKit import ConcurrencyExtrasTestSupport import CustomDump - import Dependencies import SQLiteDataTestSupport import Foundation import InlineSnapshotTesting import OrderedCollections import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift b/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift index 5743e276d..568184a58 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/NewTableSyncTests.swift @@ -7,7 +7,6 @@ import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift b/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift index 593a5cf3b..8a3c2066d 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/NextRecordZoneChangeBatchTests.swift @@ -2,13 +2,11 @@ import CloudKit import ConcurrencyExtrasTestSupport import CustomDump - import Dependencies import Foundation import InlineSnapshotTesting import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift b/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift index 275a5bf1a..0a8c5df19 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/PreviewTests.swift @@ -1,10 +1,8 @@ #if DEBUG && canImport(DeveloperToolsSupport) && canImport(CloudKit) - import Dependencies import DependenciesTestSupport import InlineSnapshotTesting import SnapshotTestingCustomDump import SQLiteData - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift b/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift index 3900b881d..2891b3e28 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/RecordTypeTests.swift @@ -2,12 +2,9 @@ import CloudKit import ConcurrencyExtras import CustomDump - import Dependencies - import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift b/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift index 8489415a7..eaabf060a 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/ReferenceViolationTests.swift @@ -2,12 +2,10 @@ import CloudKit import ConcurrencyExtras import CustomDump - import Dependencies import InlineSnapshotTesting import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift index 88e0200ed..986015721 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SchemaChangeTests.swift @@ -1,13 +1,11 @@ #if canImport(CloudKit) import CloudKit import CustomDump - import Dependencies import Foundation import InlineSnapshotTesting import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift b/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift index a541c1fc8..17d68bb0f 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/ScopedTableSyncTests.swift @@ -6,7 +6,6 @@ import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift index 69adc650a..c91a178bf 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SharingPermissionsTests.swift @@ -1,14 +1,11 @@ #if canImport(CloudKit) import CloudKit import CustomDump - import Dependencies import Foundation - import GRDB import InlineSnapshotTesting import OrderedCollections import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift index 7ba53d867..9d6705f4c 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SharingTests.swift @@ -1,14 +1,12 @@ #if canImport(CloudKit) import CloudKit import CustomDump - import Dependencies import SQLiteDataTestSupport import Foundation import InlineSnapshotTesting import OrderedCollections import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift index ba2114734..395be01e1 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineDelegateTests.swift @@ -1,5 +1,4 @@ #if canImport(CloudKit) - import ConcurrencyExtras import CloudKit import ConcurrencyExtrasTestSupport import CustomDump @@ -9,7 +8,6 @@ import SQLiteData import SQLiteDataTestSupport import SnapshotTestingCustomDump - import StructuredQueries import Testing import TestLocals diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift index bb28eb810..229d6b026 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineLifecycleTests.swift @@ -1,7 +1,6 @@ #if canImport(CloudKit) import CloudKit import ConcurrencyExtrasTestSupport - import Dependencies import DependenciesTestSupport import InlineSnapshotTesting import SQLiteDataTestSupport @@ -9,7 +8,6 @@ import SQLiteData import SnapshotTesting import SnapshotTestingCustomDump - import StructuredQueries import Testing import TestLocals import os diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift index 65492b985..1a695fcbd 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineTests.swift @@ -1,15 +1,11 @@ #if canImport(CloudKit) import CloudKit import CustomDump - import Dependencies import DependenciesTestSupport import Foundation - import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries - import StructuredQueriesSQLite import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift index fe1151914..be2e39458 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/SyncEngineValidationTests.swift @@ -2,11 +2,9 @@ import CloudKit import CustomDump import Foundation - import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift b/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift index 18b3fef55..e8d12d9f6 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/TriggerTests.swift @@ -4,7 +4,6 @@ import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump - import StructuredQueries import Testing extension BaseCloudKitTests { diff --git a/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift b/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift index 8f79284b3..1133fa7a6 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/UnattachedSyncEngineTests.swift @@ -1,6 +1,5 @@ import CloudKit import CustomDump -import GRDB import InlineSnapshotTesting import SQLiteData import SnapshotTestingCustomDump diff --git a/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift b/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift index 85f38285f..4f755037a 100644 --- a/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift +++ b/Tests/SQLiteDataTests/CloudKitTests/UserlandTests.swift @@ -1,9 +1,6 @@ #if canImport(CloudKit) - import Dependencies import Foundation - import GRDB import SQLiteData - import StructuredQueries import Testing @Suite struct UserlandTests { diff --git a/Tests/SQLiteDataTests/CompileTimeTests.swift b/Tests/SQLiteDataTests/CompileTimeTests.swift index a00451aff..0a080bb93 100644 --- a/Tests/SQLiteDataTests/CompileTimeTests.swift +++ b/Tests/SQLiteDataTests/CompileTimeTests.swift @@ -1,6 +1,4 @@ import SQLiteData -import StructuredQueries -import StructuredQueriesSQLite #if canImport(CloudKit) import CloudKit diff --git a/Tests/SQLiteDataTests/CustomFunctionTests.swift b/Tests/SQLiteDataTests/CustomFunctionTests.swift index d8f19ca12..3c9436e88 100644 --- a/Tests/SQLiteDataTests/CustomFunctionTests.swift +++ b/Tests/SQLiteDataTests/CustomFunctionTests.swift @@ -1,8 +1,5 @@ import Foundation -import GRDB import SQLiteData -import StructuredQueries -import StructuredQueriesSQLite import Testing @Suite struct CustomFunctionsTests { diff --git a/Tests/SQLiteDataTests/DatabaseFunctionTests.swift b/Tests/SQLiteDataTests/DatabaseFunctionTests.swift index 21991cd14..f4555e0b8 100644 --- a/Tests/SQLiteDataTests/DatabaseFunctionTests.swift +++ b/Tests/SQLiteDataTests/DatabaseFunctionTests.swift @@ -1,9 +1,7 @@ import DependenciesTestSupport import Foundation -import GRDB import SQLiteData import SQLiteDataTestSupport -import StructuredQueriesSQLite import Testing struct DatabaseFunctionTests { diff --git a/Tests/SQLiteDataTests/DateTests.swift b/Tests/SQLiteDataTests/DateTests.swift index dbad3c43a..5415a916e 100644 --- a/Tests/SQLiteDataTests/DateTests.swift +++ b/Tests/SQLiteDataTests/DateTests.swift @@ -1,10 +1,7 @@ -import Dependencies import DependenciesTestSupport import Foundation -import GRDB import SQLiteData import SQLiteDataTestSupport -import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .database())) diff --git a/Tests/SQLiteDataTests/FetchAllTests.swift b/Tests/SQLiteDataTests/FetchAllTests.swift index 24c1f7324..83cdbc604 100644 --- a/Tests/SQLiteDataTests/FetchAllTests.swift +++ b/Tests/SQLiteDataTests/FetchAllTests.swift @@ -1,9 +1,6 @@ -import Dependencies import DependenciesTestSupport import Foundation -import GRDB import SQLiteData -import StructuredQueries import Testing #if canImport(SwiftUI) diff --git a/Tests/SQLiteDataTests/FetchOneTests.swift b/Tests/SQLiteDataTests/FetchOneTests.swift index 168418382..1bfffe48d 100644 --- a/Tests/SQLiteDataTests/FetchOneTests.swift +++ b/Tests/SQLiteDataTests/FetchOneTests.swift @@ -1,9 +1,6 @@ -import Dependencies import DependenciesTestSupport import Foundation -import GRDB import SQLiteData -import StructuredQueries import Testing #if canImport(SwiftUI) diff --git a/Tests/SQLiteDataTests/FetchSubscriptionTests.swift b/Tests/SQLiteDataTests/FetchSubscriptionTests.swift index a25e4d527..e95995354 100644 --- a/Tests/SQLiteDataTests/FetchSubscriptionTests.swift +++ b/Tests/SQLiteDataTests/FetchSubscriptionTests.swift @@ -1,9 +1,6 @@ -import Dependencies import DependenciesTestSupport import Foundation -import GRDB import SQLiteData -import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .database())) struct FetchSubscriptionTests { diff --git a/Tests/SQLiteDataTests/FetchTests.swift b/Tests/SQLiteDataTests/FetchTests.swift index c6aac619a..7461e0352 100644 --- a/Tests/SQLiteDataTests/FetchTests.swift +++ b/Tests/SQLiteDataTests/FetchTests.swift @@ -1,9 +1,6 @@ -import Dependencies import DependenciesTestSupport import Foundation -import GRDB import SQLiteData -import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .database())) diff --git a/Tests/SQLiteDataTests/IntegrationTests.swift b/Tests/SQLiteDataTests/IntegrationTests.swift index edc2449de..8323c9234 100644 --- a/Tests/SQLiteDataTests/IntegrationTests.swift +++ b/Tests/SQLiteDataTests/IntegrationTests.swift @@ -1,9 +1,6 @@ -import Dependencies import DependenciesTestSupport import Foundation -import GRDB import SQLiteData -import StructuredQueries import Testing @Suite(.dependency(\.defaultDatabase, try .syncUps())) diff --git a/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift b/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift index 97057c46b..f55e5a645 100644 --- a/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift +++ b/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift @@ -2,15 +2,12 @@ import Clocks import CloudKit import ConcurrencyExtrasTestSupport - import Dependencies import DependenciesTestSupport - import GRDB import OrderedCollections - public import SQLiteData + import SQLiteData import SnapshotTesting - import StructuredQueries import Testing - import TestLocals +import TestLocals import os @Suite( diff --git a/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift b/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift index 81f5cbc83..16d1903bd 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift @@ -1,7 +1,6 @@ #if canImport(CloudKit) - public import CustomDump - public import CloudKit - import Dependencies + import CustomDump + import CloudKit import SQLiteData extension CKDatabase.Scope: @retroactive CustomDumpStringConvertible { diff --git a/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift b/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift index 96026532e..4716be7bf 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift @@ -1,9 +1,8 @@ -package import CloudKit +import CloudKit import ConcurrencyExtras import CustomDump -package import OrderedCollections -package import SQLiteData -import StructuredQueries +import OrderedCollections +import SQLiteData import Testing @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Tests/SQLiteDataTests/Internal/Schema.swift b/Tests/SQLiteDataTests/Internal/Schema.swift index 7d0767f79..f6aff6cf7 100644 --- a/Tests/SQLiteDataTests/Internal/Schema.swift +++ b/Tests/SQLiteDataTests/Internal/Schema.swift @@ -1,6 +1,4 @@ import Foundation -import GRDB -import StructuredQueries import SQLiteData // NB: The IDs in this schema are integers for ease of testing. You should _not_ use integer IDs diff --git a/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift b/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift index 710c6b07c..da9b09cd9 100644 --- a/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift +++ b/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift @@ -1,4 +1,3 @@ -import GRDB import SQLiteData extension UserDatabase { diff --git a/Tests/SQLiteDataTests/MigrationTests.swift b/Tests/SQLiteDataTests/MigrationTests.swift index bd552f6c8..42e5f24b6 100644 --- a/Tests/SQLiteDataTests/MigrationTests.swift +++ b/Tests/SQLiteDataTests/MigrationTests.swift @@ -1,7 +1,5 @@ import Foundation -import GRDB import SQLiteData -import StructuredQueries import Testing @Suite struct MigrationTests { diff --git a/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift b/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift index 0c97b57c1..6435d68a2 100644 --- a/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift +++ b/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift @@ -1,15 +1,11 @@ -import Dependencies import DependenciesTestSupport import Foundation -import GRDB import InlineSnapshotTesting import SQLite3 import SQLiteData import SQLiteDataTestSupport import SnapshotTesting import SnapshotTestingCustomDump -import StructuredQueries -import StructuredQueriesSQLite import Testing @MainActor diff --git a/Tests/SQLiteDataTests/QueryCursorTests.swift b/Tests/SQLiteDataTests/QueryCursorTests.swift index a8bfb52c0..1e608a34a 100644 --- a/Tests/SQLiteDataTests/QueryCursorTests.swift +++ b/Tests/SQLiteDataTests/QueryCursorTests.swift @@ -1,6 +1,4 @@ -import GRDB import SQLiteData -import StructuredQueries import Testing @Suite struct QueryCursorTests { From b797f44a65b38913f8c3f16bb0aaaa09f9090728 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 1 Jun 2026 17:08:57 -0500 Subject: [PATCH 19/19] wip --- Package.swift | 10 +++++++--- Package@swift-6.0.swift | 8 ++++++-- Tests/SQLiteDataTests/IntegrationTests.swift | 1 + .../SQLiteDataTests/Internal/UserDatabaseHelpers.swift | 1 + Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift | 1 + 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Package.swift b/Package.swift index 61ea5371e..5dcb2de52 100644 --- a/Package.swift +++ b/Package.swift @@ -91,7 +91,7 @@ let package = Package( .target( name: "TestLocals", dependencies: ["SQLiteData"] - ) + ), ], swiftLanguageModes: [.v6] ) @@ -102,9 +102,13 @@ for target in package.targets { .enableUpcomingFeature("ExistentialAny"), .enableUpcomingFeature("ImmutableWeakCaptures"), .enableUpcomingFeature("InferIsolatedConformances"), - .enableUpcomingFeature("InternalImportsByDefault"), - .enableUpcomingFeature("MemberImportVisibility"), ]) + if target.type != .test { + target.swiftSettings?.append(contentsOf: [ + .enableUpcomingFeature("InternalImportsByDefault"), + .enableUpcomingFeature("MemberImportVisibility"), + ]) + } #if compiler(>=6.4) target.swiftSettings?.append(contentsOf: [ .treatAllWarnings(as: .error) diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift index 683fd81e0..abe2de514 100644 --- a/Package@swift-6.0.swift +++ b/Package@swift-6.0.swift @@ -76,9 +76,13 @@ for target in package.targets { .enableUpcomingFeature("ExistentialAny"), .enableUpcomingFeature("ImmutableWeakCaptures"), .enableUpcomingFeature("InferIsolatedConformances"), - .enableUpcomingFeature("InternalImportsByDefault"), - .enableUpcomingFeature("MemberImportVisibility"), ]) + if target.type != .test { + target.swiftSettings?.append(contentsOf: [ + .enableUpcomingFeature("InternalImportsByDefault"), + .enableUpcomingFeature("MemberImportVisibility"), + ]) + } #if compiler(>=6.4) target.swiftSettings?.append(contentsOf: [ .treatAllWarnings(as: .error) diff --git a/Tests/SQLiteDataTests/IntegrationTests.swift b/Tests/SQLiteDataTests/IntegrationTests.swift index 8323c9234..afd66b450 100644 --- a/Tests/SQLiteDataTests/IntegrationTests.swift +++ b/Tests/SQLiteDataTests/IntegrationTests.swift @@ -1,4 +1,5 @@ import DependenciesTestSupport +import GRDB import Foundation import SQLiteData import Testing diff --git a/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift b/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift index da9b09cd9..710c6b07c 100644 --- a/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift +++ b/Tests/SQLiteDataTests/Internal/UserDatabaseHelpers.swift @@ -1,3 +1,4 @@ +import GRDB import SQLiteData extension UserDatabase { diff --git a/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift b/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift index 6435d68a2..996a4bffc 100644 --- a/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift +++ b/Tests/SQLiteDataTests/PrimaryKeyMigrationTests.swift @@ -1,5 +1,6 @@ import DependenciesTestSupport import Foundation +import GRDB import InlineSnapshotTesting import SQLite3 import SQLiteData