blob: 960e4fa231784cb4e263a815d2c91e309a980c3b [file] [log] [blame]
# gRPC Bazel BUILD file.
#
# Copyright 2016 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("@rules_license//rules:license.bzl", "license")
load("//tools/distributions:distribution_rules.bzl", "distrib_cc_binary", "distrib_jar_filegroup")
package(
default_applicable_licenses = [":license"],
default_visibility = ["//visibility:public"],
)
licenses(["notice"]) # Apache v2
license(
name = "license",
package_name = "grpc-java",
license_kinds = [
"@rules_license//licenses/spdx:Apache-2.0",
],
license_text = "LICENSE",
package_version = "1.47",
)
filegroup(
name = "srcs",
srcs = glob(["**"]),
)
# @grpc-java specifies overrides for these maven coordinates, so these are not actually
# jars, but built from source from the @grpc-java repo.
GRPC_JARS = [
"@maven//:io_grpc_grpc_api",
"@maven//:io_grpc_grpc_auth",
"@maven//:io_grpc_grpc_context",
"@maven//:io_grpc_grpc_core",
"@maven//:io_grpc_grpc_inprocess",
"@maven//:io_grpc_grpc_netty",
"@maven//:io_grpc_grpc_protobuf",
"@maven//:io_grpc_grpc_protobuf_lite",
"@maven//:io_grpc_grpc_stub",
]
# TODO: wyv@ - rename this to just `grpc-java`.
java_library(
name = "grpc-jar",
exports = GRPC_JARS,
)
filegroup(
name = "grpc_jars",
srcs = GRPC_JARS,
)
distrib_cc_binary(
name = "grpc-java-plugin",
srcs = [
"compiler/src/java_plugin/cpp/java_generator.cpp",
"compiler/src/java_plugin/cpp/java_generator.h",
"compiler/src/java_plugin/cpp/java_plugin.cpp",
],
copts = ["-w"],
enable_distributions = ["debian"],
deps = ["//third_party/protobuf:protoc_lib"],
)