gRPC.podspec.template 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. %YAML 1.2
  2. --- |
  3. # This file has been automatically generated from a template file.
  4. # Please make modifications to `templates/gRPC.podspec.template`
  5. # instead. This file can be regenerated from the template by running
  6. # `tools/buildgen/generate_projects.sh`.
  7. # Copyright 2015 gRPC authors.
  8. #
  9. # Licensed under the Apache License, Version 2.0 (the "License");
  10. # you may not use this file except in compliance with the License.
  11. # You may obtain a copy of the License at
  12. #
  13. # http://www.apache.org/licenses/LICENSE-2.0
  14. #
  15. # Unless required by applicable law or agreed to in writing, software
  16. # distributed under the License is distributed on an "AS IS" BASIS,
  17. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18. # See the License for the specific language governing permissions and
  19. # limitations under the License.
  20. Pod::Spec.new do |s|
  21. s.name = 'gRPC'
  22. version = '${settings.version}'
  23. s.version = version
  24. s.summary = 'gRPC client library for iOS/OSX'
  25. s.homepage = 'https://grpc.io'
  26. s.license = 'Apache License, Version 2.0'
  27. s.authors = { 'The gRPC contributors' => 'grpc-packages@google.com' }
  28. s.source = {
  29. :git => 'https://github.com/grpc/grpc.git',
  30. :tag => "v#{version}",
  31. }
  32. s.ios.deployment_target = '7.0'
  33. s.osx.deployment_target = '10.9'
  34. s.tvos.deployment_target = '10.0'
  35. name = 'GRPCClient'
  36. s.module_name = name
  37. s.header_dir = name
  38. s.default_subspec = 'Interface', 'GRPCCore', 'Interface-Legacy'
  39. s.pod_target_xcconfig = {
  40. # This is needed by all pods that depend on gRPC-RxLibrary:
  41. 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
  42. 'CLANG_WARN_STRICT_PROTOTYPES' => 'NO',
  43. }
  44. s.subspec 'Interface-Legacy' do |ss|
  45. ss.header_mappings_dir = 'src/objective-c/GRPCClient'
  46. ss.public_header_files = "GRPCClient/GRPCCall+ChannelArg.h",
  47. "GRPCClient/GRPCCall+ChannelCredentials.h",
  48. "GRPCClient/GRPCCall+Cronet.h",
  49. "GRPCClient/GRPCCall+OAuth2.h",
  50. "GRPCClient/GRPCCall+Tests.h",
  51. "src/objective-c/GRPCClient/GRPCCallLegacy.h",
  52. "src/objective-c/GRPCClient/GRPCTypes.h"
  53. ss.source_files = "GRPCClient/GRPCCall+ChannelArg.h",
  54. "GRPCClient/GRPCCall+ChannelCredentials.h",
  55. "GRPCClient/GRPCCall+Cronet.h",
  56. "GRPCClient/GRPCCall+OAuth2.h",
  57. "GRPCClient/GRPCCall+Tests.h",
  58. "src/objective-c/GRPCClient/GRPCCallLegacy.h",
  59. "src/objective-c/GRPCClient/GRPCTypes.h"
  60. end
  61. s.subspec 'Interface' do |ss|
  62. ss.header_mappings_dir = 'src/objective-c/GRPCClient'
  63. ss.public_header_files = 'src/objective-c/GRPCClient/GRPCCall.h',
  64. 'src/objective-c/GRPCClient/GRPCCall+Interceptor.h',
  65. 'src/objective-c/GRPCClient/GRPCCallOptions.h',
  66. 'src/objective-c/GRPCClient/GRPCInterceptor.h',
  67. 'src/objective-c/GRPCClient/GRPCTransport.h',
  68. 'src/objective-c/GRPCClient/GRPCDispatchable.h'
  69. ss.source_files = 'src/objective-c/GRPCClient/GRPCCall.h',
  70. 'src/objective-c/GRPCClient/GRPCCall.m',
  71. 'src/objective-c/GRPCClient/GRPCCall+Interceptor.h',
  72. 'src/objective-c/GRPCClient/GRPCCall+Interceptor.m',
  73. 'src/objective-c/GRPCClient/GRPCCallOptions.h',
  74. 'src/objective-c/GRPCClient/GRPCCallOptions.m',
  75. 'src/objective-c/GRPCClient/GRPCDispatchable.h',
  76. 'src/objective-c/GRPCClient/GRPCInterceptor.h',
  77. 'src/objective-c/GRPCClient/GRPCInterceptor.m',
  78. 'src/objective-c/GRPCClient/GRPCTransport.h',
  79. 'src/objective-c/GRPCClient/GRPCTransport.m',
  80. 'src/objective-c/GRPCClient/internal/*.h',
  81. 'src/objective-c/GRPCClient/private/GRPCTransport+Private.h',
  82. 'src/objective-c/GRPCClient/private/GRPCTransport+Private.m'
  83. ss.dependency "#{s.name}/Interface-Legacy", version
  84. end
  85. s.subspec 'GRPCCore' do |ss|
  86. ss.header_mappings_dir = 'src/objective-c/GRPCClient'
  87. ss.public_header_files = 'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h',
  88. 'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
  89. 'src/objective-c/GRPCClient/GRPCCall+OAuth2.h',
  90. 'src/objective-c/GRPCClient/GRPCCall+Tests.h',
  91. 'src/objective-c/GRPCClient/GRPCCall+ChannelArg.h',
  92. 'src/objective-c/GRPCClient/internal_testing/*.h'
  93. ss.private_header_files = 'src/objective-c/GRPCClient/private/GRPCCore/*.h'
  94. ss.source_files = 'src/objective-c/GRPCClient/internal_testing/*.{h,m}',
  95. 'src/objective-c/GRPCClient/private/GRPCCore/*.{h,m}',
  96. 'src/objective-c/GRPCClient/GRPCCall+ChannelArg.h',
  97. 'src/objective-c/GRPCClient/GRPCCall+ChannelArg.m',
  98. 'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h',
  99. 'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.m',
  100. 'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
  101. 'src/objective-c/GRPCClient/GRPCCall+Cronet.m',
  102. 'src/objective-c/GRPCClient/GRPCCall+OAuth2.h',
  103. 'src/objective-c/GRPCClient/GRPCCall+OAuth2.m',
  104. 'src/objective-c/GRPCClient/GRPCCall+Tests.h',
  105. 'src/objective-c/GRPCClient/GRPCCall+Tests.m',
  106. 'src/objective-c/GRPCClient/GRPCCallLegacy.m'
  107. # Certificates, to be able to establish TLS connections:
  108. ss.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] }
  109. ss.dependency "#{s.name}/Interface-Legacy", version
  110. ss.dependency "#{s.name}/Interface", version
  111. ss.dependency 'gRPC-Core', version
  112. ss.dependency 'gRPC-RxLibrary', version
  113. end
  114. s.subspec 'GRPCCoreCronet' do |ss|
  115. ss.header_mappings_dir = 'src/objective-c/GRPCClient'
  116. ss.source_files = 'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
  117. 'src/objective-c/GRPCClient/GRPCCall+Cronet.m',
  118. 'src/objective-c/GRPCClient/private/GRPCCore/GRPCCoreCronet/*.{h,m}'
  119. ss.dependency "#{s.name}/GRPCCore", version
  120. ss.dependency 'gRPC-Core/Cronet-Implementation', version
  121. ss.dependency 'CronetFramework'
  122. end
  123. # CFStream is now default. Leaving this subspec only for compatibility purpose.
  124. s.subspec 'CFStream' do |ss|
  125. ss.dependency "#{s.name}/GRPCCore", version
  126. end
  127. end