xref: /aosp_15_r20/external/grpc-grpc/templates/gRPC.podspec.template (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker%YAML 1.2
2*cc02d7e2SAndroid Build Coastguard Worker--- |
3*cc02d7e2SAndroid Build Coastguard Worker  # This file has been automatically generated from a template file.
4*cc02d7e2SAndroid Build Coastguard Worker  # Please make modifications to `templates/gRPC.podspec.template`
5*cc02d7e2SAndroid Build Coastguard Worker  # instead. This file can be regenerated from the template by running
6*cc02d7e2SAndroid Build Coastguard Worker  # `tools/buildgen/generate_projects.sh`.
7*cc02d7e2SAndroid Build Coastguard Worker
8*cc02d7e2SAndroid Build Coastguard Worker  # Copyright 2015 gRPC authors.
9*cc02d7e2SAndroid Build Coastguard Worker  #
10*cc02d7e2SAndroid Build Coastguard Worker  # Licensed under the Apache License, Version 2.0 (the "License");
11*cc02d7e2SAndroid Build Coastguard Worker  # you may not use this file except in compliance with the License.
12*cc02d7e2SAndroid Build Coastguard Worker  # You may obtain a copy of the License at
13*cc02d7e2SAndroid Build Coastguard Worker  #
14*cc02d7e2SAndroid Build Coastguard Worker  #     http://www.apache.org/licenses/LICENSE-2.0
15*cc02d7e2SAndroid Build Coastguard Worker  #
16*cc02d7e2SAndroid Build Coastguard Worker  # Unless required by applicable law or agreed to in writing, software
17*cc02d7e2SAndroid Build Coastguard Worker  # distributed under the License is distributed on an "AS IS" BASIS,
18*cc02d7e2SAndroid Build Coastguard Worker  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19*cc02d7e2SAndroid Build Coastguard Worker  # See the License for the specific language governing permissions and
20*cc02d7e2SAndroid Build Coastguard Worker  # limitations under the License.
21*cc02d7e2SAndroid Build Coastguard Worker
22*cc02d7e2SAndroid Build Coastguard Worker
23*cc02d7e2SAndroid Build Coastguard Worker  Pod::Spec.new do |s|
24*cc02d7e2SAndroid Build Coastguard Worker    s.name     = 'gRPC'
25*cc02d7e2SAndroid Build Coastguard Worker    version = '${settings.version}'
26*cc02d7e2SAndroid Build Coastguard Worker    s.version  = version
27*cc02d7e2SAndroid Build Coastguard Worker    s.summary  = 'gRPC client library for iOS/OSX'
28*cc02d7e2SAndroid Build Coastguard Worker    s.homepage = 'https://grpc.io'
29*cc02d7e2SAndroid Build Coastguard Worker    s.license  = 'Apache License, Version 2.0'
30*cc02d7e2SAndroid Build Coastguard Worker    s.authors  = { 'The gRPC contributors' => '[email protected]' }
31*cc02d7e2SAndroid Build Coastguard Worker
32*cc02d7e2SAndroid Build Coastguard Worker    s.source = {
33*cc02d7e2SAndroid Build Coastguard Worker      :git => 'https://github.com/grpc/grpc.git',
34*cc02d7e2SAndroid Build Coastguard Worker      :tag => "v#{version}",
35*cc02d7e2SAndroid Build Coastguard Worker    }
36*cc02d7e2SAndroid Build Coastguard Worker
37*cc02d7e2SAndroid Build Coastguard Worker    name = 'GRPCClient'
38*cc02d7e2SAndroid Build Coastguard Worker    s.module_name = name
39*cc02d7e2SAndroid Build Coastguard Worker    s.header_dir = name
40*cc02d7e2SAndroid Build Coastguard Worker
41*cc02d7e2SAndroid Build Coastguard Worker    s.default_subspec = 'Interface', 'GRPCCore', 'Interface-Legacy'
42*cc02d7e2SAndroid Build Coastguard Worker
43*cc02d7e2SAndroid Build Coastguard Worker    s.pod_target_xcconfig = {
44*cc02d7e2SAndroid Build Coastguard Worker      # This is needed by all pods that depend on gRPC-RxLibrary:
45*cc02d7e2SAndroid Build Coastguard Worker      'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
46*cc02d7e2SAndroid Build Coastguard Worker      'CLANG_WARN_STRICT_PROTOTYPES' => 'NO',
47*cc02d7e2SAndroid Build Coastguard Worker      'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14',
48*cc02d7e2SAndroid Build Coastguard Worker    }
49*cc02d7e2SAndroid Build Coastguard Worker
50*cc02d7e2SAndroid Build Coastguard Worker    s.ios.deployment_target = '10.0'
51*cc02d7e2SAndroid Build Coastguard Worker    s.osx.deployment_target = '10.12'
52*cc02d7e2SAndroid Build Coastguard Worker    s.tvos.deployment_target = '12.0'
53*cc02d7e2SAndroid Build Coastguard Worker    s.watchos.deployment_target = '6.0'
54*cc02d7e2SAndroid Build Coastguard Worker
55*cc02d7e2SAndroid Build Coastguard Worker    # Exposes the privacy manifest. Depended on by any subspecs containing
56*cc02d7e2SAndroid Build Coastguard Worker    # non-interface files.
57*cc02d7e2SAndroid Build Coastguard Worker    s.subspec 'Privacy' do |ss|
58*cc02d7e2SAndroid Build Coastguard Worker      ss.resource_bundles = {
59*cc02d7e2SAndroid Build Coastguard Worker        s.module_name => 'src/objective-c/PrivacyInfo.xcprivacy'
60*cc02d7e2SAndroid Build Coastguard Worker      }
61*cc02d7e2SAndroid Build Coastguard Worker    end
62*cc02d7e2SAndroid Build Coastguard Worker
63*cc02d7e2SAndroid Build Coastguard Worker    s.subspec 'Interface-Legacy' do |ss|
64*cc02d7e2SAndroid Build Coastguard Worker      ss.header_mappings_dir = 'src/objective-c/GRPCClient'
65*cc02d7e2SAndroid Build Coastguard Worker
66*cc02d7e2SAndroid Build Coastguard Worker      ss.public_header_files = "src/objective-c/GRPCClient/GRPCCall+ChannelArg.h",
67*cc02d7e2SAndroid Build Coastguard Worker                               "src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h",
68*cc02d7e2SAndroid Build Coastguard Worker                               "src/objective-c/GRPCClient/GRPCCall+Cronet.h",
69*cc02d7e2SAndroid Build Coastguard Worker                               "src/objective-c/GRPCClient/GRPCCall+OAuth2.h",
70*cc02d7e2SAndroid Build Coastguard Worker                               "src/objective-c/GRPCClient/GRPCCall+Tests.h",
71*cc02d7e2SAndroid Build Coastguard Worker                               "src/objective-c/GRPCClient/GRPCCallLegacy.h",
72*cc02d7e2SAndroid Build Coastguard Worker                               "src/objective-c/GRPCClient/GRPCTypes.h"
73*cc02d7e2SAndroid Build Coastguard Worker
74*cc02d7e2SAndroid Build Coastguard Worker      ss.source_files = "src/objective-c/GRPCClient/GRPCCall+ChannelArg.h",
75*cc02d7e2SAndroid Build Coastguard Worker                        "src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h",
76*cc02d7e2SAndroid Build Coastguard Worker                        "src/objective-c/GRPCClient/GRPCCall+Cronet.h",
77*cc02d7e2SAndroid Build Coastguard Worker                        "src/objective-c/GRPCClient/GRPCCall+OAuth2.h",
78*cc02d7e2SAndroid Build Coastguard Worker                        "src/objective-c/GRPCClient/GRPCCall+Tests.h",
79*cc02d7e2SAndroid Build Coastguard Worker                        "src/objective-c/GRPCClient/GRPCCallLegacy.h",
80*cc02d7e2SAndroid Build Coastguard Worker                        "src/objective-c/GRPCClient/GRPCTypes.h",
81*cc02d7e2SAndroid Build Coastguard Worker                        "src/objective-c/GRPCClient/GRPCTypes.mm"
82*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "gRPC-RxLibrary/Interface", version
83*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/Privacy", version
84*cc02d7e2SAndroid Build Coastguard Worker      s.ios.deployment_target = '10.0'
85*cc02d7e2SAndroid Build Coastguard Worker      s.osx.deployment_target = '10.12'
86*cc02d7e2SAndroid Build Coastguard Worker      s.tvos.deployment_target = '12.0'
87*cc02d7e2SAndroid Build Coastguard Worker      s.watchos.deployment_target = '6.0'
88*cc02d7e2SAndroid Build Coastguard Worker    end
89*cc02d7e2SAndroid Build Coastguard Worker
90*cc02d7e2SAndroid Build Coastguard Worker    s.subspec 'Interface' do |ss|
91*cc02d7e2SAndroid Build Coastguard Worker      ss.header_mappings_dir = 'src/objective-c/GRPCClient'
92*cc02d7e2SAndroid Build Coastguard Worker
93*cc02d7e2SAndroid Build Coastguard Worker      ss.public_header_files = 'src/objective-c/GRPCClient/GRPCCall.h',
94*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCCall+Interceptor.h',
95*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCCallOptions.h',
96*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCInterceptor.h',
97*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCTransport.h',
98*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCDispatchable.h',
99*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/version.h'
100*cc02d7e2SAndroid Build Coastguard Worker
101*cc02d7e2SAndroid Build Coastguard Worker      ss.source_files = 'src/objective-c/GRPCClient/GRPCCall.h',
102*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall.mm',
103*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+Interceptor.h',
104*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+Interceptor.mm',
105*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCallOptions.h',
106*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCallOptions.mm',
107*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCDispatchable.h',
108*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCInterceptor.h',
109*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCInterceptor.mm',
110*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCTransport.h',
111*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCTransport.mm',
112*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/internal/*.h',
113*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/private/GRPCTransport+Private.h',
114*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/private/GRPCTransport+Private.mm',
115*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/version.h'
116*cc02d7e2SAndroid Build Coastguard Worker
117*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/Interface-Legacy", version
118*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/Privacy", version
119*cc02d7e2SAndroid Build Coastguard Worker      s.ios.deployment_target = '10.0'
120*cc02d7e2SAndroid Build Coastguard Worker      s.osx.deployment_target = '10.12'
121*cc02d7e2SAndroid Build Coastguard Worker      s.tvos.deployment_target = '12.0'
122*cc02d7e2SAndroid Build Coastguard Worker      s.watchos.deployment_target = '6.0'
123*cc02d7e2SAndroid Build Coastguard Worker    end
124*cc02d7e2SAndroid Build Coastguard Worker
125*cc02d7e2SAndroid Build Coastguard Worker    s.subspec 'GRPCCore' do |ss|
126*cc02d7e2SAndroid Build Coastguard Worker      ss.header_mappings_dir = 'src/objective-c/GRPCClient'
127*cc02d7e2SAndroid Build Coastguard Worker
128*cc02d7e2SAndroid Build Coastguard Worker      ss.public_header_files = 'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h',
129*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
130*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCCall+OAuth2.h',
131*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCCall+Tests.h',
132*cc02d7e2SAndroid Build Coastguard Worker                               'src/objective-c/GRPCClient/GRPCCall+ChannelArg.h'
133*cc02d7e2SAndroid Build Coastguard Worker      ss.private_header_files = 'src/objective-c/GRPCClient/private/GRPCCore/*.h'
134*cc02d7e2SAndroid Build Coastguard Worker      ss.source_files = 'src/objective-c/GRPCClient/private/GRPCCore/*.{h,mm}',
135*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+ChannelArg.h',
136*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+ChannelArg.mm',
137*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h',
138*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.mm',
139*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
140*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+Cronet.mm',
141*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+OAuth2.h',
142*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+OAuth2.mm',
143*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+Tests.h',
144*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+Tests.mm',
145*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCallLegacy.mm'
146*cc02d7e2SAndroid Build Coastguard Worker
147*cc02d7e2SAndroid Build Coastguard Worker      # Certificates, to be able to establish TLS connections:
148*cc02d7e2SAndroid Build Coastguard Worker      ss.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] }
149*cc02d7e2SAndroid Build Coastguard Worker
150*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/Interface-Legacy", version
151*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/Interface", version
152*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/Privacy", version
153*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency 'gRPC-Core', version
154*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency 'gRPC-RxLibrary', version
155*cc02d7e2SAndroid Build Coastguard Worker
156*cc02d7e2SAndroid Build Coastguard Worker      s.ios.deployment_target = '10.0'
157*cc02d7e2SAndroid Build Coastguard Worker      s.osx.deployment_target = '10.12'
158*cc02d7e2SAndroid Build Coastguard Worker      s.tvos.deployment_target = '12.0'
159*cc02d7e2SAndroid Build Coastguard Worker      s.watchos.deployment_target = '6.0'
160*cc02d7e2SAndroid Build Coastguard Worker    end
161*cc02d7e2SAndroid Build Coastguard Worker
162*cc02d7e2SAndroid Build Coastguard Worker    s.subspec 'GRPCCoreCronet' do |ss|
163*cc02d7e2SAndroid Build Coastguard Worker      ss.header_mappings_dir = 'src/objective-c/GRPCClient'
164*cc02d7e2SAndroid Build Coastguard Worker
165*cc02d7e2SAndroid Build Coastguard Worker      ss.source_files = 'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
166*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/GRPCCall+Cronet.mm',
167*cc02d7e2SAndroid Build Coastguard Worker                        'src/objective-c/GRPCClient/private/GRPCCore/GRPCCoreCronet/*.{h,mm}'
168*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/GRPCCore", version
169*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/Privacy", version
170*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency 'gRPC-Core/Cronet-Implementation', version
171*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency 'CronetFramework'
172*cc02d7e2SAndroid Build Coastguard Worker
173*cc02d7e2SAndroid Build Coastguard Worker      ss.ios.deployment_target = '10.0'
174*cc02d7e2SAndroid Build Coastguard Worker    end
175*cc02d7e2SAndroid Build Coastguard Worker
176*cc02d7e2SAndroid Build Coastguard Worker    # CFStream is now default. Leaving this subspec only for compatibility purpose.
177*cc02d7e2SAndroid Build Coastguard Worker    s.subspec 'CFStream' do |ss|
178*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/GRPCCore", version
179*cc02d7e2SAndroid Build Coastguard Worker
180*cc02d7e2SAndroid Build Coastguard Worker      s.ios.deployment_target = '10.0'
181*cc02d7e2SAndroid Build Coastguard Worker      s.osx.deployment_target = '10.12'
182*cc02d7e2SAndroid Build Coastguard Worker      s.tvos.deployment_target = '12.0'
183*cc02d7e2SAndroid Build Coastguard Worker      s.watchos.deployment_target = '6.0'
184*cc02d7e2SAndroid Build Coastguard Worker    end
185*cc02d7e2SAndroid Build Coastguard Worker
186*cc02d7e2SAndroid Build Coastguard Worker    s.subspec 'InternalTesting' do |ss|
187*cc02d7e2SAndroid Build Coastguard Worker      ss.dependency "#{s.name}/GRPCCore", version
188*cc02d7e2SAndroid Build Coastguard Worker      ss.public_header_files = 'src/objective-c/GRPCClient/internal_testing/*.h'
189*cc02d7e2SAndroid Build Coastguard Worker      ss.source_files = 'src/objective-c/GRPCClient/internal_testing/*.{h,mm}'
190*cc02d7e2SAndroid Build Coastguard Worker      ss.header_mappings_dir = 'src/objective-c/GRPCClient'
191*cc02d7e2SAndroid Build Coastguard Worker
192*cc02d7e2SAndroid Build Coastguard Worker      s.ios.deployment_target = '10.0'
193*cc02d7e2SAndroid Build Coastguard Worker      s.osx.deployment_target = '10.12'
194*cc02d7e2SAndroid Build Coastguard Worker      s.tvos.deployment_target = '12.0'
195*cc02d7e2SAndroid Build Coastguard Worker      s.watchos.deployment_target = '6.0'
196*cc02d7e2SAndroid Build Coastguard Worker    end
197*cc02d7e2SAndroid Build Coastguard Worker  end
198