2017-11-21 17:02:22 -08:00
|
|
|
Pod::Spec.new do |s|
|
|
|
|
|
s.name = 'FirebaseFirestore'
|
2021-06-17 08:42:45 -04:00
|
|
|
s.version = '8.2.0'
|
2020-03-31 10:21:48 -07:00
|
|
|
s.summary = 'Google Cloud Firestore'
|
2017-11-21 17:02:22 -08:00
|
|
|
|
|
|
|
|
s.description = <<-DESC
|
|
|
|
|
Google Cloud Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development.
|
|
|
|
|
DESC
|
|
|
|
|
|
|
|
|
|
s.homepage = 'https://developers.google.com/'
|
|
|
|
|
s.license = { :type => 'Apache', :file => 'LICENSE' }
|
|
|
|
|
s.authors = 'Google, Inc.'
|
|
|
|
|
|
2018-04-17 07:02:01 -07:00
|
|
|
s.source = {
|
|
|
|
|
:git => 'https://github.com/firebase/firebase-ios-sdk.git',
|
2020-10-02 12:26:22 -07:00
|
|
|
:tag => 'CocoaPods-' + s.version.to_s
|
2018-04-17 07:02:01 -07:00
|
|
|
}
|
2017-11-21 17:02:22 -08:00
|
|
|
|
2020-09-22 15:11:35 -07:00
|
|
|
s.ios.deployment_target = '10.0'
|
|
|
|
|
s.osx.deployment_target = '10.12'
|
2019-03-27 13:51:18 -07:00
|
|
|
s.tvos.deployment_target = '10.0'
|
2017-11-21 17:02:22 -08:00
|
|
|
|
2018-02-16 07:43:20 -08:00
|
|
|
s.cocoapods_version = '>= 1.4.0'
|
2017-11-21 17:02:22 -08:00
|
|
|
s.prefix_header_file = false
|
|
|
|
|
|
2021-02-09 10:01:00 -08:00
|
|
|
# Header files that constitute the interface to this module. Only Objective-C
|
|
|
|
|
# headers belong here, since FirebaseFirestore is primarily an Objective-C
|
|
|
|
|
# framework.
|
|
|
|
|
s.public_header_files = 'Firestore/Source/Public/FirebaseFirestore/*.h'
|
|
|
|
|
|
|
|
|
|
# source_files contains most of the header and source files for the project.
|
|
|
|
|
# This includes files named in `public_header_files`.
|
|
|
|
|
#
|
|
|
|
|
# Each header in this list must be globally unique, even within customer
|
|
|
|
|
# projects. This generally means that only Objective-C Headers with a `FIR`
|
|
|
|
|
# or `FST` prefix can be in `source_files`. Non-public C++ headers that have
|
|
|
|
|
# no filename prefix must be in `preserve_paths`. See
|
|
|
|
|
# https://github.com/firebase/firebase-ios-sdk/issues/4035 for more details.
|
|
|
|
|
#
|
|
|
|
|
# Note: headers from FirebaseCore can be in this list because while they're
|
|
|
|
|
# not globally unique, each copy will be the same. It doesn't matter which
|
|
|
|
|
# version wins in the global header map. The benefit of keeping them here is
|
|
|
|
|
# that "quick open" by filename in Xcode will continue to work.
|
2017-11-21 17:02:22 -08:00
|
|
|
s.source_files = [
|
2020-06-09 06:09:27 -07:00
|
|
|
'FirebaseCore/Sources/Private/*.h',
|
2020-08-04 06:50:55 -07:00
|
|
|
'Firestore/Source/Public/FirebaseFirestore/*.h',
|
2019-10-14 14:48:27 -04:00
|
|
|
'Firestore/Source/**/*.{m,mm}',
|
|
|
|
|
'Firestore/Protos/nanopb/**/*.cc',
|
|
|
|
|
'Firestore/core/include/**/*.{cc,mm}',
|
|
|
|
|
'Firestore/core/src/**/*.{cc,mm}',
|
2020-06-09 06:09:27 -07:00
|
|
|
'Interop/Auth/Public/*.h',
|
2019-10-14 14:48:27 -04:00
|
|
|
]
|
2021-02-09 10:01:00 -08:00
|
|
|
|
|
|
|
|
# Internal headers that aren't necessarily globally unique. Most C++ internal
|
|
|
|
|
# headers should be here to avoid polluting the global header map with
|
|
|
|
|
# unprefixed filenames.
|
|
|
|
|
#
|
|
|
|
|
# These filenames won't be available in Xcode's "quick open" but the types
|
|
|
|
|
# inside these files will be available.
|
2019-10-14 14:48:27 -04:00
|
|
|
s.preserve_paths = [
|
|
|
|
|
'Firestore/Source/API/*.h',
|
|
|
|
|
'Firestore/Source/Core/*.h',
|
|
|
|
|
'Firestore/Source/Local/*.h',
|
|
|
|
|
'Firestore/Source/Remote/*.h',
|
|
|
|
|
'Firestore/Source/Util/*.h',
|
|
|
|
|
'Firestore/Protos/nanopb/**/*.h',
|
|
|
|
|
'Firestore/core/include/**/*.h',
|
|
|
|
|
'Firestore/core/src/**/*.h',
|
2021-03-17 11:22:27 -07:00
|
|
|
'Firestore/third_party/nlohmann_json/json.hpp',
|
2017-11-21 17:02:22 -08:00
|
|
|
]
|
|
|
|
|
s.requires_arc = [
|
|
|
|
|
'Firestore/Source/**/*',
|
2018-01-01 17:17:53 -08:00
|
|
|
'Firestore/core/src/**/*.mm',
|
2017-11-21 17:02:22 -08:00
|
|
|
]
|
2021-02-09 10:01:00 -08:00
|
|
|
|
|
|
|
|
# Exclude alternate implementations for other platforms. These types depend
|
|
|
|
|
# upon link-time substitution, and there's no provision within CocoaPods for
|
|
|
|
|
# selecting files dynamically.
|
2017-11-21 17:02:22 -08:00
|
|
|
s.exclude_files = [
|
2020-04-20 14:57:34 -07:00
|
|
|
'Firestore/core/src/api/input_validation_std.cc',
|
|
|
|
|
'Firestore/core/src/remote/connectivity_monitor_noop.cc',
|
|
|
|
|
'Firestore/core/src/util/filesystem_win.cc',
|
|
|
|
|
'Firestore/core/src/util/hard_assert_stdio.cc',
|
|
|
|
|
'Firestore/core/src/util/log_stdio.cc',
|
|
|
|
|
'Firestore/core/src/util/secure_random_openssl.cc'
|
2017-11-21 17:02:22 -08:00
|
|
|
]
|
|
|
|
|
|
2021-04-23 13:49:36 -07:00
|
|
|
s.dependency 'FirebaseCore', '~> 8.0'
|
2019-11-05 09:12:34 -08:00
|
|
|
|
2020-04-22 14:03:34 -07:00
|
|
|
abseil_version = '0.20200225.0'
|
2019-11-05 09:12:34 -08:00
|
|
|
s.dependency 'abseil/algorithm', abseil_version
|
|
|
|
|
s.dependency 'abseil/base', abseil_version
|
|
|
|
|
s.dependency 'abseil/memory', abseil_version
|
|
|
|
|
s.dependency 'abseil/meta', abseil_version
|
|
|
|
|
s.dependency 'abseil/strings/strings', abseil_version
|
|
|
|
|
s.dependency 'abseil/time', abseil_version
|
|
|
|
|
s.dependency 'abseil/types', abseil_version
|
|
|
|
|
|
2020-04-22 14:03:34 -07:00
|
|
|
s.dependency 'gRPC-C++', '~> 1.28.0'
|
2019-08-21 08:11:21 -07:00
|
|
|
s.dependency 'leveldb-library', '~> 1.22'
|
2021-03-29 16:23:24 -04:00
|
|
|
s.dependency 'nanopb', '~> 2.30908.0'
|
2017-11-21 17:02:22 -08:00
|
|
|
|
2020-10-28 17:04:11 -07:00
|
|
|
s.ios.frameworks = 'SystemConfiguration', 'UIKit'
|
2019-01-17 20:37:42 +00:00
|
|
|
s.osx.frameworks = 'SystemConfiguration'
|
2020-03-11 11:19:56 -07:00
|
|
|
s.tvos.frameworks = 'SystemConfiguration', 'UIKit'
|
2019-01-17 20:37:42 +00:00
|
|
|
|
2017-11-21 17:02:22 -08:00
|
|
|
s.library = 'c++'
|
|
|
|
|
s.pod_target_xcconfig = {
|
2018-10-25 10:59:42 -07:00
|
|
|
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++0x',
|
2018-10-24 11:04:00 -07:00
|
|
|
'GCC_C_LANGUAGE_STANDARD' => 'c99',
|
2018-06-15 15:07:08 -07:00
|
|
|
'GCC_PREPROCESSOR_DEFINITIONS' =>
|
|
|
|
|
"FIRFirestore_VERSION=#{s.version} " +
|
|
|
|
|
# The nanopb pod sets these defs, so we must too. (We *do* require 16bit
|
|
|
|
|
# (or larger) fields, so we'd have to set at least PB_FIELD_16BIT
|
|
|
|
|
# anyways.)
|
2018-11-02 12:11:35 -07:00
|
|
|
'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1',
|
2017-12-11 19:50:14 -08:00
|
|
|
'HEADER_SEARCH_PATHS' =>
|
|
|
|
|
'"${PODS_TARGET_SRCROOT}" ' +
|
2020-08-04 06:50:55 -07:00
|
|
|
'"${PODS_TARGET_SRCROOT}/Firestore/Source/Public/FirebaseFirestore" ' +
|
2018-02-06 12:52:06 -05:00
|
|
|
'"${PODS_ROOT}/nanopb" ' +
|
2020-07-31 10:27:02 -07:00
|
|
|
'"${PODS_TARGET_SRCROOT}/Firestore/Protos/nanopb"'
|
2017-11-21 17:02:22 -08:00
|
|
|
}
|
2018-01-19 12:20:46 -08:00
|
|
|
|
2019-11-05 09:12:34 -08:00
|
|
|
s.compiler_flags = '$(inherited) -Wreorder -Werror=reorder -Wno-comma'
|
2017-11-21 17:02:22 -08:00
|
|
|
end
|