374 lines
10 KiB
Python
374 lines
10 KiB
Python
load("@rules_proto//proto:defs.bzl", "proto_library")
|
|
|
|
# This is an API workspace, having public visibility by default makes perfect sense.
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
##############################################################################
|
|
# Common
|
|
##############################################################################
|
|
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
|
|
|
|
proto_library(
|
|
name = "pubsub_proto",
|
|
srcs = [
|
|
"pubsub.proto",
|
|
"schema.proto",
|
|
],
|
|
deps = [
|
|
"//google/api:annotations_proto",
|
|
"//google/api:client_proto",
|
|
"//google/api:field_behavior_proto",
|
|
"//google/api:resource_proto",
|
|
"@com_google_protobuf//:duration_proto",
|
|
"@com_google_protobuf//:empty_proto",
|
|
"@com_google_protobuf//:field_mask_proto",
|
|
"@com_google_protobuf//:timestamp_proto",
|
|
],
|
|
)
|
|
|
|
proto_library_with_info(
|
|
name = "pubsub_proto_with_info",
|
|
deps = [
|
|
":pubsub_proto",
|
|
"//google/cloud:common_resources_proto",
|
|
"//google/iam/v1:iam_policy_proto",
|
|
"//google/iam/v1:policy_proto",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# Java
|
|
# DO NOT OVERRIDE with autogenerated rules if NOT migrated to Java Microgen
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"java_grpc_library",
|
|
"java_proto_library",
|
|
java_gapic_assembly_gradle_pkg = "java_gapic_assembly_gradle_pkg_legacy",
|
|
java_gapic_library = "java_gapic_library_legacy",
|
|
java_gapic_test = "java_gapic_test_legacy",
|
|
java_resource_name_proto_library = "java_resource_name_proto_library_legacy",
|
|
)
|
|
|
|
java_proto_library(
|
|
name = "pubsub_java_proto",
|
|
deps = [":pubsub_proto"],
|
|
)
|
|
|
|
java_grpc_library(
|
|
name = "pubsub_java_grpc",
|
|
srcs = [":pubsub_proto"],
|
|
deps = [":pubsub_java_proto"],
|
|
)
|
|
|
|
java_resource_name_proto_library(
|
|
name = "pubsub_java_gapic_resource_name",
|
|
gapic_yaml = "pubsub_gapic.yaml",
|
|
deps = [
|
|
":pubsub_proto",
|
|
"//google/cloud:common_resources_proto",
|
|
],
|
|
)
|
|
|
|
java_gapic_library(
|
|
name = "pubsub_java_gapic",
|
|
src = ":pubsub_proto_with_info",
|
|
gapic_yaml = "pubsub_gapic.yaml",
|
|
gen_resource_name = False,
|
|
grpc_service_config = "pubsub_grpc_service_config.json",
|
|
service_yaml = ":pubsub_v1.yaml",
|
|
test_deps = [
|
|
":pubsub_java_grpc",
|
|
"//google/iam/v1:iam_java_grpc",
|
|
],
|
|
deps = [
|
|
":pubsub_java_gapic_resource_name",
|
|
":pubsub_java_proto",
|
|
"//google/iam/v1:iam_java_proto",
|
|
],
|
|
)
|
|
|
|
java_gapic_test(
|
|
name = "pubsub_java_gapic_test_suite",
|
|
test_classes = [
|
|
"com.google.cloud.pubsub.v1.SubscriptionAdminClientTest",
|
|
"com.google.cloud.pubsub.v1.TopicAdminClientTest",
|
|
],
|
|
runtime_deps = [":pubsub_java_gapic_test"],
|
|
)
|
|
|
|
# Open Source Packages
|
|
java_gapic_assembly_gradle_pkg(
|
|
name = "google-cloud-pubsub-v1-java",
|
|
deps = [
|
|
":pubsub_java_gapic",
|
|
":pubsub_java_gapic_resource_name",
|
|
":pubsub_java_grpc",
|
|
":pubsub_java_proto",
|
|
":pubsub_proto",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# Python
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"py_gapic_assembly_pkg",
|
|
"py_gapic_library",
|
|
)
|
|
|
|
py_gapic_library(
|
|
name = "pubsub_py_gapic",
|
|
srcs = [":pubsub_proto"],
|
|
grpc_service_config = "pubsub_grpc_service_config.json",
|
|
opt_args = ["add-iam-methods"],
|
|
)
|
|
|
|
py_gapic_assembly_pkg(
|
|
name = "pubsub-v1-py",
|
|
deps = [
|
|
":pubsub_py_gapic",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# Go
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"go_gapic_assembly_pkg",
|
|
"go_gapic_library",
|
|
"go_proto_library",
|
|
"go_test",
|
|
)
|
|
|
|
go_proto_library(
|
|
name = "pubsub_go_proto",
|
|
compilers = ["@io_bazel_rules_go//proto:go_grpc"],
|
|
importpath = "google.golang.org/genproto/googleapis/pubsub/v1",
|
|
protos = [":pubsub_proto"],
|
|
deps = ["//google/api:annotations_go_proto"],
|
|
)
|
|
|
|
go_gapic_library(
|
|
name = "pubsub_go_gapic",
|
|
srcs = [":pubsub_proto_with_info"],
|
|
grpc_service_config = "pubsub_grpc_service_config.json",
|
|
importpath = "cloud.google.com/go/pubsub/apiv1;pubsub",
|
|
service_yaml = ":pubsub_v1.yaml",
|
|
deps = [
|
|
":pubsub_go_proto",
|
|
"//google/iam/v1:iam_go_proto",
|
|
],
|
|
)
|
|
|
|
go_test(
|
|
name = "pubsub_go_gapic_test",
|
|
srcs = [":pubsub_go_gapic_srcjar_test"],
|
|
embed = [":pubsub_go_gapic"],
|
|
importpath = "cloud.google.com/go/pubsub/apiv1",
|
|
deps = ["//google/iam/v1:iam_go_proto"],
|
|
)
|
|
|
|
# Open Source Packages
|
|
go_gapic_assembly_pkg(
|
|
name = "gapi-cloud-pubsub-v1-go",
|
|
deps = [
|
|
":pubsub_go_gapic",
|
|
":pubsub_go_gapic_srcjar-test.srcjar",
|
|
":pubsub_go_proto",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# PHP
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"php_gapic_assembly_pkg",
|
|
"php_gapic_library",
|
|
"php_grpc_library",
|
|
"php_proto_library",
|
|
)
|
|
|
|
php_proto_library(
|
|
name = "pubsub_php_proto",
|
|
deps = [":pubsub_proto"],
|
|
)
|
|
|
|
php_grpc_library(
|
|
name = "pubsub_php_grpc",
|
|
srcs = [":pubsub_proto"],
|
|
deps = [":pubsub_php_proto"],
|
|
)
|
|
|
|
php_gapic_library(
|
|
name = "pubsub_php_gapic",
|
|
src = ":pubsub_proto_with_info",
|
|
gapic_yaml = "pubsub_gapic.yaml",
|
|
grpc_service_config = "pubsub_grpc_service_config.json",
|
|
service_yaml = ":pubsub_v1.yaml",
|
|
deps = [
|
|
":pubsub_php_grpc",
|
|
":pubsub_php_proto",
|
|
],
|
|
)
|
|
|
|
# Open Source Packages
|
|
php_gapic_assembly_pkg(
|
|
name = "google-cloud-pubsub-v1-php",
|
|
deps = [
|
|
":pubsub_php_gapic",
|
|
":pubsub_php_grpc",
|
|
":pubsub_php_proto",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# Node.js
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"nodejs_gapic_assembly_pkg",
|
|
"nodejs_gapic_library",
|
|
)
|
|
|
|
nodejs_gapic_library(
|
|
name = "pubsub_nodejs_gapic",
|
|
package_name = "@google-cloud/pubsub",
|
|
src = ":pubsub_proto_with_info",
|
|
bundle_config = "pubsub_gapic.yaml",
|
|
extra_protoc_parameters = ["template=typescript_gapic"],
|
|
grpc_service_config = "pubsub_grpc_service_config.json",
|
|
iam_service = "true",
|
|
main_service = "pubsub",
|
|
service_yaml = ":pubsub_v1.yaml",
|
|
deps = [],
|
|
)
|
|
|
|
nodejs_gapic_assembly_pkg(
|
|
name = "pubsub-v1-nodejs",
|
|
deps = [
|
|
":pubsub_nodejs_gapic",
|
|
":pubsub_proto",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# Ruby
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"ruby_gapic_assembly_pkg",
|
|
"ruby_cloud_gapic_library",
|
|
"ruby_grpc_library",
|
|
"ruby_proto_library",
|
|
)
|
|
|
|
ruby_proto_library(
|
|
name = "pubsub_ruby_proto",
|
|
deps = [":pubsub_proto"],
|
|
)
|
|
|
|
ruby_grpc_library(
|
|
name = "pubsub_ruby_grpc",
|
|
srcs = [":pubsub_proto"],
|
|
deps = [":pubsub_ruby_proto"],
|
|
)
|
|
|
|
ruby_cloud_gapic_library(
|
|
name = "pubsub_ruby_gapic",
|
|
srcs = [":pubsub_proto_with_info",],
|
|
extra_protoc_parameters = [
|
|
"ruby-cloud-gem-name=google-cloud-pubsub-v1",
|
|
"ruby-cloud-title=Cloud Pub/Sub V1",
|
|
"ruby-cloud-description=Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications.",
|
|
"ruby-cloud-env-prefix=PUBSUB",
|
|
"ruby-cloud-common-services=google.iam.v1.IAMPolicy=google.pubsub.v1.Publisher",
|
|
"ruby-cloud-path-override=pub_sub=pubsub",
|
|
"ruby-cloud-namespace-override=Pubsub=PubSub",
|
|
"ruby-cloud-product-url=https://cloud.google.com/pubsub",
|
|
"ruby-cloud-api-id=pubsub.googleapis.com",
|
|
"ruby-cloud-api-shortname=pubsub",
|
|
],
|
|
grpc_service_config = "pubsub_grpc_service_config.json",
|
|
deps = [
|
|
":pubsub_ruby_grpc",
|
|
":pubsub_ruby_proto",
|
|
],
|
|
)
|
|
|
|
# Open Source Packages
|
|
ruby_gapic_assembly_pkg(
|
|
name = "google-cloud-pubsub-v1-ruby",
|
|
deps = [
|
|
":pubsub_ruby_gapic",
|
|
":pubsub_ruby_grpc",
|
|
":pubsub_ruby_proto",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# C#
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"csharp_gapic_assembly_pkg",
|
|
"csharp_gapic_library",
|
|
"csharp_grpc_library",
|
|
"csharp_proto_library",
|
|
)
|
|
|
|
csharp_proto_library(
|
|
name = "pubsub_csharp_proto",
|
|
deps = [":pubsub_proto"],
|
|
)
|
|
|
|
csharp_grpc_library(
|
|
name = "pubsub_csharp_grpc",
|
|
srcs = [":pubsub_proto"],
|
|
deps = [":pubsub_csharp_proto"],
|
|
)
|
|
|
|
csharp_gapic_library(
|
|
name = "pubsub_csharp_gapic",
|
|
srcs = [":pubsub_proto_with_info"],
|
|
grpc_service_config = "pubsub_grpc_service_config.json",
|
|
deps = [
|
|
":pubsub_csharp_grpc",
|
|
":pubsub_csharp_proto",
|
|
],
|
|
)
|
|
|
|
# Open Source Packages
|
|
csharp_gapic_assembly_pkg(
|
|
name = "google-cloud-pubsub-v1-csharp",
|
|
deps = [
|
|
":pubsub_csharp_gapic",
|
|
":pubsub_csharp_grpc",
|
|
":pubsub_csharp_proto",
|
|
],
|
|
)
|
|
|
|
##############################################################################
|
|
# C++
|
|
##############################################################################
|
|
load(
|
|
"@com_google_googleapis_imports//:imports.bzl",
|
|
"cc_grpc_library",
|
|
"cc_proto_library",
|
|
)
|
|
|
|
cc_proto_library(
|
|
name = "pubsub_cc_proto",
|
|
deps = [":pubsub_proto"],
|
|
)
|
|
|
|
cc_grpc_library(
|
|
name = "pubsub_cc_grpc",
|
|
srcs = [":pubsub_proto"],
|
|
grpc_only = True,
|
|
deps = [":pubsub_cc_proto"],
|
|
)
|