Skip to content

Conversation

@dioKaratzas
Copy link
Contributor

@dioKaratzas dioKaratzas commented Jun 18, 2025

Resolves: #72

Blocked till Swift 6.2 release

Summary:

  • Added SQLCipher plugin with build configuration
  • Added CSQLCipher module with headers and sources
  • Added conditional compilation for SQLCipher vs SQLite
  • Added Package@swift-6.2.swift for Swift 6.2 support

@dioKaratzas dioKaratzas requested a review from gwynne as a code owner June 18, 2025 17:11
@dioKaratzas dioKaratzas marked this pull request as draft June 18, 2025 17:11
@dioKaratzas dioKaratzas changed the title Support SQLcipher #72 Add SQLCipher support #72 Jun 18, 2025
@dioKaratzas dioKaratzas force-pushed the feature/sql-cipher branch 2 times, most recently from 8e88b3c to 4e16f29 Compare June 19, 2025 08:47
@dioKaratzas dioKaratzas marked this pull request as ready for review July 1, 2025 19:01
@dioKaratzas dioKaratzas force-pushed the feature/sql-cipher branch 4 times, most recently from 7e154b5 to e55cf58 Compare August 31, 2025 08:43
Summary:
- Add CSQLCipher C module with OpenSSL integration and module map
- Extend VendorSQLite plugin to support SQLCipher download and build
- Add conditional compilation for SQLCipher vs SQLite across all sources
- Implement comprehensive SQLCipher integration tests and OpenSSL validation
- Add Swift 6.2 package manifest  for trait support
- Remove default trait to require explicit choice by consumers
- Add compile-time guard (`TraitsGuard.swift`) to ensure exactly one trait is active
- Introduce `REQUIRES_TRAIT_CHOICE` define in Swift 6.2 manifest so guard
  only applies when traits are supported (avoids breaking Swift 5.10 manifest)
@codecov
Copy link

codecov bot commented Sep 4, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.06%. Comparing base (a4c62fa) to head (d441812).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #87   +/-   ##
=======================================
  Coverage   72.06%   72.06%           
=======================================
  Files          10       10           
  Lines        1013     1013           
=======================================
  Hits          730      730           
  Misses        283      283           
Files with missing lines Coverage Δ
Sources/SQLiteNIO/SQLiteConnection+Hooks.swift 91.02% <ø> (ø)
Sources/SQLiteNIO/SQLiteConnection.swift 69.91% <ø> (ø)
Sources/SQLiteNIO/SQLiteCustomFunction.swift 82.63% <ø> (ø)
Sources/SQLiteNIO/SQLiteData.swift 75.00% <ø> (ø)
Sources/SQLiteNIO/SQLiteDatabase.swift 33.33% <ø> (ø)
Sources/SQLiteNIO/SQLiteError.swift 49.25% <ø> (ø)
Sources/SQLiteNIO/SQLiteStatement.swift 95.50% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support SQLcipher

1 participant