diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6139ded0..0be9ca92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,7 @@ on: - main pull_request: branches: - - '*' + - "*" workflow_dispatch: jobs: @@ -14,13 +14,15 @@ jobs: name: macOS strategy: matrix: - xcode: ['26.2'] - config: ['debug', 'release'] + xcode: ["26.2"] + config: ["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: 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 }} @@ -28,9 +30,9 @@ jobs: 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/Examples/CaseStudies/DynamicQuery.swift b/Examples/CaseStudies/DynamicQuery.swift index a8936870..9d388edd 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 dc4404eb..52e59300 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/Examples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Examples/Examples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index e5aa49c9..f9c3d89b 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/Examples/Reminders/RemindersApp.swift b/Examples/Reminders/RemindersApp.swift index 93b7b845..429db4c8 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 } diff --git a/Examples/Reminders/SearchReminders.swift b/Examples/Reminders/SearchReminders.swift index be22878f..caca0e59 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 ae97a2b4..250d193c 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/Package.resolved b/Package.resolved index 05ebe497..c4d3f979 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 4ab214a5..61ea5371 100644 --- a/Package.swift +++ b/Package.swift @@ -96,18 +96,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) diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift index 3b6db09a..683fd81e 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) diff --git a/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift b/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift index 861e40b3..d2f0726e 100644 --- a/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift +++ b/Sources/SQLiteData/CloudKit/CloudKit+StructuredQueries.swift @@ -1,7 +1,9 @@ #if canImport(CloudKit) - import 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 a47d37a4..8fb00a0c 100644 --- a/Sources/SQLiteData/CloudKit/CloudKitSharing.swift +++ b/Sources/SQLiteData/CloudKit/CloudKitSharing.swift @@ -1,10 +1,12 @@ #if canImport(CloudKit) - import CloudKit - import Dependencies - import SwiftUI + public import CloudKit + public import Dependencies + import GRDB + 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``. @@ -118,7 +120,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 +132,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 \ @@ -262,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 @@ -270,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 @@ -381,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 @@ -430,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/DefaultSyncEngine.swift b/Sources/SQLiteData/CloudKit/DefaultSyncEngine.swift index 9a2c27be..a8edd53c 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/IdentifierStringConvertible.swift b/Sources/SQLiteData/CloudKit/IdentifierStringConvertible.swift index b7767bad..ae564f2f 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 4829102f..a8319c8a 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 94a0dc61..c1c8df0b 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/CloudKitFunctions.swift b/Sources/SQLiteData/CloudKit/Internal/CloudKitFunctions.swift index afab5b52..b367ee92 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 1b6a5442..9a67b42e 100644 --- a/Sources/SQLiteData/CloudKit/Internal/DataManager.swift +++ b/Sources/SQLiteData/CloudKit/Internal/DataManager.swift @@ -1,7 +1,8 @@ #if canImport(CloudKit) && canImport(CryptoKit) + package import ConcurrencyExtras import CryptoKit import Dependencies - import Foundation + package import Foundation @available(macOS 13, iOS 16, tvOS 16, watchOS 9, *) package protocol DataManager: Sendable { @@ -96,7 +97,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/DefaultNotificationCenter.swift b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift index d1423e4e..0f0fb6b6 100644 --- a/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift +++ b/Sources/SQLiteData/CloudKit/Internal/DefaultNotificationCenter.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) && canImport(UIKit) - import UIKit + import Dependencies + 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 ae329bb6..d4080165 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 StructuredQueriesCore + import StructuredQueries + public import StructuredQueriesCore @Table package struct ForeignKey { diff --git a/Sources/SQLiteData/CloudKit/Internal/Metadatabase.swift b/Sources/SQLiteData/CloudKit/Internal/Metadatabase.swift index c8efa856..d8571a95 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 aaf8568b..3af32acf 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockCloudContainer.swift @@ -1,5 +1,7 @@ #if canImport(CloudKit) - import 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 50f20237..510d1f5c 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockCloudDatabase.swift @@ -1,5 +1,7 @@ #if canImport(CloudKit) - import 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 e8719d26..c8ef0113 100644 --- a/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/Internal/MockSyncEngine.swift @@ -1,7 +1,8 @@ #if canImport(CloudKit) - import CloudKit + package import ConcurrencyExtras + 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 fad64e0d..50b12881 100644 --- a/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift +++ b/Sources/SQLiteData/CloudKit/Internal/PendingRecordZoneChange.swift @@ -1,5 +1,7 @@ #if canImport(CloudKit) - import 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 e30a254f..07247170 100644 --- a/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift +++ b/Sources/SQLiteData/CloudKit/Internal/Pragmas.swift @@ -1,4 +1,7 @@ #if canImport(CloudKit) + import StructuredQueries + public import StructuredQueriesCore + @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 4c610b80..5efb96a8 100644 --- a/Sources/SQLiteData/CloudKit/Internal/RecordType.swift +++ b/Sources/SQLiteData/CloudKit/Internal/RecordType.swift @@ -1,4 +1,7 @@ #if canImport(CloudKit) + import StructuredQueries + package import StructuredQueriesCore + @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 40fa7d87..7547d1fd 100644 --- a/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift +++ b/Sources/SQLiteData/CloudKit/Internal/SQLiteSchema.swift @@ -1,4 +1,7 @@ #if canImport(CloudKit) + import StructuredQueries + package import StructuredQueriesCore + @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 2b76b33b..330cd1c3 100644 --- a/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift +++ b/Sources/SQLiteData/CloudKit/Internal/StateSerialization.swift @@ -1,6 +1,6 @@ #if canImport(CloudKit) - import CloudKit - import StructuredQueriesCore + package import CloudKit + package import StructuredQueries @Table("sqlitedata_icloud_stateSerialization") @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) diff --git a/Sources/SQLiteData/CloudKit/Internal/SyncEngine.Event.swift b/Sources/SQLiteData/CloudKit/Internal/SyncEngine.Event.swift index 230aac02..8622b829 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 d462e198..99c79613 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 58cff003..c62ebf37 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/TableInfo.swift b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift index 2207ce94..f3be6e3b 100644 --- a/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift +++ b/Sources/SQLiteData/CloudKit/Internal/TableInfo.swift @@ -1,5 +1,6 @@ #if canImport(CloudKit) - import StructuredQueriesCore + import StructuredQueries + package import StructuredQueriesCore @Table package struct TableInfo: Codable, Hashable { diff --git a/Sources/SQLiteData/CloudKit/Internal/Triggers.swift b/Sources/SQLiteData/CloudKit/Internal/Triggers.swift index 93411a74..729a1485 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 f24a3e04..80b525c1 100644 --- a/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift +++ b/Sources/SQLiteData/CloudKit/Internal/UnsyncedRecordID.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) - import CloudKit - import StructuredQueriesCore + package import CloudKit + import StructuredQueries + package import StructuredQueriesCore @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 b0fb5edc..98d601fc 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 9a97fb0b..098a3ea1 100644 --- a/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift +++ b/Sources/SQLiteData/CloudKit/PrimaryKeyMigration.swift @@ -1,6 +1,9 @@ #if canImport(CloudKit) && canImport(CryptoKit) import CryptoKit - import Foundation + 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 1099cad1..d221e17b 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngine.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngine.swift @@ -1,11 +1,15 @@ #if canImport(CloudKit) - import CloudKit - import ConcurrencyExtras + public import CloudKit + package import ConcurrencyExtras import Dependencies + public import GRDB + public import IssueReporting import OrderedCollections - import OSLog + public import OSLog import Observation - import StructuredQueriesCore + public import StructuredQueries + import StructuredQueriesSQLite + public import StructuredQueriesSQLiteCore import SwiftData import TabularData diff --git a/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift b/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift index b373dfc4..7125ff68 100644 --- a/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift +++ b/Sources/SQLiteData/CloudKit/SyncEngineDelegate.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) - import 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 22990098..262b5b75 100644 --- a/Sources/SQLiteData/CloudKit/SyncMetadata.swift +++ b/Sources/SQLiteData/CloudKit/SyncMetadata.swift @@ -1,5 +1,7 @@ #if canImport(CloudKit) - import 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 8327ab1b..ea645873 100644 --- a/Sources/SQLiteData/Fetch.swift +++ b/Sources/SQLiteData/Fetch.swift @@ -1,10 +1,13 @@ -import Sharing +public import GRDB +public import Sharing +import StructuredQueriesCore +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 ce06ea56..ec118cdf 100644 --- a/Sources/SQLiteData/FetchAll.swift +++ b/Sources/SQLiteData/FetchAll.swift @@ -1,10 +1,13 @@ -import Sharing +public import GRDB +public import Sharing +public import StructuredQueriesCore +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/FetchKeyRequest.swift b/Sources/SQLiteData/FetchKeyRequest.swift index 428dc0a8..9ac3f27f 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 7d6b7077..4e6b799d 100644 --- a/Sources/SQLiteData/FetchOne.swift +++ b/Sources/SQLiteData/FetchOne.swift @@ -1,10 +1,12 @@ -import Sharing +public import GRDB +public import Sharing +public import StructuredQueriesCore #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/FetchSubscription.swift b/Sources/SQLiteData/FetchSubscription.swift index 10565f14..de794216 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 e59b61a1..c918ec4d 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 diff --git a/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift b/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift index 3e8c4a59..d7cb2b3c 100644 --- a/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift +++ b/Sources/SQLiteData/Internal/FetchKey+SwiftUI.swift @@ -1,6 +1,7 @@ #if canImport(SwiftUI) + package import GRDB 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 1e9ce773..95e2757c 100644 --- a/Sources/SQLiteData/Internal/ISO8601.swift +++ b/Sources/SQLiteData/Internal/ISO8601.swift @@ -1,4 +1,5 @@ -import Foundation +public import Foundation +import StructuredQueriesCore extension Date { @usableFromInline diff --git a/Sources/SQLiteData/Internal/StatementKey.swift b/Sources/SQLiteData/Internal/StatementKey.swift index ba65b826..b9172ac3 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 b9defb55..12ccb4e5 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 31a0cf13..9221e895 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 286135e8..587365dc 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/QueryCursor.swift @@ -1,7 +1,7 @@ -import Foundation -import GRDB +public import Foundation +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 fc96760e..fed7aa11 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteFunctionDecoder.swift @@ -1,6 +1,6 @@ -import Foundation -import GRDBSQLite -import StructuredQueriesCore +public import Foundation +public import GRDBSQLite +public import StructuredQueriesCore @usableFromInline struct SQLiteFunctionDecoder: QueryDecoder { diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift index 4aed866e..8e926e0f 100644 --- a/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift +++ b/Sources/SQLiteData/StructuredQueries+GRDB/SQLiteQueryDecoder.swift @@ -1,6 +1,6 @@ -import Foundation -import GRDBSQLite -import StructuredQueriesCore +public import Foundation +public import GRDBSQLite +public import StructuredQueriesCore @usableFromInline struct SQLiteQueryDecoder: QueryDecoder { diff --git a/Sources/SQLiteData/StructuredQueries+GRDB/Seed.swift b/Sources/SQLiteData/StructuredQueries+GRDB/Seed.swift index f124b70e..1ba94c3a 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 c2c990c1..862a41e3 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 8e55d707..872a08a5 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 06684db1..fe71187b 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 import SQLiteData -import StructuredQueriesCore +public import StructuredQueriesCore import StructuredQueriesTestSupport /// An end-to-end snapshot testing helper for database content. diff --git a/Sources/TestLocals/TestLocals.swift b/Sources/TestLocals/TestLocals.swift index 88c39bd0..2ff92890 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/AssertQueryTests.swift b/Tests/SQLiteDataTests/AssertQueryTests.swift index 39fcbd73..93d6e1f4 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 dd8f0ef9..a7fa45dc 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 467e85f3..803bc21b 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 4b17da1d..563aa061 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 dbec8bb2..408f9d1f 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 fa989369..d15a457d 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 60242f49..bce5abd9 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 3b52db96..f42194eb 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 071688d1..0fe10f15 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 b9840148..bcee3643 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 bd81326d..45aa043b 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 568184a5..5743e276 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 8a3c2066..593a5cf3 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 0a8c5df1..275a5bf1 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 2891b3e2..3900b881 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 eaabf060..8489415a 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 98601572..88e0200e 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 17d68bb0..a541c1fc 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 c91a178b..69adc650 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 9d6705f4..7ba53d86 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 395be01e..ba211473 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 229d6b02..bb28eb81 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 1a695fcb..65492b98 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 be2e3945..fe115191 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 e8d12d9f..18b3fef5 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 1133fa7a..8f79284b 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 4f755037..85f38285 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 0a080bb9..a00451af 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 3c9436e8..d8f19ca1 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 f4555e0b..21991cd1 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 5415a916..dbad3c43 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 83cdbc60..24c1f732 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 1bfffe48..16841838 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 e9599535..a25e4d52 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 7461e035..c6aac619 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 8323c923..edc2449d 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 f55e5a64..97057c46 100644 --- a/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift +++ b/Tests/SQLiteDataTests/Internal/BaseCloudKitTests.swift @@ -2,12 +2,15 @@ import Clocks import CloudKit import ConcurrencyExtrasTestSupport + import Dependencies import DependenciesTestSupport + import GRDB import OrderedCollections - import SQLiteData + public 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 16d1903b..81f5cbc8 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKit+CustomDump.swift @@ -1,6 +1,7 @@ #if canImport(CloudKit) - import CustomDump - import 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 4716be7b..96026532 100644 --- a/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift +++ b/Tests/SQLiteDataTests/Internal/CloudKitTestHelpers.swift @@ -1,8 +1,9 @@ -import CloudKit +package import CloudKit import ConcurrencyExtras import CustomDump -import OrderedCollections -import SQLiteData +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 f6aff6cf..7d0767f7 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 da9b09cd..710c6b07 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 42e5f24b..bd552f6c 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 6435d68a..0c97b57c 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 1e608a34..a8bfb52c 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 {