gRPC.podspec 6.7 KB

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