mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-11 22:55:59 +05:45
73 lines
2.4 KiB
Ruby
73 lines
2.4 KiB
Ruby
# Uncomment the next two lines for pre-release testing
|
|
#source 'sso://cpdc-internal/spec'
|
|
#source 'https://github.com/CocoaPods/Specs.git'
|
|
|
|
# The next line is the forcing function for the Firebase pod. The Firebase
|
|
# version's subspecs should depend on the component versions in their
|
|
# corresponding podspec's.
|
|
|
|
pod 'Firebase/Core', '5.0.0'
|
|
|
|
use_frameworks!
|
|
|
|
pod 'FirebaseAuth', :path => '../../'
|
|
pod 'FirebaseCore', :path => '../../'
|
|
pod 'FirebaseFirestore', :path => '../../'
|
|
|
|
target 'Firestore_Example_iOS' do
|
|
platform :ios, '8.0'
|
|
|
|
# Test targets are below to avoid problems with duplicate symbols when
|
|
# building as a static library (see comments below).
|
|
end
|
|
|
|
target 'Firestore_Tests_iOS' do
|
|
platform :ios, '8.0'
|
|
|
|
pod 'leveldb-library'
|
|
pod 'OCMock'
|
|
pod 'GoogleTest', :podspec => 'Tests/GoogleTest/GoogleTest.podspec'
|
|
end
|
|
|
|
target 'Firestore_IntegrationTests_iOS' do
|
|
platform :ios, '8.0'
|
|
end
|
|
|
|
target 'Firestore_SwiftTests_iOS' do
|
|
platform :ios, '8.0'
|
|
pod 'FirebaseFirestoreSwift', :path => '../../'
|
|
end
|
|
|
|
target 'SwiftBuildTest' do
|
|
platform :ios, '8.0'
|
|
end
|
|
|
|
# Firestore includes both Objective-C and C++ code, and the Firestore tests
|
|
# consist of both XCTest-based tests in Objective-C and GoogleTest-based tests
|
|
# in C++. The C++ tests must resolve the classes under test at link time, so
|
|
# CocoaPods usual strategy linking Frameworks to the app and then resolving
|
|
# those classes through run-time loading does not work in all cases.
|
|
#
|
|
# If use_frameworks! is disabled above, the project will encounter a ton of
|
|
# duplicate Objective-C class warnings during test runs. Some of the tests will
|
|
# fail too because duplicate classes also get duplicate static data and this
|
|
# violates the expectations of code we depend upon.
|
|
#
|
|
# The workaround is to strip duplicate dependencies out of the example app,
|
|
# which does not need them since it doesn't do anything other than act as a
|
|
# host to the tests. This is based on the workaround posted here:
|
|
#
|
|
# https://github.com/CocoaPods/CocoaPods/issues/7155
|
|
#
|
|
# TODO(wilhuff): Reevaluate if this is needed once we require CocoaPods 1.5.1
|
|
# which may address this.
|
|
pre_install do |installer|
|
|
test_target = installer.aggregate_targets.find do |target|
|
|
target.name == 'Pods-Firestore_Tests_iOS'
|
|
end
|
|
app_target = installer.aggregate_targets.find do |target|
|
|
target.name == 'Pods-Firestore_Example_iOS'
|
|
end
|
|
app_target.pod_targets = app_target.pod_targets - test_target.pod_targets
|
|
end
|