1load("@rules_proto//proto:defs.bzl", "proto_library") 2 3# This is an API workspace, having public visibility by default makes perfect sense. 4package(default_visibility = ["//visibility:public"]) 5 6############################################################################## 7# Common 8############################################################################## 9load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") 10 11proto_library( 12 name = "pubsub_proto", 13 srcs = [ 14 "pubsub.proto", 15 "schema.proto", 16 ], 17 deps = [ 18 "//google/api:annotations_proto", 19 "//google/api:client_proto", 20 "//google/api:field_behavior_proto", 21 "//google/api:resource_proto", 22 "@com_google_protobuf//:duration_proto", 23 "@com_google_protobuf//:empty_proto", 24 "@com_google_protobuf//:field_mask_proto", 25 "@com_google_protobuf//:timestamp_proto", 26 ], 27) 28 29proto_library_with_info( 30 name = "pubsub_proto_with_info", 31 deps = [ 32 ":pubsub_proto", 33 "//google/cloud:common_resources_proto", 34 "//google/iam/v1:iam_policy_proto", 35 "//google/iam/v1:policy_proto", 36 ], 37) 38 39############################################################################## 40# Java 41############################################################################## 42load( 43 "@com_google_googleapis_imports//:imports.bzl", 44 "java_gapic_assembly_gradle_pkg", 45 "java_gapic_library", 46 "java_gapic_test", 47 "java_grpc_library", 48 "java_proto_library", 49) 50 51java_proto_library( 52 name = "pubsub_java_proto", 53 deps = [":pubsub_proto"], 54) 55 56java_grpc_library( 57 name = "pubsub_java_grpc", 58 srcs = [":pubsub_proto"], 59 deps = [":pubsub_java_proto"], 60) 61 62java_gapic_library( 63 name = "pubsub_java_gapic", 64 srcs = [":pubsub_proto_with_info"], 65 gapic_yaml = "pubsub_gapic.yaml", 66 grpc_service_config = "pubsub_grpc_service_config.json", 67 rest_numeric_enums = True, 68 service_yaml = ":pubsub_v1.yaml", 69 test_deps = [ 70 ":pubsub_java_grpc", 71 "//google/iam/v1:iam_java_grpc", 72 ], 73 transport = "grpc+rest", 74 deps = [ 75 ":pubsub_java_proto", 76 "//google/iam/v1:iam_java_proto", 77 ], 78) 79 80java_gapic_test( 81 name = "pubsub_java_gapic_test_suite", 82 test_classes = [ 83 "com.google.cloud.pubsub.v1.SubscriptionAdminClientHttpJsonTest", 84 "com.google.cloud.pubsub.v1.SubscriptionAdminClientTest", 85 "com.google.cloud.pubsub.v1.TopicAdminClientHttpJsonTest", 86 "com.google.cloud.pubsub.v1.TopicAdminClientTest", 87 ], 88 runtime_deps = [":pubsub_java_gapic_test"], 89) 90 91# Open Source Packages 92java_gapic_assembly_gradle_pkg( 93 name = "google-cloud-pubsub-v1-java", 94 include_samples = True, 95 transport = "grpc+rest", 96 deps = [ 97 ":pubsub_java_gapic", 98 ":pubsub_java_grpc", 99 ":pubsub_java_proto", 100 ":pubsub_proto", 101 ], 102) 103 104############################################################################## 105# Python 106############################################################################## 107load( 108 "@com_google_googleapis_imports//:imports.bzl", 109 "py_gapic_assembly_pkg", 110 "py_gapic_library", 111 "py_test", 112) 113 114py_gapic_library( 115 name = "pubsub_py_gapic", 116 srcs = [":pubsub_proto"], 117 grpc_service_config = "pubsub_grpc_service_config.json", 118 opt_args = [ 119 "warehouse-package-name=google-cloud-pubsub", 120 "add-iam-methods", 121 ], 122 rest_numeric_enums = True, 123 service_yaml = ":pubsub_v1.yaml", 124 transport = "grpc+rest", 125 deps = [ 126 "//google/iam/v1:iam_policy_py_proto", 127 ], 128) 129 130py_test( 131 name = "pubsub_py_gapic_test", 132 srcs = [ 133 "pubsub_py_gapic_pytest.py", 134 "pubsub_py_gapic_test.py", 135 ], 136 legacy_create_init = False, 137 deps = [":pubsub_py_gapic"], 138) 139 140py_gapic_assembly_pkg( 141 name = "pubsub-v1-py", 142 deps = [ 143 ":pubsub_py_gapic", 144 ], 145) 146 147############################################################################## 148# Go 149############################################################################## 150load( 151 "@com_google_googleapis_imports//:imports.bzl", 152 "go_gapic_assembly_pkg", 153 "go_gapic_library", 154 "go_proto_library", 155) 156 157go_proto_library( 158 name = "pubsub_go_proto", 159 compilers = ["@io_bazel_rules_go//proto:go_grpc"], 160 importpath = "cloud.google.com/go/pubsub/apiv1/pubsubpb", 161 protos = [":pubsub_proto"], 162 deps = ["//google/api:annotations_go_proto"], 163) 164 165go_gapic_library( 166 name = "pubsub_go_gapic", 167 srcs = [":pubsub_proto_with_info"], 168 grpc_service_config = "pubsub_grpc_service_config.json", 169 importpath = "cloud.google.com/go/pubsub/apiv1;pubsub", 170 release_level = "ga", 171 rest_numeric_enums = True, 172 service_yaml = ":pubsub_v1.yaml", 173 transport = "grpc+rest", 174 deps = [ 175 ":pubsub_go_proto", 176 "//google/iam/v1:iam_go_proto", 177 ], 178) 179 180# Open Source Packages 181go_gapic_assembly_pkg( 182 name = "gapi-cloud-pubsub-v1-go", 183 deps = [ 184 ":pubsub_go_gapic", 185 ":pubsub_go_gapic_srcjar-snippets.srcjar", 186 ":pubsub_go_gapic_srcjar-test.srcjar", 187 ":pubsub_go_proto", 188 ], 189) 190 191############################################################################## 192# PHP 193############################################################################## 194load( 195 "@com_google_googleapis_imports//:imports.bzl", 196 "php_gapic_assembly_pkg", 197 "php_gapic_library", 198 "php_proto_library", 199) 200 201php_proto_library( 202 name = "pubsub_php_proto", 203 deps = [":pubsub_proto"], 204) 205 206php_gapic_library( 207 name = "pubsub_php_gapic", 208 srcs = [":pubsub_proto_with_info"], 209 gapic_yaml = "pubsub_gapic.yaml", 210 grpc_service_config = "pubsub_grpc_service_config.json", 211 migration_mode = "MIGRATING", 212 rest_numeric_enums = True, 213 service_yaml = ":pubsub_v1.yaml", 214 transport = "grpc+rest", 215 deps = [":pubsub_php_proto"], 216) 217 218# Open Source Packages 219php_gapic_assembly_pkg( 220 name = "google-cloud-pubsub-v1-php", 221 deps = [ 222 ":pubsub_php_gapic", 223 ":pubsub_php_proto", 224 ], 225) 226 227############################################################################## 228# Node.js 229############################################################################## 230load( 231 "@com_google_googleapis_imports//:imports.bzl", 232 "nodejs_gapic_assembly_pkg", 233 "nodejs_gapic_library", 234) 235 236nodejs_gapic_library( 237 name = "pubsub_nodejs_gapic", 238 package_name = "@google-cloud/pubsub", 239 src = ":pubsub_proto_with_info", 240 bundle_config = "pubsub_gapic.yaml", 241 extra_protoc_parameters = ["template=typescript_gapic"], 242 grpc_service_config = "pubsub_grpc_service_config.json", 243 handwritten_layer = True, 244 main_service = "pubsub", 245 rest_numeric_enums = True, 246 service_yaml = ":pubsub_v1.yaml", 247 transport = "grpc+rest", 248 deps = [], 249) 250 251nodejs_gapic_assembly_pkg( 252 name = "pubsub-v1-nodejs", 253 deps = [ 254 ":pubsub_nodejs_gapic", 255 ":pubsub_proto", 256 ], 257) 258 259############################################################################## 260# Ruby 261############################################################################## 262load( 263 "@com_google_googleapis_imports//:imports.bzl", 264 "ruby_cloud_gapic_library", 265 "ruby_gapic_assembly_pkg", 266 "ruby_grpc_library", 267 "ruby_proto_library", 268) 269 270ruby_proto_library( 271 name = "pubsub_ruby_proto", 272 deps = [":pubsub_proto"], 273) 274 275ruby_grpc_library( 276 name = "pubsub_ruby_grpc", 277 srcs = [":pubsub_proto"], 278 deps = [":pubsub_ruby_proto"], 279) 280 281ruby_cloud_gapic_library( 282 name = "pubsub_ruby_gapic", 283 srcs = [":pubsub_proto_with_info"], 284 extra_protoc_parameters = [ 285 "ruby-cloud-gem-name=google-cloud-pubsub-v1", 286 "ruby-cloud-env-prefix=PUBSUB", 287 "ruby-cloud-path-override=pub_sub=pubsub", 288 "ruby-cloud-namespace-override=Pubsub=PubSub", 289 "ruby-cloud-product-url=https://cloud.google.com/pubsub", 290 "ruby-cloud-api-id=pubsub.googleapis.com", 291 "ruby-cloud-api-shortname=pubsub", 292 ], 293 grpc_service_config = "pubsub_grpc_service_config.json", 294 rest_numeric_enums = True, 295 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.", 296 ruby_cloud_title = "Cloud Pub/Sub V1", 297 service_yaml = ":pubsub_v1.yaml", 298 deps = [ 299 ":pubsub_ruby_grpc", 300 ":pubsub_ruby_proto", 301 ], 302) 303 304# Open Source Packages 305ruby_gapic_assembly_pkg( 306 name = "google-cloud-pubsub-v1-ruby", 307 deps = [ 308 ":pubsub_ruby_gapic", 309 ":pubsub_ruby_grpc", 310 ":pubsub_ruby_proto", 311 ], 312) 313 314############################################################################## 315# C# 316############################################################################## 317load( 318 "@com_google_googleapis_imports//:imports.bzl", 319 "csharp_gapic_assembly_pkg", 320 "csharp_gapic_library", 321 "csharp_grpc_library", 322 "csharp_proto_library", 323) 324 325csharp_proto_library( 326 name = "pubsub_csharp_proto", 327 deps = [":pubsub_proto"], 328) 329 330csharp_grpc_library( 331 name = "pubsub_csharp_grpc", 332 srcs = [":pubsub_proto"], 333 deps = [":pubsub_csharp_proto"], 334) 335 336csharp_gapic_library( 337 name = "pubsub_csharp_gapic", 338 srcs = [":pubsub_proto_with_info"], 339 common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", 340 grpc_service_config = "pubsub_grpc_service_config.json", 341 rest_numeric_enums = True, 342 service_yaml = ":pubsub_v1.yaml", 343 deps = [ 344 ":pubsub_csharp_grpc", 345 ":pubsub_csharp_proto", 346 ], 347) 348 349# Open Source Packages 350csharp_gapic_assembly_pkg( 351 name = "google-cloud-pubsub-v1-csharp", 352 deps = [ 353 ":pubsub_csharp_gapic", 354 ":pubsub_csharp_grpc", 355 ":pubsub_csharp_proto", 356 ], 357) 358 359############################################################################## 360# C++ 361############################################################################## 362load( 363 "@com_google_googleapis_imports//:imports.bzl", 364 "cc_grpc_library", 365 "cc_proto_library", 366) 367 368cc_proto_library( 369 name = "pubsub_cc_proto", 370 deps = [":pubsub_proto"], 371) 372 373cc_grpc_library( 374 name = "pubsub_cc_grpc", 375 srcs = [":pubsub_proto"], 376 grpc_only = True, 377 deps = [":pubsub_cc_proto"], 378) 379