Closer/iphone/Package.swift

60 lines
2.4 KiB
Swift

// 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: "Closer",
platforms: [
.iOS(.v17)
],
dependencies: [
// Firebase
.package(url: "https://github.com/firebase/firebase-ios-sdk.git", from: "11.0.0"),
// RevenueCat
.package(url: "https://github.com/RevenueCat/purchases-ios.git", from: "5.0.0"),
// Google Sign-In
.package(url: "https://github.com/google/GoogleSignIn-iOS.git", from: "8.0.0"),
// swift-sodium audited libsodium wrapper for Argon2id (KDF) and other primitives.
// Pinned to 0.11.0: current stable as of Batch 2, bundles libsodium 1.0.20, supports Swift 6 / iOS 13+.
// Chosen over pure-Swift Argon2 ports because libsodium is audited and provides the RFC 9106 / Argon2 v1.3
// implementation we need for byte-identical KEK derivation with Android BouncyCastle.
.package(url: "https://github.com/jedisct1/swift-sodium.git", from: "0.11.0"),
],
targets: [
.target(
name: "Closer",
dependencies: [
.product(name: "FirebaseAuth", package: "firebase-ios-sdk"),
.product(name: "FirebaseFirestore", package: "firebase-ios-sdk"),
.product(name: "FirebaseFunctions", package: "firebase-ios-sdk"),
.product(name: "FirebaseMessaging", package: "firebase-ios-sdk"),
.product(name: "FirebaseStorage", package: "firebase-ios-sdk"),
.product(name: "RevenueCat", package: "purchases-ios"),
.product(name: "RevenueCatUI", package: "purchases-ios"),
.product(name: "GoogleSignIn", package: "GoogleSignIn-iOS"),
.product(name: "Sodium", package: "swift-sodium"),
],
path: "Closer",
exclude: ["Info.plist", "Closer.entitlements", "Crypto/SPEC.md"],
resources: [
.process("Resources"),
.process("Crypto/Resources"),
]
),
.testTarget(
name: "CloserTests",
dependencies: ["Closer"],
path: "CloserTests"
),
.testTarget(
name: "CloserUITests",
dependencies: ["Closer"],
path: "CloserUITests"
),
]
)