Imported Upstream version 1.37.1
[platform/upstream/grpc.git] / gRPC.podspec
index 3a62ce8..4cdd9f2 100644 (file)
@@ -20,7 +20,7 @@
 
 Pod::Spec.new do |s|
   s.name     = 'gRPC'
-  version = '1.23.1'
+  version = '1.37.1'
   s.version  = version
   s.summary  = 'gRPC client library for iOS/OSX'
   s.homepage = 'https://grpc.io'
@@ -32,21 +32,11 @@ Pod::Spec.new do |s|
     :tag => "v#{version}",
   }
 
-  s.ios.deployment_target = '7.0'
-  s.osx.deployment_target = '10.9'
-  s.tvos.deployment_target = '10.0'
-
   name = 'GRPCClient'
   s.module_name = name
   s.header_dir = name
 
-  src_dir = 'src/objective-c/GRPCClient'
-
-  s.dependency 'gRPC-RxLibrary', version
-  s.default_subspec = 'Main'
-
-  # Certificates, to be able to establish TLS connections:
-  s.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] }
+  s.default_subspec = 'Interface', 'GRPCCore', 'Interface-Legacy'
 
   s.pod_target_xcconfig = {
     # This is needed by all pods that depend on gRPC-RxLibrary:
@@ -54,29 +44,141 @@ Pod::Spec.new do |s|
     'CLANG_WARN_STRICT_PROTOTYPES' => 'NO',
   }
 
-  s.subspec 'Main' do |ss|
-    ss.header_mappings_dir = "#{src_dir}"
+  s.ios.deployment_target = '9.0'
+  s.osx.deployment_target = '10.10'
+  s.tvos.deployment_target = '10.0'
+  s.watchos.deployment_target = '4.0'
+
+  s.subspec 'Interface-Legacy' do |ss|
+    ss.header_mappings_dir = 'src/objective-c/GRPCClient'
+
+    ss.public_header_files = "src/objective-c/GRPCClient/GRPCCall+ChannelArg.h",
+                             "src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h",
+                             "src/objective-c/GRPCClient/GRPCCall+Cronet.h",
+                             "src/objective-c/GRPCClient/GRPCCall+OAuth2.h",
+                             "src/objective-c/GRPCClient/GRPCCall+Tests.h",
+                             "src/objective-c/GRPCClient/GRPCCallLegacy.h",
+                             "src/objective-c/GRPCClient/GRPCTypes.h"
+
+    ss.source_files = "src/objective-c/GRPCClient/GRPCCall+ChannelArg.h",
+                      "src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h",
+                      "src/objective-c/GRPCClient/GRPCCall+Cronet.h",
+                      "src/objective-c/GRPCClient/GRPCCall+OAuth2.h",
+                      "src/objective-c/GRPCClient/GRPCCall+Tests.h",
+                      "src/objective-c/GRPCClient/GRPCCallLegacy.h",
+                      "src/objective-c/GRPCClient/GRPCTypes.h",
+                      "src/objective-c/GRPCClient/GRPCTypes.m"
+    ss.dependency "gRPC-RxLibrary/Interface", version
+
+    ss.ios.deployment_target = '9.0'
+    ss.osx.deployment_target = '10.10'
+    ss.tvos.deployment_target = '10.0'
+    ss.watchos.deployment_target = '4.0'
+  end
 
-    ss.source_files = "#{src_dir}/*.{h,m}", "#{src_dir}/**/*.{h,m}"
-    ss.exclude_files = "#{src_dir}/GRPCCall+GID.{h,m}"
-    ss.private_header_files = "#{src_dir}/private/*.h", "#{src_dir}/internal/*.h"
+  s.subspec 'Interface' do |ss|
+    ss.header_mappings_dir = 'src/objective-c/GRPCClient'
+
+    ss.public_header_files = 'src/objective-c/GRPCClient/GRPCCall.h',
+                             'src/objective-c/GRPCClient/GRPCCall+Interceptor.h',
+                             'src/objective-c/GRPCClient/GRPCCallOptions.h',
+                             'src/objective-c/GRPCClient/GRPCInterceptor.h',
+                             'src/objective-c/GRPCClient/GRPCTransport.h',
+                             'src/objective-c/GRPCClient/GRPCDispatchable.h',
+                             'src/objective-c/GRPCClient/version.h'
+
+    ss.source_files = 'src/objective-c/GRPCClient/GRPCCall.h',
+                      'src/objective-c/GRPCClient/GRPCCall.m',
+                      'src/objective-c/GRPCClient/GRPCCall+Interceptor.h',
+                      'src/objective-c/GRPCClient/GRPCCall+Interceptor.m',
+                      'src/objective-c/GRPCClient/GRPCCallOptions.h',
+                      'src/objective-c/GRPCClient/GRPCCallOptions.m',
+                      'src/objective-c/GRPCClient/GRPCDispatchable.h',
+                      'src/objective-c/GRPCClient/GRPCInterceptor.h',
+                      'src/objective-c/GRPCClient/GRPCInterceptor.m',
+                      'src/objective-c/GRPCClient/GRPCTransport.h',
+                      'src/objective-c/GRPCClient/GRPCTransport.m',
+                      'src/objective-c/GRPCClient/internal/*.h',
+                      'src/objective-c/GRPCClient/private/GRPCTransport+Private.h',
+                      'src/objective-c/GRPCClient/private/GRPCTransport+Private.m',
+                      'src/objective-c/GRPCClient/version.h'
+
+    ss.dependency "#{s.name}/Interface-Legacy", version
+
+    ss.ios.deployment_target = '9.0'
+    ss.osx.deployment_target = '10.10'
+    ss.tvos.deployment_target = '10.0'
+    ss.watchos.deployment_target = '4.0'
+  end
 
+  s.subspec 'GRPCCore' do |ss|
+    ss.header_mappings_dir = 'src/objective-c/GRPCClient'
+
+    ss.public_header_files = 'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h',
+                             'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
+                             'src/objective-c/GRPCClient/GRPCCall+OAuth2.h',
+                             'src/objective-c/GRPCClient/GRPCCall+Tests.h',
+                             'src/objective-c/GRPCClient/GRPCCall+ChannelArg.h'
+    ss.private_header_files = 'src/objective-c/GRPCClient/private/GRPCCore/*.h'
+    ss.source_files = 'src/objective-c/GRPCClient/private/GRPCCore/*.{h,m}',
+                      'src/objective-c/GRPCClient/GRPCCall+ChannelArg.h',
+                      'src/objective-c/GRPCClient/GRPCCall+ChannelArg.m',
+                      'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.h',
+                      'src/objective-c/GRPCClient/GRPCCall+ChannelCredentials.m',
+                      'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
+                      'src/objective-c/GRPCClient/GRPCCall+Cronet.m',
+                      'src/objective-c/GRPCClient/GRPCCall+OAuth2.h',
+                      'src/objective-c/GRPCClient/GRPCCall+OAuth2.m',
+                      'src/objective-c/GRPCClient/GRPCCall+Tests.h',
+                      'src/objective-c/GRPCClient/GRPCCall+Tests.m',
+                      'src/objective-c/GRPCClient/GRPCCallLegacy.m'
+
+    # Certificates, to be able to establish TLS connections:
+    ss.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] }
+
+    ss.dependency "#{s.name}/Interface-Legacy", version
+    ss.dependency "#{s.name}/Interface", version
     ss.dependency 'gRPC-Core', version
+    ss.dependency 'gRPC-RxLibrary', version
+
+    ss.ios.deployment_target = '9.0'
+    ss.osx.deployment_target = '10.10'
+    ss.tvos.deployment_target = '10.0'
+    ss.watchos.deployment_target = '4.0'
   end
 
-  # CFStream is now default. Leaving this subspec only for compatibility purpose.
-  s.subspec 'CFStream' do |ss|
-    ss.dependency "#{s.name}/Main", version
+  s.subspec 'GRPCCoreCronet' do |ss|
+    ss.header_mappings_dir = 'src/objective-c/GRPCClient'
+
+    ss.source_files = 'src/objective-c/GRPCClient/GRPCCall+Cronet.h',
+                      'src/objective-c/GRPCClient/GRPCCall+Cronet.m',
+                      'src/objective-c/GRPCClient/private/GRPCCore/GRPCCoreCronet/*.{h,m}'
+    ss.dependency "#{s.name}/GRPCCore", version
+    ss.dependency 'gRPC-Core/Cronet-Implementation', version
+    ss.dependency 'CronetFramework'
+
+    ss.ios.deployment_target = '9.0'
   end
 
-  s.subspec 'GID' do |ss|
-    ss.ios.deployment_target = '7.0'
+  # CFStream is now default. Leaving this subspec only for compatibility purpose.
+  s.subspec 'CFStream' do |ss|
+    ss.dependency "#{s.name}/GRPCCore", version
 
-    ss.header_mappings_dir = "#{src_dir}"
+    ss.ios.deployment_target = '9.0'
+    ss.osx.deployment_target = '10.10'
+    ss.tvos.deployment_target = '10.0'
+    ss.watchos.deployment_target = '4.0'
+  end
 
-    ss.source_files = "#{src_dir}/GRPCCall+GID.{h,m}"
+  s.subspec 'InternalTesting' do |ss|
+    ss.dependency "#{s.name}/GRPCCore", version
+    ss.public_header_files = 'src/objective-c/GRPCClient/internal_testing/*.h'
+    ss.source_files = 'src/objective-c/GRPCClient/internal_testing/*.{h,m}'
+    ss.header_mappings_dir = 'src/objective-c/GRPCClient'
 
-    ss.dependency "#{s.name}/Main", version
-    ss.dependency 'Google/SignIn'
+    ss.ios.deployment_target = '9.0'
+    ss.osx.deployment_target = '10.10'
+    ss.tvos.deployment_target = '10.0'
+    ss.watchos.deployment_target = '4.0'
   end
 end