diff options
Diffstat (limited to 'examples/objective-c/helloworld/HelloWorld.podspec')
-rw-r--r-- | examples/objective-c/helloworld/HelloWorld.podspec | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/examples/objective-c/helloworld/HelloWorld.podspec b/examples/objective-c/helloworld/HelloWorld.podspec index aeb2a8a345..11222cb232 100644 --- a/examples/objective-c/helloworld/HelloWorld.podspec +++ b/examples/objective-c/helloworld/HelloWorld.podspec @@ -13,20 +13,20 @@ Pod::Spec.new do |s| # Base directory where the .proto files are. src = "../../protos" - # Directory where the generated files will be placed. - dir = "Pods/" + s.name - # Run protoc with the Objective-C and gRPC plugins to generate protocol messages and gRPC clients. s.dependency "!ProtoCompiler-gRPCPlugin", "~> 0.14" - repo_root = '../../..' - pods_root = "#{repo_root}/examples/objective-c/helloworld/Pods" + # Pods directory corresponding to this app's Podfile, relative to the location of this podspec. + pods_root = './Pods' + # Path where Cocoapods downloads protoc and the gRPC plugin. protoc_dir = "#{pods_root}/!ProtoCompiler" protoc = "#{protoc_dir}/protoc" - plugin = "#{pods_root}/!ProtoCompiler-gRPCPlugin/grpc_objective_c_plugin" + # Directory where the generated files will be placed. + dir = "#{pods_root}/#{s.name}" + s.prepare_command = <<-CMD mkdir -p #{dir} #{protoc} \ @@ -38,10 +38,12 @@ Pod::Spec.new do |s| #{src}/helloworld.proto CMD + # Files generated by protoc s.subspec "Messages" do |ms| ms.source_files = "#{dir}/*.pbobjc.{h,m}", "#{dir}/**/*.pbobjc.{h,m}" ms.header_mappings_dir = dir ms.requires_arc = false + # The generated files depend on the protobuf runtime. ms.dependency "Protobuf" # This is needed by all pods that depend on Protobuf: ms.pod_target_xcconfig = { @@ -49,10 +51,12 @@ Pod::Spec.new do |s| } end + # Files generated by the gRPC plugin s.subspec "Services" do |ss| ss.source_files = "#{dir}/*.pbrpc.{h,m}", "#{dir}/**/*.pbrpc.{h,m}" ss.header_mappings_dir = dir ss.requires_arc = true + # The generated files depend on the gRPC runtime, and on the files generated by protoc. ss.dependency "gRPC-ProtoRPC" ss.dependency "#{s.name}/Messages" end |