xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/manual_tests/Podfile (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Workersource 'https://github.com/CocoaPods/Specs.git'
2*cc02d7e2SAndroid Build Coastguard Workerplatform :ios, '10.0'
3*cc02d7e2SAndroid Build Coastguard Worker
4*cc02d7e2SAndroid Build Coastguard Workerinstall! 'cocoapods', :deterministic_uuids => false
5*cc02d7e2SAndroid Build Coastguard Worker
6*cc02d7e2SAndroid Build Coastguard Worker# Location of gRPC's repo root relative to this file.
7*cc02d7e2SAndroid Build Coastguard WorkerGRPC_LOCAL_SRC = '../../..'
8*cc02d7e2SAndroid Build Coastguard Worker
9*cc02d7e2SAndroid Build Coastguard Worker# Install the dependencies in the main target plus all test targets.
10*cc02d7e2SAndroid Build Coastguard Worker%w(
11*cc02d7e2SAndroid Build Coastguard WorkerGrpcIosTest
12*cc02d7e2SAndroid Build Coastguard Worker).each do |target_name|
13*cc02d7e2SAndroid Build Coastguard Worker  target target_name do
14*cc02d7e2SAndroid Build Coastguard Worker    pod 'Protobuf', :path => "#{GRPC_LOCAL_SRC}/third_party/protobuf", :inhibit_warnings => true
15*cc02d7e2SAndroid Build Coastguard Worker
16*cc02d7e2SAndroid Build Coastguard Worker    pod '!ProtoCompiler',            :path => "#{GRPC_LOCAL_SRC}/src/objective-c"
17*cc02d7e2SAndroid Build Coastguard Worker    pod '!ProtoCompiler-gRPCPlugin', :path => "#{GRPC_LOCAL_SRC}/src/objective-c"
18*cc02d7e2SAndroid Build Coastguard Worker
19*cc02d7e2SAndroid Build Coastguard Worker    pod 'BoringSSL-GRPC',       :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c", :inhibit_warnings => true
20*cc02d7e2SAndroid Build Coastguard Worker
21*cc02d7e2SAndroid Build Coastguard Worker    pod 'gRPC/CFStream',           :path => GRPC_LOCAL_SRC
22*cc02d7e2SAndroid Build Coastguard Worker    pod 'gRPC-Core/CFStream-Implementation',      :path => GRPC_LOCAL_SRC
23*cc02d7e2SAndroid Build Coastguard Worker    pod 'gRPC-RxLibrary', :path => GRPC_LOCAL_SRC
24*cc02d7e2SAndroid Build Coastguard Worker    pod 'gRPC-ProtoRPC',  :path => GRPC_LOCAL_SRC, :inhibit_warnings => true
25*cc02d7e2SAndroid Build Coastguard Worker    pod 'RemoteTest', :path => "../tests/RemoteTestClient", :inhibit_warnings => true
26*cc02d7e2SAndroid Build Coastguard Worker  end
27*cc02d7e2SAndroid Build Coastguard Workerend
28*cc02d7e2SAndroid Build Coastguard Worker
29*cc02d7e2SAndroid Build Coastguard Workerpost_install do |installer|
30*cc02d7e2SAndroid Build Coastguard Worker  installer.pods_project.targets.each do |target|
31*cc02d7e2SAndroid Build Coastguard Worker    target.build_configurations.each do |config|
32*cc02d7e2SAndroid Build Coastguard Worker      config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'YES'
33*cc02d7e2SAndroid Build Coastguard Worker    end
34*cc02d7e2SAndroid Build Coastguard Worker
35*cc02d7e2SAndroid Build Coastguard Worker    # CocoaPods creates duplicated library targets of gRPC-Core when the test targets include
36*cc02d7e2SAndroid Build Coastguard Worker    # non-default subspecs of gRPC-Core. All of these library targets start with prefix 'gRPC-Core'
37*cc02d7e2SAndroid Build Coastguard Worker    # and require the same error suppresion.
38*cc02d7e2SAndroid Build Coastguard Worker    if target.name.start_with?('gRPC-Core')
39*cc02d7e2SAndroid Build Coastguard Worker      target.build_configurations.each do |config|
40*cc02d7e2SAndroid Build Coastguard Worker        # TODO(zyc): Remove this setting after the issue is resolved
41*cc02d7e2SAndroid Build Coastguard Worker        # GPR_UNREACHABLE_CODE causes "Control may reach end of non-void
42*cc02d7e2SAndroid Build Coastguard Worker        # function" warning
43*cc02d7e2SAndroid Build Coastguard Worker        config.build_settings['GCC_WARN_ABOUT_RETURN_TYPE'] = 'NO'
44*cc02d7e2SAndroid Build Coastguard Worker        # Abseil isn't free from the following warning
45*cc02d7e2SAndroid Build Coastguard Worker        config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO'
46*cc02d7e2SAndroid Build Coastguard Worker        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_CRONET_WITH_PACKET_COALESCING=1'
47*cc02d7e2SAndroid Build Coastguard Worker      end
48*cc02d7e2SAndroid Build Coastguard Worker    end
49*cc02d7e2SAndroid Build Coastguard Worker
50*cc02d7e2SAndroid Build Coastguard Worker    # Activate Cronet for the dedicated build configuration 'Cronet', which will be used solely by
51*cc02d7e2SAndroid Build Coastguard Worker    # the test target 'InteropTestsRemoteWithCronet'
52*cc02d7e2SAndroid Build Coastguard Worker    # Activate GRPCCall+InternalTests functions for the dedicated build configuration 'Test', which will
53*cc02d7e2SAndroid Build Coastguard Worker    # be used by all test targets using it.
54*cc02d7e2SAndroid Build Coastguard Worker    if target.name == 'gRPC' || target.name.start_with?('gRPC.')
55*cc02d7e2SAndroid Build Coastguard Worker      target.build_configurations.each do |config|
56*cc02d7e2SAndroid Build Coastguard Worker        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_TEST_OBJC=1'
57*cc02d7e2SAndroid Build Coastguard Worker      end
58*cc02d7e2SAndroid Build Coastguard Worker    end
59*cc02d7e2SAndroid Build Coastguard Worker
60*cc02d7e2SAndroid Build Coastguard Worker    # Enable NSAssert on gRPC
61*cc02d7e2SAndroid Build Coastguard Worker    if target.name == 'gRPC' || target.name.start_with?('gRPC.') ||
62*cc02d7e2SAndroid Build Coastguard Worker        target.name == 'ProtoRPC' || target.name.start_with?('ProtoRPC.') ||
63*cc02d7e2SAndroid Build Coastguard Worker        target.name == 'RxLibrary' || target.name.start_with?('RxLibrary.')
64*cc02d7e2SAndroid Build Coastguard Worker      target.build_configurations.each do |config|
65*cc02d7e2SAndroid Build Coastguard Worker        if config.name != 'Release'
66*cc02d7e2SAndroid Build Coastguard Worker          config.build_settings['ENABLE_NS_ASSERTIONS'] = 'YES'
67*cc02d7e2SAndroid Build Coastguard Worker        end
68*cc02d7e2SAndroid Build Coastguard Worker      end
69*cc02d7e2SAndroid Build Coastguard Worker    end
70*cc02d7e2SAndroid Build Coastguard Worker  end
71*cc02d7e2SAndroid Build Coastguard Workerend
72