diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de1d407c5..7ba43d142 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -70,6 +70,12 @@ jobs: env: VALIDATOR_SUBSPEC: SQLCipher run: ./run-tests.sh + - name: "Run tests (tuist)" + run: | + brew install tuist + cd Tests/Tuist/SQLite-Test + tuist install + tuist test build-linux: runs-on: ubuntu-latest steps: diff --git a/.gitignore b/.gitignore index 4c04ed865..d9d65e9e2 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ bin/ Packages/ .swiftpm/ Package.resolved +Derived/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 54b747479..2588eb2bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ -0.15.6 (28-01-2026), [diff][diff-0.15.6] +0.16.0 (28-01-2026), [diff][diff-0.16.0] ======================================== -* Revert trait changes for Linux +* Revert trait changes for Linux +* Remove SwiftToolchainCSQLite (replaced with fork) 0.15.5 (22-01-2026), [diff][diff-0.15.5] ======================================== @@ -194,7 +195,7 @@ For breaking changes, see [Upgrading.md](Documentation/Upgrading.md). [diff-0.15.3]: https://github.com/stephencelis/SQLite.swift/compare/0.15.2...0.15.3 [diff-0.15.4]: https://github.com/stephencelis/SQLite.swift/compare/0.15.3...0.15.4 [diff-0.15.5]: https://github.com/stephencelis/SQLite.swift/compare/0.15.4...0.15.5 -[diff-0.15.6]: https://github.com/stephencelis/SQLite.swift/compare/0.15.5...0.15.6 +[diff-0.16.0]: https://github.com/stephencelis/SQLite.swift/compare/0.15.5...0.16.0 [#30]: https://github.com/stephencelis/SQLite.swift/issues/30 [#142]: https://github.com/stephencelis/SQLite.swift/issues/142 diff --git a/Documentation/Index.md b/Documentation/Index.md index 1e4661e37..18a1e14f7 100644 --- a/Documentation/Index.md +++ b/Documentation/Index.md @@ -109,7 +109,7 @@ process of downloading, compiling, and linking dependencies. ```swift dependencies: [ - .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.6") + .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.16.0") ] ``` @@ -127,7 +127,7 @@ SQLite.swift for different use cases. ```swift dependencies: [ .package(url: "https://github.com/stephencelis/SQLite.swift.git", - from: "0.15.6", + from: "0.16.0", traits: ["XXX"]) ] ``` @@ -150,7 +150,7 @@ If you want to use [SQLCipher][] with SQLite.swift you can specify the `SQLCiphe ```swift depdencies: [ - .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.6", traits: ["SQLCipher"]) + .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.16.0", traits: ["SQLCipher"]) ] ``` @@ -180,7 +180,7 @@ let package = Package( dependencies: [ .package( url: "https://github.com/stephencelis/SQLite.swift.git", - from: "0.15.6", + from: "0.16.0", traits: ["SQLCipher"]) ], targets: [ @@ -227,7 +227,7 @@ install SQLite.swift with Carthage: 2. Update your Cartfile to include the following: ```ruby - github "stephencelis/SQLite.swift" ~> 0.15.6 + github "stephencelis/SQLite.swift" ~> 0.16.0 ``` 3. Run `carthage update` and [add the appropriate framework][Carthage Usage]. @@ -257,7 +257,7 @@ install SQLite.swift with Carthage: use_frameworks! target 'YourAppTargetName' do - pod 'SQLite.swift', '~> 0.15.6' + pod 'SQLite.swift', '~> 0.16.0' end ``` @@ -271,7 +271,7 @@ with the OS you can require the `standalone` subspec: ```ruby target 'YourAppTargetName' do - pod 'SQLite.swift/standalone', '~> 0.15.6' + pod 'SQLite.swift/standalone', '~> 0.16.0' end ``` @@ -281,7 +281,7 @@ dependency to sqlite3 or one of its subspecs: ```ruby target 'YourAppTargetName' do - pod 'SQLite.swift/standalone', '~> 0.15.6' + pod 'SQLite.swift/standalone', '~> 0.16.0' pod 'sqlite3/fts5', '= 3.15.0' # SQLite 3.15.0 with FTS5 enabled end ``` diff --git a/Documentation/Linux.md b/Documentation/Linux.md index e60cd44dd..e3b33cdb5 100644 --- a/Documentation/Linux.md +++ b/Documentation/Linux.md @@ -13,7 +13,7 @@ embed SQLite: ```swift dependencies: [ .package(url: "https://github.com/stephencelis/SQLite.swift.git", - from: "0.15.6", + from: "0.16.0", traits: ["SQLiteSwiftCSQLite"]) ] ``` diff --git a/README.md b/README.md index 0fac8d919..126b7344b 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ Swift code. ```swift dependencies: [ - .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.6") + .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.16.0") ] ``` @@ -155,7 +155,7 @@ install SQLite.swift with Carthage: 2. Update your Cartfile to include the following: ```ruby - github "stephencelis/SQLite.swift" ~> 0.15.6 + github "stephencelis/SQLite.swift" ~> 0.16.0 ``` 3. Run `carthage update` and diff --git a/SQLite.swift.podspec b/SQLite.swift.podspec index aa0cc3901..36ad75e79 100644 --- a/SQLite.swift.podspec +++ b/SQLite.swift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "SQLite.swift" - s.version = "0.15.6" + s.version = "0.16.0" s.summary = "A type-safe, Swift-language layer over SQLite3." s.description = <<-DESC diff --git a/SQLite.xcodeproj/project.pbxproj b/SQLite.xcodeproj/project.pbxproj index 9da1f77a0..c2b78e3e0 100644 --- a/SQLite.xcodeproj/project.pbxproj +++ b/SQLite.xcodeproj/project.pbxproj @@ -1772,7 +1772,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 0.15.6; + MARKETING_VERSION = 0.16.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = ""; @@ -1832,7 +1832,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 0.15.6; + MARKETING_VERSION = 0.16.0; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = ""; SDKROOT = iphoneos; diff --git a/Tests/SPM/Package.swift b/Tests/SPM/Package.swift index 87858081e..9ed66573e 100644 --- a/Tests/SPM/Package.swift +++ b/Tests/SPM/Package.swift @@ -15,7 +15,7 @@ let package = Package( // for testing from same repository .package(path: "../..") // normally this would be: - // .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.6") + // .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.16.0") ], targets: [ .executableTarget(name: "test", dependencies: [.product(name: "SQLite", package: "SQLite.swift")]) diff --git a/Tests/Tuist/SQLite-Test/.gitignore b/Tests/Tuist/SQLite-Test/.gitignore new file mode 100644 index 000000000..24b244f9c --- /dev/null +++ b/Tests/Tuist/SQLite-Test/.gitignore @@ -0,0 +1,70 @@ +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Xcode ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +### Xcode Patch ### +*.xcodeproj/* +!*.xcodeproj/project.pbxproj +!*.xcodeproj/xcshareddata/ +!*.xcworkspace/contents.xcworkspacedata +/*.gcno + +### Projects ### +*.xcodeproj +*.xcworkspace + +### Tuist derived files ### +graph.dot +Derived/ + +### Tuist managed dependencies ### +Tuist/.build \ No newline at end of file diff --git a/Tests/Tuist/SQLite-Test/Project.swift b/Tests/Tuist/SQLite-Test/Project.swift new file mode 100644 index 000000000..e7880ce44 --- /dev/null +++ b/Tests/Tuist/SQLite-Test/Project.swift @@ -0,0 +1,36 @@ +import ProjectDescription + +let project = Project( + name: "SQLite-Test", + targets: [ + .target( + name: "SQLite-Test", + destinations: .iOS, + product: .app, + bundleId: "dev.tuist.SQLite-Test", + infoPlist: .extendingDefault( + with: [ + "UILaunchScreen": [ + "UIColorName": "", + "UIImageName": "" + ] + ] + ), + buildableFolders: [ + "SQLite-Test/Sources" + ], + dependencies: [.external(name: "SQLite")] + ), + .target( + name: "SQLite-TestTests", + destinations: .iOS, + product: .unitTests, + bundleId: "dev.tuist.SQLite-TestTests", + infoPlist: .default, + buildableFolders: [ + "SQLite-Test/Tests" + ], + dependencies: [.target(name: "SQLite-Test")] + ) + ] +) diff --git a/Tests/Tuist/SQLite-Test/SQLite-Test/Sources/SQLiteTestApp.swift b/Tests/Tuist/SQLite-Test/SQLite-Test/Sources/SQLiteTestApp.swift new file mode 100644 index 000000000..ce15ce00c --- /dev/null +++ b/Tests/Tuist/SQLite-Test/SQLite-Test/Sources/SQLiteTestApp.swift @@ -0,0 +1,13 @@ +import SwiftUI +import SQLite + +let connection = try! SQLite.Connection(.inMemory) + +@main +struct SQLiteTestApp: App { + var body: some Scene { + WindowGroup { + Text("version: \(connection.sqliteVersion.description)").padding() + } + } +} diff --git a/Tests/Tuist/SQLite-Test/SQLite-Test/Tests/SQLiteTestTests.swift b/Tests/Tuist/SQLite-Test/SQLite-Test/Tests/SQLiteTestTests.swift new file mode 100644 index 000000000..7b4b9de7c --- /dev/null +++ b/Tests/Tuist/SQLite-Test/SQLite-Test/Tests/SQLiteTestTests.swift @@ -0,0 +1,13 @@ +import Testing +import SQLite + +struct SQLiteTestTests { + + @Test func test_connection() async throws { + let connection = try SQLite.Connection(.inMemory) + let version = connection.sqliteVersion + + #expect(version.major == 3) + + } +} diff --git a/Tests/Tuist/SQLite-Test/Tuist.swift b/Tests/Tuist/SQLite-Test/Tuist.swift new file mode 100644 index 000000000..8c4047127 --- /dev/null +++ b/Tests/Tuist/SQLite-Test/Tuist.swift @@ -0,0 +1,3 @@ +import ProjectDescription + +let tuist = Tuist(project: .tuist()) diff --git a/Tests/Tuist/SQLite-Test/Tuist/Package.swift b/Tests/Tuist/SQLite-Test/Tuist/Package.swift new file mode 100644 index 000000000..877db7639 --- /dev/null +++ b/Tests/Tuist/SQLite-Test/Tuist/Package.swift @@ -0,0 +1,22 @@ +// swift-tools-version: 6.0 +import PackageDescription + +#if TUIST + import struct ProjectDescription.PackageSettings + + let packageSettings = PackageSettings( + // Customize the product types for specific package product + // Default is .staticFramework + // productTypes: ["Alamofire": .framework,] + productTypes: [:] + ) +#endif + +let package = Package( + name: "SQLite-Test", + dependencies: [ + // Add your own dependencies here: + .package(path: "../../../..") + // You can read more about dependencies here: https://docs.tuist.io/documentation/tuist/dependencies + ] +)