1*cc02d7e2SAndroid Build Coastguard Workersource 'https://github.com/CocoaPods/Specs.git' 2*cc02d7e2SAndroid Build Coastguard Worker 3*cc02d7e2SAndroid Build Coastguard Workerinstall! 'cocoapods', :deterministic_uuids => false 4*cc02d7e2SAndroid Build Coastguard Worker 5*cc02d7e2SAndroid Build Coastguard Worker# Location of gRPC's repo root relative to this file. 6*cc02d7e2SAndroid Build Coastguard WorkerGRPC_LOCAL_SRC = '../../..' 7*cc02d7e2SAndroid Build Coastguard Worker 8*cc02d7e2SAndroid Build Coastguard Workerdef grpc_deps 9*cc02d7e2SAndroid Build Coastguard Worker pod 'Protobuf', :path => "#{GRPC_LOCAL_SRC}/third_party/protobuf", :inhibit_warnings => true 10*cc02d7e2SAndroid Build Coastguard Worker 11*cc02d7e2SAndroid Build Coastguard Worker pod '!ProtoCompiler', :path => "#{GRPC_LOCAL_SRC}/src/objective-c" 12*cc02d7e2SAndroid Build Coastguard Worker pod '!ProtoCompiler-gRPCPlugin', :path => "#{GRPC_LOCAL_SRC}/src/objective-c" 13*cc02d7e2SAndroid Build Coastguard Worker 14*cc02d7e2SAndroid Build Coastguard Worker pod 'BoringSSL-GRPC', :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c", :inhibit_warnings => true 15*cc02d7e2SAndroid Build Coastguard Worker 16*cc02d7e2SAndroid Build Coastguard Worker pod 'gRPC/InternalTesting', :path => GRPC_LOCAL_SRC 17*cc02d7e2SAndroid Build Coastguard Worker pod 'gRPC-Core', :path => GRPC_LOCAL_SRC, :inhibit_warnings => true 18*cc02d7e2SAndroid Build Coastguard Worker pod 'gRPC-RxLibrary', :path => GRPC_LOCAL_SRC 19*cc02d7e2SAndroid Build Coastguard Worker pod 'gRPC-ProtoRPC', :path => GRPC_LOCAL_SRC, :inhibit_warnings => true 20*cc02d7e2SAndroid Build Coastguard Worker pod 'RemoteTest', :path => "RemoteTestClient", :inhibit_warnings => true 21*cc02d7e2SAndroid Build Coastguard Worker pod 'Common', :path => "Common" 22*cc02d7e2SAndroid Build Coastguard Workerend 23*cc02d7e2SAndroid Build Coastguard Worker 24*cc02d7e2SAndroid Build Coastguard Workertarget 'TvTests' do 25*cc02d7e2SAndroid Build Coastguard Worker platform :tvos, '10.0' 26*cc02d7e2SAndroid Build Coastguard Worker grpc_deps 27*cc02d7e2SAndroid Build Coastguard Workerend 28*cc02d7e2SAndroid Build Coastguard Worker 29*cc02d7e2SAndroid Build Coastguard Workertarget 'MacTests' do 30*cc02d7e2SAndroid Build Coastguard Worker platform :osx, '10.12' 31*cc02d7e2SAndroid Build Coastguard Worker grpc_deps 32*cc02d7e2SAndroid Build Coastguard Workerend 33*cc02d7e2SAndroid Build Coastguard Worker 34*cc02d7e2SAndroid Build Coastguard Worker%w( 35*cc02d7e2SAndroid Build Coastguard Worker UnitTests 36*cc02d7e2SAndroid Build Coastguard Worker InteropTests 37*cc02d7e2SAndroid Build Coastguard Worker).each do |target_name| 38*cc02d7e2SAndroid Build Coastguard Worker target target_name do 39*cc02d7e2SAndroid Build Coastguard Worker platform :ios, '10.0' 40*cc02d7e2SAndroid Build Coastguard Worker grpc_deps 41*cc02d7e2SAndroid Build Coastguard Worker end 42*cc02d7e2SAndroid Build Coastguard Workerend 43*cc02d7e2SAndroid Build Coastguard Worker 44*cc02d7e2SAndroid Build Coastguard Workertarget 'CronetTests' do 45*cc02d7e2SAndroid Build Coastguard Worker platform :ios, '10.0' 46*cc02d7e2SAndroid Build Coastguard Worker grpc_deps 47*cc02d7e2SAndroid Build Coastguard Worker 48*cc02d7e2SAndroid Build Coastguard Worker pod 'gRPC/GRPCCoreCronet', :path => GRPC_LOCAL_SRC 49*cc02d7e2SAndroid Build Coastguard Worker pod 'CronetFramework', :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c" 50*cc02d7e2SAndroid Build Coastguard Workerend 51*cc02d7e2SAndroid Build Coastguard Worker 52*cc02d7e2SAndroid Build Coastguard Workertarget 'PerfTests' do 53*cc02d7e2SAndroid Build Coastguard Worker platform :ios, '10.0' 54*cc02d7e2SAndroid Build Coastguard Worker grpc_deps 55*cc02d7e2SAndroid Build Coastguard Worker 56*cc02d7e2SAndroid Build Coastguard Worker pod 'gRPC/GRPCCoreCronet', :path => GRPC_LOCAL_SRC 57*cc02d7e2SAndroid Build Coastguard Worker pod 'CronetFramework', :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c" 58*cc02d7e2SAndroid Build Coastguard Workerend 59*cc02d7e2SAndroid Build Coastguard Worker 60*cc02d7e2SAndroid Build Coastguard Workerpost_install do |installer| 61*cc02d7e2SAndroid Build Coastguard Worker installer.pods_project.targets.each do |target| 62*cc02d7e2SAndroid Build Coastguard Worker target.build_configurations.each do |config| 63*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'YES' 64*cc02d7e2SAndroid Build Coastguard Worker if config.name == 'Test' 65*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['GCC_OPTIMIZATION_LEVEL'] = '0' 66*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone' 67*cc02d7e2SAndroid Build Coastguard Worker end 68*cc02d7e2SAndroid Build Coastguard Worker end 69*cc02d7e2SAndroid Build Coastguard Worker 70*cc02d7e2SAndroid Build Coastguard Worker # CocoaPods creates duplicated library targets of gRPC-Core when the test targets include 71*cc02d7e2SAndroid Build Coastguard Worker # non-default subspecs of gRPC-Core. All of these library targets start with prefix 'gRPC-Core' 72*cc02d7e2SAndroid Build Coastguard Worker # and require the same error suppresion. 73*cc02d7e2SAndroid Build Coastguard Worker if target.name.start_with?('gRPC-Core') 74*cc02d7e2SAndroid Build Coastguard Worker target.build_configurations.each do |config| 75*cc02d7e2SAndroid Build Coastguard Worker # TODO(zyc): Remove this setting after the issue is resolved 76*cc02d7e2SAndroid Build Coastguard Worker # GPR_UNREACHABLE_CODE causes "Control may reach end of non-void 77*cc02d7e2SAndroid Build Coastguard Worker # function" warning 78*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['GCC_WARN_ABOUT_RETURN_TYPE'] = 'NO' 79*cc02d7e2SAndroid Build Coastguard Worker # Abseil isn't free from the following warning 80*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO' 81*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_CRONET_WITH_PACKET_COALESCING=1 GRPC_CFSTREAM=1' 82*cc02d7e2SAndroid Build Coastguard Worker end 83*cc02d7e2SAndroid Build Coastguard Worker end 84*cc02d7e2SAndroid Build Coastguard Worker 85*cc02d7e2SAndroid Build Coastguard Worker # Activate Cronet for the dedicated build configuration 'Cronet', which will be used solely by 86*cc02d7e2SAndroid Build Coastguard Worker # the test target 'InteropTestsRemoteWithCronet' 87*cc02d7e2SAndroid Build Coastguard Worker # Activate GRPCCall+InternalTests functions for the dedicated build configuration 'Test', which will 88*cc02d7e2SAndroid Build Coastguard Worker # be used by all test targets using it. 89*cc02d7e2SAndroid Build Coastguard Worker if /gRPC(-macOS|-iOS|-tvOS|\.|-[0-9a-f])/.match(target.name) 90*cc02d7e2SAndroid Build Coastguard Worker target.build_configurations.each do |config| 91*cc02d7e2SAndroid Build Coastguard Worker if config.name == 'Cronet' 92*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_COMPILE_WITH_CRONET=1 GRPC_TEST_OBJC=1' 93*cc02d7e2SAndroid Build Coastguard Worker elsif config.name == 'Test' 94*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_TEST_OBJC=1' 95*cc02d7e2SAndroid Build Coastguard Worker end 96*cc02d7e2SAndroid Build Coastguard Worker end 97*cc02d7e2SAndroid Build Coastguard Worker end 98*cc02d7e2SAndroid Build Coastguard Worker 99*cc02d7e2SAndroid Build Coastguard Worker # Enable NSAssert on gRPC 100*cc02d7e2SAndroid Build Coastguard Worker if /(gRPC|ProtoRPC|RxLibrary)/.match(target.name) 101*cc02d7e2SAndroid Build Coastguard Worker target.build_configurations.each do |config| 102*cc02d7e2SAndroid Build Coastguard Worker if config.name != 'Release' 103*cc02d7e2SAndroid Build Coastguard Worker config.build_settings['ENABLE_NS_ASSERTIONS'] = 'YES' 104*cc02d7e2SAndroid Build Coastguard Worker end 105*cc02d7e2SAndroid Build Coastguard Worker end 106*cc02d7e2SAndroid Build Coastguard Worker end 107*cc02d7e2SAndroid Build Coastguard Worker end 108*cc02d7e2SAndroid Build Coastguard Workerend 109