# gRPC Bazel BUILD file. # # Copyright 2019 gRPC authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. load("@build_bazel_rules_apple//apple:ios.bzl", "ios_application") load("@build_bazel_rules_apple//apple:tvos.bzl", "tvos_application") load("@build_bazel_rules_apple//apple:watchos.bzl", "watchos_application", "watchos_extension") load( "//src/objective-c:grpc_objc_internal_library.bzl", "grpc_objc_examples_library", "local_objc_grpc_library", "proto_library_objc_wrapper", ) licenses(["notice"]) package(default_visibility = ["//visibility:public"]) proto_library_objc_wrapper( name = "messages_proto", srcs = ["RemoteTestClient/messages.proto"], ) proto_library_objc_wrapper( name = "test_proto", srcs = ["RemoteTestClient/test.proto"], use_well_known_protos = True, deps = [":messages_proto"], ) # use objc_grpc_library in bazel:objc_grpc_library.bzl when developing outside the repo local_objc_grpc_library( name = "RemoteTest", srcs = ["RemoteTestClient/test.proto"], use_well_known_protos = True, deps = [ "//src/objective-c/examples:test_proto", ], ) # Proof that without this works without srcs local_objc_grpc_library( name = "test_objc", use_well_known_protos = True, deps = [ "//src/objective-c/examples:test_proto", ], ) grpc_objc_examples_library( name = "Sample-lib", srcs = glob(["Sample/Sample/**/*.m"]), hdrs = glob(["Sample/Sample/**/*.h"]), data = glob([ "Sample/Sample/Base.lproj/**", "Sample/Sample/Images.xcassets/**", ]), ) ios_application( name = "Sample", bundle_id = "io.grpc.Sample", families = [ "iphone", "ipad", ], infoplists = ["Sample/Sample/Info.plist"], minimum_os_version = "9.0", visibility = ["//visibility:public"], deps = ["Sample-lib"], ) grpc_objc_examples_library( name = "InterceptorSample-lib", srcs = glob(["InterceptorSample/InterceptorSample/**/*.m"]), hdrs = glob(["InterceptorSample/InterceptorSample/**/*.h"]), data = glob([ "InterceptorSample/InterceptorSample/Base.lproj/**", "InterceptorSample/InterceptorSample/Images.xcassets/**", ]), ) ios_application( name = "InterceptorSample", bundle_id = "io.grpc.InterceptorSample", families = [ "iphone", "ipad", ], infoplists = ["InterceptorSample/InterceptorSample/Info.plist"], minimum_os_version = "9.0", # Safe Area Layout Guide used deps = ["InterceptorSample-lib"], ) grpc_objc_examples_library( name = "tvOS-sample-lib", srcs = glob(["tvOS-sample/tvOS-sample/**/*.m"]), hdrs = glob(["tvOS-sample/tvOS-sample/**/*.h"]), data = glob([ "tvOS-sample/tvOS-sample/Base.lproj/**", "tvOS-sample/tvOS-sample/Images.xcassets/**", ]), ) # c-ares does not support tvOS CPU architecture with Bazel yet tvos_application( name = "tvOS-sample", bundle_id = "io.grpc.tvOS-sample", infoplists = ["tvOS-sample/tvOS-sample/Info.plist"], minimum_os_version = "10.0", deps = [":tvOS-sample-lib"], ) grpc_objc_examples_library( name = "watchOS-sample-iOS-lib", srcs = glob(["watchOS-sample/watchOS-sample/**/*.m"]), hdrs = glob(["watchOS-sample/watchOS-sample/**/*.h"]), data = glob([ "watchOS-sample/watchOS-sample/Base.lproj/**", "watchOS-sample/watchOS-sample/Images.xcassets/**", ]), ) grpc_objc_examples_library( name = "watchOS-sample-extension-lib", srcs = glob(["watchOS-sample/WatchKit-Extention/**/*.m"]), hdrs = glob(["watchOS-sample/WatchKit-Extension/**/*.h"]), sdk_frameworks = [ "WatchConnectivity", "WatchKit", ], ) ios_application( name = "watchOS-sample", bundle_id = "io.grpc.watchOS-sample", families = ["iphone"], infoplists = ["watchOS-sample/watchOS-sample/Info.plist"], minimum_os_version = "9.0", # Safe Area Layout Guide used watch_application = "watchOS-sample-watchApp", deps = [":watchOS-sample-iOS-lib"], ) # c-ares does not support watchOS CPU architecture with Bazel yet watchos_application( name = "watchOS-sample-watchApp", bundle_id = "io.grpc.watchOS-sample.watchkitapp", extension = ":watchOS-sample-extension", infoplists = ["watchOS-sample/WatchKit-App/Info.plist"], minimum_os_version = "4.0", storyboards = ["watchOS-sample/WatchKit-App/Base.lproj/Interface.storyboard"], ) watchos_extension( name = "watchOS-sample-extension", bundle_id = "io.grpc.watchOS-sample.watchkitapp.watchkitextension", infoplists = ["watchOS-sample/WatchKit-Extension/Info.plist"], minimum_os_version = "4.0", deps = [":watchOS-sample-extension-lib"], )