diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Package.swift b/Package.swift index 64ef78e..44b465f 100644 --- a/Package.swift +++ b/Package.swift @@ -7,6 +7,7 @@ let package = Package( name: "Bodega", platforms: [ .iOS(.v13), + .tvOS(.v13), .macOS(.v11), ], products: [ diff --git a/Sources/Bodega/FileManager.Directory.swift b/Sources/Bodega/FileManager.Directory.swift index 2b6ae9a..b5d455a 100644 --- a/Sources/Bodega/FileManager.Directory.swift +++ b/Sources/Bodega/FileManager.Directory.swift @@ -28,7 +28,7 @@ public extension FileManager.Directory { /// - Parameter pathComponent: A path to append to the platform's documents directory. static func documents(appendingPath pathComponent: String) -> Self { let url: URL - if #available(iOS 16.0, macOS 13.0, *) { + if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) { url = URL.documentsDirectory.appending(path: pathComponent) } else { url = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent(pathComponent) @@ -41,7 +41,7 @@ public extension FileManager.Directory { /// - Parameter pathComponent: A path to append to the platform's caches directory. static func caches(appendingPath pathComponent: String) -> Self { let url: URL - if #available(iOS 16.0, macOS 13.0, *) { + if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) { url = URL.cachesDirectory.appending(path: pathComponent) } else { url = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first!.appendingPathComponent(pathComponent) @@ -54,7 +54,7 @@ public extension FileManager.Directory { /// - Parameter pathComponent: A path to append to the platform's temporary directory. static func temporary(appendingPath pathComponent: String) -> Self { let url: URL - if #available(iOS 16.0, macOS 13.0, *) { + if #available(iOS 16.0, macOS 13.0, tvOS 16.0, *) { url = URL.temporaryDirectory.appending(path: pathComponent) } else { url = FileManager.default.temporaryDirectory.appendingPathComponent(pathComponent) -- 2.51.2 From f8ff0e5061edfe091a210784ac64b76907d8ce74 Mon Sep 17 00:00:00 2001 From: avgx Date: Wed, 22 May 2024 13:49:21 +0300 Subject: [PATCH 2/4] tvOS support --- .../xcode/package.xcworkspace/contents.xcworkspacedata | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - -- 2.51.2 From 7db80b28fcd26ece28beea30452cfaafaace44b6 Mon Sep 17 00:00:00 2001 From: Joe Fabisevich Date: Mon, 28 Oct 2024 15:46:18 -0400 Subject: [PATCH 3/4] Adding Swift 6 support for Bodega --- Package.swift | 7 +++- Package@swift-6.0.swift | 38 +++++++++++++++++++ .../{ => Internal}/String+Formatting.swift | 1 - 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 Package@swift-6.0.swift rename Sources/Bodega/{ => Internal}/String+Formatting.swift (99%) diff --git a/Package.swift b/Package.swift index 44b465f..eb367ce 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.6 +// swift-tools-version:5.10 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -24,7 +24,10 @@ let package = Package( .target( name: "Bodega", dependencies: [ - .productItem(name: "SQLite", package: "SQLite.swift", condition: nil) + .product(name: "SQLite", package: "SQLite.swift") + ], + swiftSettings: [ + .define("ENABLE_TESTABILITY", .when(configuration: .debug)) ] ), .testTarget( diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift new file mode 100644 index 0000000..ac867fe --- /dev/null +++ b/Package@swift-6.0.swift @@ -0,0 +1,38 @@ +// swift-tools-version:6.0 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Bodega", + platforms: [ + .iOS(.v13), + .tvOS(.v13), + .macOS(.v11), + ], + products: [ + .library( + name: "Bodega", + targets: ["Bodega"] + ), + ], + dependencies: [ + .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: Version(0, 13, 2)), + .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"), + ], + targets: [ + .target( + name: "Bodega", + dependencies: [ + .product(name: "SQLite", package: "SQLite.swift") + ], + swiftSettings: [ + .define("ENABLE_TESTABILITY", .when(configuration: .debug)) + ] + ), + .testTarget( + name: "BodegaTests", + dependencies: ["Bodega"] + ), + ] +) diff --git a/Sources/Bodega/String+Formatting.swift b/Sources/Bodega/Internal/String+Formatting.swift similarity index 99% rename from Sources/Bodega/String+Formatting.swift rename to Sources/Bodega/Internal/String+Formatting.swift index 8f82439..57f22f0 100644 --- a/Sources/Bodega/String+Formatting.swift +++ b/Sources/Bodega/Internal/String+Formatting.swift @@ -30,4 +30,3 @@ extension Data { map { String(format: "%02x", $0) }.joined() } } - -- 2.51.2 From 4d337e8b0a189bba7e832aa21e012538680ba89e Mon Sep 17 00:00:00 2001 From: Joe Fabisevich Date: Fri, 22 Nov 2024 14:17:19 -0500 Subject: [PATCH 4/4] Switching from CryptoKit to Crypto to support Linux --- Package.resolved | 21 ++++++++++++++++++- Package.swift | 4 +++- Package@swift-6.0.swift | 2 ++ .../Bodega/Internal/String+Formatting.swift | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/Package.resolved b/Package.resolved index fbb2256..9c94a84 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,4 +1,5 @@ { + "originHash" : "86883ab96265fe288b605bd24f286a2ee9ee68043c626263e602135a0bd1e29d", "pins" : [ { "identity" : "sqlite.swift", @@ -9,6 +10,24 @@ "version" : "0.13.3" } }, + { + "identity" : "swift-asn1", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-asn1.git", + "state" : { + "revision" : "7faebca1ea4f9aaf0cda1cef7c43aecd2311ddf6", + "version" : "1.3.0" + } + }, + { + "identity" : "swift-crypto", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-crypto", + "state" : { + "revision" : "06dc63c6d8da54ee11ceb268cde1fa68161afc96", + "version" : "3.9.1" + } + }, { "identity" : "swift-docc-plugin", "kind" : "remoteSourceControl", @@ -19,5 +38,5 @@ } } ], - "version" : 2 + "version" : 3 } diff --git a/Package.swift b/Package.swift index eb367ce..57900c4 100644 --- a/Package.swift +++ b/Package.swift @@ -17,13 +17,15 @@ let package = Package( ), ], dependencies: [ - .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: Version(0, 13, 2)), + .package(url: "https://github.com/apple/swift-crypto", from: Version(3, 9, 1)), + .package(url: "https://github.com/stephencelis/SQLite.swift", from: Version(0, 13, 2)), .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"), ], targets: [ .target( name: "Bodega", dependencies: [ + .product(name: "Crypto", package: "swift-crypto"), .product(name: "SQLite", package: "SQLite.swift") ], swiftSettings: [ diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift index ac867fe..6445db8 100644 --- a/Package@swift-6.0.swift +++ b/Package@swift-6.0.swift @@ -17,6 +17,7 @@ let package = Package( ), ], dependencies: [ + .package(url: "https://github.com/apple/swift-crypto", from: Version(3, 9, 1)), .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: Version(0, 13, 2)), .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"), ], @@ -24,6 +25,7 @@ let package = Package( .target( name: "Bodega", dependencies: [ + .product(name: "Crypto", package: "swift-crypto"), .product(name: "SQLite", package: "SQLite.swift") ], swiftSettings: [ diff --git a/Sources/Bodega/Internal/String+Formatting.swift b/Sources/Bodega/Internal/String+Formatting.swift index 57f22f0..5cebf19 100644 --- a/Sources/Bodega/Internal/String+Formatting.swift +++ b/Sources/Bodega/Internal/String+Formatting.swift @@ -1,4 +1,4 @@ -import CryptoKit +import Crypto import Foundation extension String {