xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker# This file has been automatically generated from a template file.
2*cc02d7e2SAndroid Build Coastguard Worker# Please make modifications to
3*cc02d7e2SAndroid Build Coastguard Worker# `templates/src/objective-c/!ProtoCompiler-gRPCPlugin.podspec.template`
4*cc02d7e2SAndroid Build Coastguard Worker# instead. This file can be regenerated from the template by running
5*cc02d7e2SAndroid Build Coastguard Worker# `tools/buildgen/generate_projects.sh`.
6*cc02d7e2SAndroid Build Coastguard Worker
7*cc02d7e2SAndroid Build Coastguard Worker# CocoaPods podspec for the gRPC Proto Compiler Plugin
8*cc02d7e2SAndroid Build Coastguard Worker#
9*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2016, Google Inc.
10*cc02d7e2SAndroid Build Coastguard Worker# All rights reserved.
11*cc02d7e2SAndroid Build Coastguard Worker#
12*cc02d7e2SAndroid Build Coastguard Worker# Redistribution and use in source and binary forms, with or without
13*cc02d7e2SAndroid Build Coastguard Worker# modification, are permitted provided that the following conditions are
14*cc02d7e2SAndroid Build Coastguard Worker# met:
15*cc02d7e2SAndroid Build Coastguard Worker#
16*cc02d7e2SAndroid Build Coastguard Worker#     * Redistributions of source code must retain the above copyright
17*cc02d7e2SAndroid Build Coastguard Worker# notice, this list of conditions and the following disclaimer.
18*cc02d7e2SAndroid Build Coastguard Worker#     * Redistributions in binary form must reproduce the above
19*cc02d7e2SAndroid Build Coastguard Worker# copyright notice, this list of conditions and the following disclaimer
20*cc02d7e2SAndroid Build Coastguard Worker# in the documentation and/or other materials provided with the
21*cc02d7e2SAndroid Build Coastguard Worker# distribution.
22*cc02d7e2SAndroid Build Coastguard Worker#     * Neither the name of Google Inc. nor the names of its
23*cc02d7e2SAndroid Build Coastguard Worker# contributors may be used to endorse or promote products derived from
24*cc02d7e2SAndroid Build Coastguard Worker# this software without specific prior written permission.
25*cc02d7e2SAndroid Build Coastguard Worker#
26*cc02d7e2SAndroid Build Coastguard Worker# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27*cc02d7e2SAndroid Build Coastguard Worker# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28*cc02d7e2SAndroid Build Coastguard Worker# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29*cc02d7e2SAndroid Build Coastguard Worker# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30*cc02d7e2SAndroid Build Coastguard Worker# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31*cc02d7e2SAndroid Build Coastguard Worker# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32*cc02d7e2SAndroid Build Coastguard Worker# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33*cc02d7e2SAndroid Build Coastguard Worker# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34*cc02d7e2SAndroid Build Coastguard Worker# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35*cc02d7e2SAndroid Build Coastguard Worker# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36*cc02d7e2SAndroid Build Coastguard Worker# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37*cc02d7e2SAndroid Build Coastguard Worker
38*cc02d7e2SAndroid Build Coastguard WorkerPod::Spec.new do |s|
39*cc02d7e2SAndroid Build Coastguard Worker  # This pod is only a utility that will be used by other pods _at install time_ (not at compile
40*cc02d7e2SAndroid Build Coastguard Worker  # time). Other pods can access it in their `prepare_command` script, under <pods_root>/<pod name>.
41*cc02d7e2SAndroid Build Coastguard Worker  # Because CocoaPods installs pods in alphabetical order, beginning this pod's name with an
42*cc02d7e2SAndroid Build Coastguard Worker  # exclamation mark ensures that other "regular" pods will be able to find it as it'll be installed
43*cc02d7e2SAndroid Build Coastguard Worker  # before them.
44*cc02d7e2SAndroid Build Coastguard Worker  s.name     = '!ProtoCompiler-gRPCPlugin'
45*cc02d7e2SAndroid Build Coastguard Worker  v = '1.63.1'
46*cc02d7e2SAndroid Build Coastguard Worker  s.version  = v
47*cc02d7e2SAndroid Build Coastguard Worker  s.summary  = 'The gRPC ProtoC plugin generates Objective-C files from .proto services.'
48*cc02d7e2SAndroid Build Coastguard Worker  s.description = <<-DESC
49*cc02d7e2SAndroid Build Coastguard Worker    This podspec only downloads the gRPC protoc plugin so that local pods generating protos can use
50*cc02d7e2SAndroid Build Coastguard Worker    it in their invocation of protoc, as part of their prepare_command.
51*cc02d7e2SAndroid Build Coastguard Worker    The generated code will have a dependency on the gRPC Objective-C Proto runtime of the same
52*cc02d7e2SAndroid Build Coastguard Worker    version. The runtime can be obtained as the "gRPC-ProtoRPC" pod.
53*cc02d7e2SAndroid Build Coastguard Worker  DESC
54*cc02d7e2SAndroid Build Coastguard Worker  s.homepage = 'https://grpc.io'
55*cc02d7e2SAndroid Build Coastguard Worker  s.license  = {
56*cc02d7e2SAndroid Build Coastguard Worker    :type => 'Apache License, Version 2.0',
57*cc02d7e2SAndroid Build Coastguard Worker    :text => <<-LICENSE
58*cc02d7e2SAndroid Build Coastguard Worker      Copyright 2015, Google Inc.
59*cc02d7e2SAndroid Build Coastguard Worker      All rights reserved.
60*cc02d7e2SAndroid Build Coastguard Worker
61*cc02d7e2SAndroid Build Coastguard Worker      Redistribution and use in source and binary forms, with or without
62*cc02d7e2SAndroid Build Coastguard Worker      modification, are permitted provided that the following conditions are
63*cc02d7e2SAndroid Build Coastguard Worker      met:
64*cc02d7e2SAndroid Build Coastguard Worker
65*cc02d7e2SAndroid Build Coastguard Worker          * Redistributions of source code must retain the above copyright
66*cc02d7e2SAndroid Build Coastguard Worker      notice, this list of conditions and the following disclaimer.
67*cc02d7e2SAndroid Build Coastguard Worker          * Redistributions in binary form must reproduce the above
68*cc02d7e2SAndroid Build Coastguard Worker      copyright notice, this list of conditions and the following disclaimer
69*cc02d7e2SAndroid Build Coastguard Worker      in the documentation and/or other materials provided with the
70*cc02d7e2SAndroid Build Coastguard Worker      distribution.
71*cc02d7e2SAndroid Build Coastguard Worker          * Neither the name of Google Inc. nor the names of its
72*cc02d7e2SAndroid Build Coastguard Worker      contributors may be used to endorse or promote products derived from
73*cc02d7e2SAndroid Build Coastguard Worker      this software without specific prior written permission.
74*cc02d7e2SAndroid Build Coastguard Worker
75*cc02d7e2SAndroid Build Coastguard Worker      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
76*cc02d7e2SAndroid Build Coastguard Worker      "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
77*cc02d7e2SAndroid Build Coastguard Worker      LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
78*cc02d7e2SAndroid Build Coastguard Worker      A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
79*cc02d7e2SAndroid Build Coastguard Worker      OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
80*cc02d7e2SAndroid Build Coastguard Worker      SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
81*cc02d7e2SAndroid Build Coastguard Worker      LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
82*cc02d7e2SAndroid Build Coastguard Worker      DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
83*cc02d7e2SAndroid Build Coastguard Worker      THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
84*cc02d7e2SAndroid Build Coastguard Worker      (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
85*cc02d7e2SAndroid Build Coastguard Worker      OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
86*cc02d7e2SAndroid Build Coastguard Worker    LICENSE
87*cc02d7e2SAndroid Build Coastguard Worker  }
88*cc02d7e2SAndroid Build Coastguard Worker  s.authors  = { 'The gRPC contributors' => '[email protected]' }
89*cc02d7e2SAndroid Build Coastguard Worker
90*cc02d7e2SAndroid Build Coastguard Worker  repo = 'grpc/grpc'
91*cc02d7e2SAndroid Build Coastguard Worker  file = "grpc_objective_c_plugin-#{v}-macos-x86_64.zip"
92*cc02d7e2SAndroid Build Coastguard Worker  s.source = {
93*cc02d7e2SAndroid Build Coastguard Worker    :http => "https://github.com/#{repo}/releases/download/v#{v}/#{file}",
94*cc02d7e2SAndroid Build Coastguard Worker    # TODO(jcanizales): Add sha1 or sha256
95*cc02d7e2SAndroid Build Coastguard Worker    # :sha1 => '??',
96*cc02d7e2SAndroid Build Coastguard Worker  }
97*cc02d7e2SAndroid Build Coastguard Worker
98*cc02d7e2SAndroid Build Coastguard Worker  repo_root = '../..'
99*cc02d7e2SAndroid Build Coastguard Worker  bazel = "#{repo_root}/tools/bazel"
100*cc02d7e2SAndroid Build Coastguard Worker  plugin = 'grpc_objective_c_plugin'
101*cc02d7e2SAndroid Build Coastguard Worker
102*cc02d7e2SAndroid Build Coastguard Worker  s.preserve_paths = plugin
103*cc02d7e2SAndroid Build Coastguard Worker
104*cc02d7e2SAndroid Build Coastguard Worker  # Restrict the protoc version to the one supported by this plugin.
105*cc02d7e2SAndroid Build Coastguard Worker  s.dependency '!ProtoCompiler', '3.26.1'
106*cc02d7e2SAndroid Build Coastguard Worker
107*cc02d7e2SAndroid Build Coastguard Worker  s.ios.deployment_target = '10.0'
108*cc02d7e2SAndroid Build Coastguard Worker  s.osx.deployment_target = '10.12'
109*cc02d7e2SAndroid Build Coastguard Worker  s.tvos.deployment_target = '12.0'
110*cc02d7e2SAndroid Build Coastguard Worker  s.watchos.deployment_target = '6.0'
111*cc02d7e2SAndroid Build Coastguard Worker
112*cc02d7e2SAndroid Build Coastguard Worker  # Restrict the gRPC runtime version to the one supported by this plugin.
113*cc02d7e2SAndroid Build Coastguard Worker  s.dependency 'gRPC-ProtoRPC', v
114*cc02d7e2SAndroid Build Coastguard Worker
115*cc02d7e2SAndroid Build Coastguard Worker  # This is only for local development of the plugin: If the Podfile brings this pod from a local
116*cc02d7e2SAndroid Build Coastguard Worker  # directory using `:path`, CocoaPods won't download the zip file and so the plugin won't be
117*cc02d7e2SAndroid Build Coastguard Worker  # present in this pod's directory. We use that knowledge to check for the existence of the file
118*cc02d7e2SAndroid Build Coastguard Worker  # and, if absent, compile the plugin from the local sources.
119*cc02d7e2SAndroid Build Coastguard Worker  s.prepare_command = <<-CMD
120*cc02d7e2SAndroid Build Coastguard Worker    set -e
121*cc02d7e2SAndroid Build Coastguard Worker    if [ ! -f #{plugin} ]; then
122*cc02d7e2SAndroid Build Coastguard Worker      #{bazel} build //src/compiler:grpc_objective_c_plugin
123*cc02d7e2SAndroid Build Coastguard Worker    fi
124*cc02d7e2SAndroid Build Coastguard Worker  CMD
125*cc02d7e2SAndroid Build Coastguard Workerend
126