Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Projects/App/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ private let commonDependencies: [TargetDependency] = [
.external(dependency: .KakaoSDKAuth),
.external(dependency: .KakaoSDKCommon),
.external(dependency: .GoogleSignIn),
.external(dependency: .FirebaseCore),
.external(dependency: .FirebaseMessaging),
.external(dependency: .FirebaseRemoteConfig),
.core(implements: .crashlytics)
Expand Down
3 changes: 1 addition & 2 deletions Projects/Domain/Auth/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ let project = Project.makeModule(
.external(dependency: .KakaoSDKCommon),
.external(dependency: .KakaoSDKAuth),
.external(dependency: .KakaoSDKUser),
.external(dependency: .GoogleSignIn),
.external(dependency: .GoogleSignInSwift)
.external(dependency: .GoogleSignIn)
]
)
),
Expand Down
143 changes: 4 additions & 139 deletions Tuist/Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 8 additions & 5 deletions Tuist/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,24 @@ import PackageDescription
"ComposableArchitecture": .framework,
"Kingfisher": .framework,
"Pulse": .framework,
"KakaoSDK": .staticLibrary,
"GoogleSignIn": .staticLibrary,
"GoogleSignInSwift": .staticLibrary
"KakaoSDK": .staticLibrary
]
)
#endif

// Firebase / GoogleSignIn은 akaffenberger 미러를 통해 prebuilt xcframework로 통합한다.
// 미러는 Firebase 공식 zip을 SPM `binaryTarget`으로 재포장한 것으로, Firebase가
// 의존하는 GoogleUtilities/Promises 등을 동일 패키지가 함께 제공하기 때문에
// 다른 SPM 경로(예: google/GoogleSignIn-iOS의 transitive deps)와의 sub-framework
// 분할 충돌을 구조적으로 피한다. 따라서 GoogleSignIn도 같은 미러의 product를 사용한다.
// 버전은 미러의 release tag(= Firebase 공식 버전)와 일치한다.
let package = Package(
name: "Twix",
dependencies: [
.package(url: "https://github.com/pointfreeco/swift-composable-architecture", from: "1.23.2"),
.package(url: "https://github.com/onevcat/Kingfisher", from: "8.0.0"),
.package(url: "https://github.com/kean/Pulse", from: "5.1.4"),
.package(url: "https://github.com/kakao/kakao-ios-sdk", from: "2.27.1"),
.package(url: "https://github.com/google/GoogleSignIn-iOS", from: "9.1.0"),
.package(url: "https://github.com/firebase/firebase-ios-sdk", from: "12.13.0")
.package(url: "https://github.com/akaffenberger/firebase-ios-sdk-xcframeworks", from: "12.13.0")
]
)
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ public extension TargetScript {
exit 0
fi

UPLOAD_SYMBOLS="$SRCROOT/../../Tuist/.build/checkouts/firebase-ios-sdk/Crashlytics/upload-symbols"
UPLOAD_SYMBOLS="$SRCROOT/../../Tuist/.build/checkouts/firebase-ios-sdk-xcframeworks/Sources/FirebaseCrashlytics/upload-symbols"
if [ ! -x "$UPLOAD_SYMBOLS" ]; then
UPLOAD_SYMBOLS=$(find "$SRCROOT/../.." -maxdepth 6 -name "upload-symbols" -path "*/firebase-ios-sdk/Crashlytics/*" 2>/dev/null | head -1)
UPLOAD_SYMBOLS=$(find "$SRCROOT/../.." -maxdepth 8 -name "upload-symbols" -path "*/FirebaseCrashlytics/*" 2>/dev/null | head -1)
fi
if [ -z "$UPLOAD_SYMBOLS" ] || [ ! -x "$UPLOAD_SYMBOLS" ]; then
echo "warning: Firebase Crashlytics upload-symbols not found. Run 'tuist install'."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,15 @@ public extension TargetDependency {
/// 각 case는 SPM 패키지를 나타내며,
/// `TargetDependency.external(dependency:)`와 유기적으로 사용됩니다.
enum External: String {
// Firebase: akaffenberger 미러는 product 단위로 노출하며 FirebaseCore는
// 별도 product가 아닌 다른 Firebase product의 transitive 의존성으로 포함된다.
// 따라서 FirebaseCore는 enum에 두지 않는다.
case FirebaseAnalytics
case FirebaseCore
case FirebaseMessaging
case FirebaseRemoteConfig
case FirebaseCrashlytics

case GoogleSignIn
case GoogleSignInSwift

case KakaoSDKCommon
case KakaoSDKAuth
Expand Down
Loading