xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/examples/BUILD (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker# gRPC Bazel BUILD file.
2*cc02d7e2SAndroid Build Coastguard Worker#
3*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2019 gRPC authors.
4*cc02d7e2SAndroid Build Coastguard Worker#
5*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
6*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
7*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at
8*cc02d7e2SAndroid Build Coastguard Worker#
9*cc02d7e2SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
10*cc02d7e2SAndroid Build Coastguard Worker#
11*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
12*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
13*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
15*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License.
16*cc02d7e2SAndroid Build Coastguard Worker
17*cc02d7e2SAndroid Build Coastguard Workerload("@build_bazel_rules_apple//apple:ios.bzl", "ios_application")
18*cc02d7e2SAndroid Build Coastguard Workerload("@build_bazel_rules_apple//apple:tvos.bzl", "tvos_application")
19*cc02d7e2SAndroid Build Coastguard Workerload("@build_bazel_rules_apple//apple:watchos.bzl", "watchos_application", "watchos_extension")
20*cc02d7e2SAndroid Build Coastguard Workerload(
21*cc02d7e2SAndroid Build Coastguard Worker    "//src/objective-c:grpc_objc_internal_library.bzl",
22*cc02d7e2SAndroid Build Coastguard Worker    "grpc_objc_examples_library",
23*cc02d7e2SAndroid Build Coastguard Worker    "local_objc_grpc_library",
24*cc02d7e2SAndroid Build Coastguard Worker    "proto_library_objc_wrapper",
25*cc02d7e2SAndroid Build Coastguard Worker)
26*cc02d7e2SAndroid Build Coastguard Worker
27*cc02d7e2SAndroid Build Coastguard Workerlicenses(["notice"])
28*cc02d7e2SAndroid Build Coastguard Worker
29*cc02d7e2SAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"])
30*cc02d7e2SAndroid Build Coastguard Worker
31*cc02d7e2SAndroid Build Coastguard Workerproto_library_objc_wrapper(
32*cc02d7e2SAndroid Build Coastguard Worker    name = "messages_proto",
33*cc02d7e2SAndroid Build Coastguard Worker    srcs = ["RemoteTestClient/messages.proto"],
34*cc02d7e2SAndroid Build Coastguard Worker)
35*cc02d7e2SAndroid Build Coastguard Worker
36*cc02d7e2SAndroid Build Coastguard Workerproto_library_objc_wrapper(
37*cc02d7e2SAndroid Build Coastguard Worker    name = "test_proto",
38*cc02d7e2SAndroid Build Coastguard Worker    srcs = ["RemoteTestClient/test.proto"],
39*cc02d7e2SAndroid Build Coastguard Worker    use_well_known_protos = True,
40*cc02d7e2SAndroid Build Coastguard Worker    deps = [":messages_proto"],
41*cc02d7e2SAndroid Build Coastguard Worker)
42*cc02d7e2SAndroid Build Coastguard Worker
43*cc02d7e2SAndroid Build Coastguard Worker# use objc_grpc_library in bazel:objc_grpc_library.bzl when developing outside the repo
44*cc02d7e2SAndroid Build Coastguard Workerlocal_objc_grpc_library(
45*cc02d7e2SAndroid Build Coastguard Worker    name = "RemoteTest",
46*cc02d7e2SAndroid Build Coastguard Worker    srcs = ["RemoteTestClient/test.proto"],
47*cc02d7e2SAndroid Build Coastguard Worker    use_well_known_protos = True,
48*cc02d7e2SAndroid Build Coastguard Worker    deps = [
49*cc02d7e2SAndroid Build Coastguard Worker        "//src/objective-c/examples:test_proto",
50*cc02d7e2SAndroid Build Coastguard Worker    ],
51*cc02d7e2SAndroid Build Coastguard Worker)
52*cc02d7e2SAndroid Build Coastguard Worker
53*cc02d7e2SAndroid Build Coastguard Worker# Proof that without this works without srcs
54*cc02d7e2SAndroid Build Coastguard Workerlocal_objc_grpc_library(
55*cc02d7e2SAndroid Build Coastguard Worker    name = "test_objc",
56*cc02d7e2SAndroid Build Coastguard Worker    use_well_known_protos = True,
57*cc02d7e2SAndroid Build Coastguard Worker    deps = [
58*cc02d7e2SAndroid Build Coastguard Worker        "//src/objective-c/examples:test_proto",
59*cc02d7e2SAndroid Build Coastguard Worker    ],
60*cc02d7e2SAndroid Build Coastguard Worker)
61*cc02d7e2SAndroid Build Coastguard Worker
62*cc02d7e2SAndroid Build Coastguard Workergrpc_objc_examples_library(
63*cc02d7e2SAndroid Build Coastguard Worker    name = "Sample-lib",
64*cc02d7e2SAndroid Build Coastguard Worker    srcs = glob(["Sample/Sample/**/*.m"]),
65*cc02d7e2SAndroid Build Coastguard Worker    hdrs = glob(["Sample/Sample/**/*.h"]),
66*cc02d7e2SAndroid Build Coastguard Worker    data = glob([
67*cc02d7e2SAndroid Build Coastguard Worker        "Sample/Sample/Base.lproj/**",
68*cc02d7e2SAndroid Build Coastguard Worker        "Sample/Sample/Images.xcassets/**",
69*cc02d7e2SAndroid Build Coastguard Worker    ]),
70*cc02d7e2SAndroid Build Coastguard Worker)
71*cc02d7e2SAndroid Build Coastguard Worker
72*cc02d7e2SAndroid Build Coastguard Workerios_application(
73*cc02d7e2SAndroid Build Coastguard Worker    name = "Sample",
74*cc02d7e2SAndroid Build Coastguard Worker    bundle_id = "io.grpc.Sample",
75*cc02d7e2SAndroid Build Coastguard Worker    families = [
76*cc02d7e2SAndroid Build Coastguard Worker        "iphone",
77*cc02d7e2SAndroid Build Coastguard Worker        "ipad",
78*cc02d7e2SAndroid Build Coastguard Worker    ],
79*cc02d7e2SAndroid Build Coastguard Worker    infoplists = ["Sample/Sample/Info.plist"],
80*cc02d7e2SAndroid Build Coastguard Worker    minimum_os_version = "9.0",
81*cc02d7e2SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
82*cc02d7e2SAndroid Build Coastguard Worker    deps = ["Sample-lib"],
83*cc02d7e2SAndroid Build Coastguard Worker)
84*cc02d7e2SAndroid Build Coastguard Worker
85*cc02d7e2SAndroid Build Coastguard Workergrpc_objc_examples_library(
86*cc02d7e2SAndroid Build Coastguard Worker    name = "InterceptorSample-lib",
87*cc02d7e2SAndroid Build Coastguard Worker    srcs = glob(["InterceptorSample/InterceptorSample/**/*.m"]),
88*cc02d7e2SAndroid Build Coastguard Worker    hdrs = glob(["InterceptorSample/InterceptorSample/**/*.h"]),
89*cc02d7e2SAndroid Build Coastguard Worker    data = glob([
90*cc02d7e2SAndroid Build Coastguard Worker        "InterceptorSample/InterceptorSample/Base.lproj/**",
91*cc02d7e2SAndroid Build Coastguard Worker        "InterceptorSample/InterceptorSample/Images.xcassets/**",
92*cc02d7e2SAndroid Build Coastguard Worker    ]),
93*cc02d7e2SAndroid Build Coastguard Worker)
94*cc02d7e2SAndroid Build Coastguard Worker
95*cc02d7e2SAndroid Build Coastguard Workerios_application(
96*cc02d7e2SAndroid Build Coastguard Worker    name = "InterceptorSample",
97*cc02d7e2SAndroid Build Coastguard Worker    bundle_id = "io.grpc.InterceptorSample",
98*cc02d7e2SAndroid Build Coastguard Worker    families = [
99*cc02d7e2SAndroid Build Coastguard Worker        "iphone",
100*cc02d7e2SAndroid Build Coastguard Worker        "ipad",
101*cc02d7e2SAndroid Build Coastguard Worker    ],
102*cc02d7e2SAndroid Build Coastguard Worker    infoplists = ["InterceptorSample/InterceptorSample/Info.plist"],
103*cc02d7e2SAndroid Build Coastguard Worker    minimum_os_version = "9.0",  # Safe Area Layout Guide used
104*cc02d7e2SAndroid Build Coastguard Worker    deps = ["InterceptorSample-lib"],
105*cc02d7e2SAndroid Build Coastguard Worker)
106*cc02d7e2SAndroid Build Coastguard Worker
107*cc02d7e2SAndroid Build Coastguard Workergrpc_objc_examples_library(
108*cc02d7e2SAndroid Build Coastguard Worker    name = "tvOS-sample-lib",
109*cc02d7e2SAndroid Build Coastguard Worker    srcs = glob(["tvOS-sample/tvOS-sample/**/*.m"]),
110*cc02d7e2SAndroid Build Coastguard Worker    hdrs = glob(["tvOS-sample/tvOS-sample/**/*.h"]),
111*cc02d7e2SAndroid Build Coastguard Worker    data = glob([
112*cc02d7e2SAndroid Build Coastguard Worker        "tvOS-sample/tvOS-sample/Base.lproj/**",
113*cc02d7e2SAndroid Build Coastguard Worker        "tvOS-sample/tvOS-sample/Images.xcassets/**",
114*cc02d7e2SAndroid Build Coastguard Worker    ]),
115*cc02d7e2SAndroid Build Coastguard Worker)
116*cc02d7e2SAndroid Build Coastguard Worker
117*cc02d7e2SAndroid Build Coastguard Worker# c-ares does not support tvOS CPU architecture with Bazel yet
118*cc02d7e2SAndroid Build Coastguard Workertvos_application(
119*cc02d7e2SAndroid Build Coastguard Worker    name = "tvOS-sample",
120*cc02d7e2SAndroid Build Coastguard Worker    bundle_id = "io.grpc.tvOS-sample",
121*cc02d7e2SAndroid Build Coastguard Worker    infoplists = ["tvOS-sample/tvOS-sample/Info.plist"],
122*cc02d7e2SAndroid Build Coastguard Worker    minimum_os_version = "10.0",
123*cc02d7e2SAndroid Build Coastguard Worker    deps = [":tvOS-sample-lib"],
124*cc02d7e2SAndroid Build Coastguard Worker)
125*cc02d7e2SAndroid Build Coastguard Worker
126*cc02d7e2SAndroid Build Coastguard Workergrpc_objc_examples_library(
127*cc02d7e2SAndroid Build Coastguard Worker    name = "watchOS-sample-iOS-lib",
128*cc02d7e2SAndroid Build Coastguard Worker    srcs = glob(["watchOS-sample/watchOS-sample/**/*.m"]),
129*cc02d7e2SAndroid Build Coastguard Worker    hdrs = glob(["watchOS-sample/watchOS-sample/**/*.h"]),
130*cc02d7e2SAndroid Build Coastguard Worker    data = glob([
131*cc02d7e2SAndroid Build Coastguard Worker        "watchOS-sample/watchOS-sample/Base.lproj/**",
132*cc02d7e2SAndroid Build Coastguard Worker        "watchOS-sample/watchOS-sample/Images.xcassets/**",
133*cc02d7e2SAndroid Build Coastguard Worker    ]),
134*cc02d7e2SAndroid Build Coastguard Worker)
135*cc02d7e2SAndroid Build Coastguard Worker
136*cc02d7e2SAndroid Build Coastguard Workergrpc_objc_examples_library(
137*cc02d7e2SAndroid Build Coastguard Worker    name = "watchOS-sample-extension-lib",
138*cc02d7e2SAndroid Build Coastguard Worker    srcs = glob(["watchOS-sample/WatchKit-Extention/**/*.m"]),
139*cc02d7e2SAndroid Build Coastguard Worker    hdrs = glob(["watchOS-sample/WatchKit-Extension/**/*.h"]),
140*cc02d7e2SAndroid Build Coastguard Worker    sdk_frameworks = [
141*cc02d7e2SAndroid Build Coastguard Worker        "WatchConnectivity",
142*cc02d7e2SAndroid Build Coastguard Worker        "WatchKit",
143*cc02d7e2SAndroid Build Coastguard Worker    ],
144*cc02d7e2SAndroid Build Coastguard Worker)
145*cc02d7e2SAndroid Build Coastguard Worker
146*cc02d7e2SAndroid Build Coastguard Workerios_application(
147*cc02d7e2SAndroid Build Coastguard Worker    name = "watchOS-sample",
148*cc02d7e2SAndroid Build Coastguard Worker    bundle_id = "io.grpc.watchOS-sample",
149*cc02d7e2SAndroid Build Coastguard Worker    families = ["iphone"],
150*cc02d7e2SAndroid Build Coastguard Worker    infoplists = ["watchOS-sample/watchOS-sample/Info.plist"],
151*cc02d7e2SAndroid Build Coastguard Worker    minimum_os_version = "9.0",  # Safe Area Layout Guide used
152*cc02d7e2SAndroid Build Coastguard Worker    watch_application = "watchOS-sample-watchApp",
153*cc02d7e2SAndroid Build Coastguard Worker    deps = [":watchOS-sample-iOS-lib"],
154*cc02d7e2SAndroid Build Coastguard Worker)
155*cc02d7e2SAndroid Build Coastguard Worker
156*cc02d7e2SAndroid Build Coastguard Worker# c-ares does not support watchOS CPU architecture with Bazel yet
157*cc02d7e2SAndroid Build Coastguard Workerwatchos_application(
158*cc02d7e2SAndroid Build Coastguard Worker    name = "watchOS-sample-watchApp",
159*cc02d7e2SAndroid Build Coastguard Worker    bundle_id = "io.grpc.watchOS-sample.watchkitapp",
160*cc02d7e2SAndroid Build Coastguard Worker    extension = ":watchOS-sample-extension",
161*cc02d7e2SAndroid Build Coastguard Worker    infoplists = ["watchOS-sample/WatchKit-App/Info.plist"],
162*cc02d7e2SAndroid Build Coastguard Worker    minimum_os_version = "4.0",
163*cc02d7e2SAndroid Build Coastguard Worker    storyboards = ["watchOS-sample/WatchKit-App/Base.lproj/Interface.storyboard"],
164*cc02d7e2SAndroid Build Coastguard Worker)
165*cc02d7e2SAndroid Build Coastguard Worker
166*cc02d7e2SAndroid Build Coastguard Workerwatchos_extension(
167*cc02d7e2SAndroid Build Coastguard Worker    name = "watchOS-sample-extension",
168*cc02d7e2SAndroid Build Coastguard Worker    bundle_id = "io.grpc.watchOS-sample.watchkitapp.watchkitextension",
169*cc02d7e2SAndroid Build Coastguard Worker    infoplists = ["watchOS-sample/WatchKit-Extension/Info.plist"],
170*cc02d7e2SAndroid Build Coastguard Worker    minimum_os_version = "4.0",
171*cc02d7e2SAndroid Build Coastguard Worker    deps = [":watchOS-sample-extension-lib"],
172*cc02d7e2SAndroid Build Coastguard Worker)
173