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