diff --git a/WORKSPACE b/WORKSPACE index e6b4b43105..ba73e58f03 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -24,8 +24,8 @@ switched_rules_by_language( # section http_archive( name = "com_google_api_codegen", - strip_prefix = "gapic-generator-90cbd714fcb0e969131ea16cc3f14073024254aa", - urls = ["https://github.com/googleapis/gapic-generator/archive/90cbd714fcb0e969131ea16cc3f14073024254aa.zip"], + strip_prefix = "gapic-generator-765b0f61200aab6ca2fedf5b3e55232756b80ae2", + urls = ["https://github.com/googleapis/gapic-generator/archive/765b0f61200aab6ca2fedf5b3e55232756b80ae2.zip"], ) ############################################################################## diff --git a/google/cloud/dialogflow/v2/BUILD.bazel b/google/cloud/dialogflow/v2/BUILD.bazel index 58bddd12a2..a29009f6f3 100644 --- a/google/cloud/dialogflow/v2/BUILD.bazel +++ b/google/cloud/dialogflow/v2/BUILD.bazel @@ -1,123 +1,326 @@ -# This file was automatically generated. # 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 = "agent_proto", - srcs = ["agent.proto"], + name = "dialogflow_proto", + srcs = [ + "agent.proto", + "audio_config.proto", + "context.proto", + "entity_type.proto", + "intent.proto", + "session.proto", + "session_entity_type.proto", + "webhook.proto", + ], deps = [ "//google/api:annotations_proto", "//google/api:client_proto", + "//google/api:resource_proto", "//google/longrunning:operations_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - ], -) - -proto_library( - name = "audio_config_proto", - srcs = ["audio_config.proto"], - deps = [ - "@com_google_protobuf//:duration_proto", - ], -) - -proto_library( - name = "context_proto", - srcs = ["context.proto"], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - "@com_google_protobuf//:struct_proto", - ], -) - -proto_library( - name = "entity_type_proto", - srcs = ["entity_type.proto"], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/longrunning:operations_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - ], -) - -proto_library( - name = "intent_proto", - srcs = ["intent.proto"], - deps = [ - ":audio_config_proto", - ":context_proto", - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/longrunning:operations_proto", - "@com_google_protobuf//:duration_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - "@com_google_protobuf//:struct_proto", - ], -) - -proto_library( - name = "session_proto", - srcs = ["session.proto"], - deps = [ - ":audio_config_proto", - ":context_proto", - ":intent_proto", - ":session_entity_type_proto", - "//google/api:annotations_proto", - "//google/api:client_proto", "//google/rpc:status_proto", "//google/type:latlng_proto", "@com_google_protobuf//:duration_proto", - "@com_google_protobuf//:struct_proto", - ], -) - -proto_library( - name = "session_entity_type_proto", - srcs = ["session_entity_type.proto"], - deps = [ - ":entity_type_proto", - "//google/api:annotations_proto", - "//google/api:client_proto", "@com_google_protobuf//:empty_proto", "@com_google_protobuf//:field_mask_proto", - ], -) - -proto_library( - name = "webhook_proto", - srcs = ["webhook.proto"], - deps = [ - ":context_proto", - ":intent_proto", - ":session_entity_type_proto", - ":session_proto", "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", ], ) proto_library_with_info( name = "dialogflow_proto_with_info", + deps = [":dialogflow_proto"], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_gapic_library", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", + "java_resource_name_proto_library", + "java_test", +) + +_JAVA_GRPC_DEPS = [ + "@com_google_api_grpc_proto_google_common_protos//jar", +] + +java_proto_library( + name = "dialogflow_java_proto", + deps = [":dialogflow_proto"], +) + +java_grpc_library( + name = "dialogflow_java_grpc", + srcs = [":dialogflow_proto"], + deps = [":dialogflow_java_proto"] + _JAVA_GRPC_DEPS, +) + +java_resource_name_proto_library( + name = "dialogflow_resource_name_java_proto", + gapic_yaml = "dialogflow_gapic.yaml", + deps = [":dialogflow_proto"], +) + +java_gapic_library( + name = "dialogflow_java_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2.yaml", + test_deps = [":dialogflow_java_grpc"], deps = [ - ":agent_proto", - ":audio_config_proto", - ":context_proto", - ":entity_type_proto", - ":intent_proto", - ":session_proto", - ":session_entity_type_proto", - ":webhook_proto", + ":dialogflow_java_proto", + ":dialogflow_resource_name_java_proto", + ] + _JAVA_GRPC_DEPS, +) + +[java_test( + name = test_name, + test_class = test_name, + runtime_deps = [ + ":dialogflow_java_gapic_test", + ], +) for test_name in [ + "com.google.cloud.dialogflow.v2.AgentsClientTest", + "com.google.cloud.dialogflow.v2.ContextsClientTest", + "com.google.cloud.dialogflow.v2.EntityTypesClientTest", + "com.google.cloud.dialogflow.v2.IntentsClientTest", + "com.google.cloud.dialogflow.v2.SessionEntityTypesClientTest", + "com.google.cloud.dialogflow.v2.SessionsClientTest", +]] + +# Opensource Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-dialogflow-v2-java", + client_deps = [":dialogflow_java_gapic"], + client_group = "com.google.cloud", + client_test_deps = [":dialogflow_java_gapic_test"], + grpc_deps = [":dialogflow_java_grpc"], + grpc_group = "com.google.api.grpc", + proto_deps = [ + ":dialogflow_java_proto", + ":dialogflow_proto", + ":dialogflow_resource_name_java_proto", + ] + _JAVA_GRPC_DEPS, + version = "0.0.0-SNAPSHOT", +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", + "go_test", + "go_gapic_library", + "go_gapic_assembly_pkg", +) + +go_proto_library( + name = "dialogflow_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2", + protos = [":dialogflow_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/type:latlng_go_proto", ], ) + +go_gapic_library( + name = "dialogflow_go_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + importpath = "cloud.google.com/go/dialogflow/apiv2", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2.yaml", + deps = [ + ":dialogflow_go_proto", + "//google/longrunning:longrunning_go_gapic", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go//longrunning:go_default_library", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +go_test( + name = "dialogflow_go_gapic_test", + srcs = [":dialogflow_go_gapic_srcjar_test"], + embed = [":dialogflow_go_gapic"], + importpath = "cloud.google.com/go/dialogflow/apiv2", +) + +# Opensource Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-dialogflow-v2-go", + deps = [ + ":dialogflow_go_gapic", + ":dialogflow_go_gapic_srcjar-smoke-test.srcjar", + ":dialogflow_go_gapic_srcjar-test.srcjar", + ":dialogflow_go_proto", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", + "php_grpc_library", + "php_gapic_library", + "php_gapic_assembly_pkg", +) + +php_proto_library( + name = "dialogflow_php_proto", + deps = [":dialogflow_proto"], +) + +php_grpc_library( + name = "dialogflow_php_grpc", + srcs = [":dialogflow_proto"], + deps = [":dialogflow_php_proto"], +) + +php_gapic_library( + name = "dialogflow_php_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2.yaml", + deps = [ + ":dialogflow_php_grpc", + ":dialogflow_php_proto", + ], +) + +# Opensource Packages +php_gapic_assembly_pkg( + name = "google-cloud-dialogflow-v2-php", + deps = [ + ":dialogflow_php_gapic", + ":dialogflow_php_grpc", + ":dialogflow_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_library", + "nodejs_gapic_assembly_pkg", +) + +nodejs_gapic_library( + name = "dialogflow_nodejs_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "dialogflow-v2-nodejs", + deps = [ + ":dialogflow_nodejs_gapic", + ":dialogflow_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", + "ruby_grpc_library", + "ruby_gapic_library", + "ruby_gapic_assembly_pkg", +) + +ruby_proto_library( + name = "dialogflow_ruby_proto", + deps = [":dialogflow_proto"], +) + +ruby_grpc_library( + name = "dialogflow_ruby_grpc", + srcs = [":dialogflow_proto"], + deps = [":dialogflow_ruby_proto"], +) + +ruby_gapic_library( + name = "dialogflow_ruby_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2.yaml", + deps = [ + ":dialogflow_ruby_grpc", + ":dialogflow_ruby_proto", + ], +) + +ruby_gapic_assembly_pkg( + name = "google-cloud-dialogflow-v2-ruby", + deps = [ + ":dialogflow_ruby_gapic", + ":dialogflow_ruby_grpc", + ":dialogflow_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", + "csharp_grpc_library", + "csharp_gapic_library", + "csharp_gapic_assembly_pkg", +) + +csharp_proto_library( + name = "dialogflow_csharp_proto", + deps = [":dialogflow_proto"], +) + +csharp_grpc_library( + name = "dialogflow_csharp_grpc", + srcs = [":dialogflow_proto"], + deps = [":dialogflow_csharp_proto"], +) + +csharp_gapic_library( + name = "dialogflow_csharp_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2.yaml", + deps = [ + ":dialogflow_csharp_grpc", + ":dialogflow_csharp_proto", + ], +) + +# Opensource Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-dialogflow-v2-csharp", + deps = [ + ":dialogflow_csharp_gapic", + ":dialogflow_csharp_grpc", + ":dialogflow_csharp_proto", + ], +) \ No newline at end of file diff --git a/google/cloud/dialogflow/v2beta1/BUILD.bazel b/google/cloud/dialogflow/v2beta1/BUILD.bazel index f7b5b26b16..cea7fb817e 100644 --- a/google/cloud/dialogflow/v2beta1/BUILD.bazel +++ b/google/cloud/dialogflow/v2beta1/BUILD.bazel @@ -1,153 +1,178 @@ -# This file was automatically generated. # 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 = "agent_proto", - srcs = ["agent.proto"], + name = "dialogflow_proto", + srcs = [ + "agent.proto", + "audio_config.proto", + "context.proto", + "document.proto", + "entity_type.proto", + "intent.proto", + "knowledge_base.proto", + "session.proto", + "session_entity_type.proto", + "webhook.proto", + ], deps = [ "//google/api:annotations_proto", "//google/api:client_proto", + "//google/api:resource_proto", "//google/longrunning:operations_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - ], -) - -proto_library( - name = "audio_config_proto", - srcs = ["audio_config.proto"], - deps = [ - "@com_google_protobuf//:duration_proto", - ], -) - -proto_library( - name = "context_proto", - srcs = ["context.proto"], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - "@com_google_protobuf//:struct_proto", - ], -) - -proto_library( - name = "document_proto", - srcs = ["document.proto"], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/longrunning:operations_proto", - "//google/rpc:status_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - "@com_google_protobuf//:timestamp_proto", - ], -) - -proto_library( - name = "entity_type_proto", - srcs = ["entity_type.proto"], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/longrunning:operations_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - "@com_google_protobuf//:struct_proto", - ], -) - -proto_library( - name = "intent_proto", - srcs = ["intent.proto"], - deps = [ - ":audio_config_proto", - ":context_proto", - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/longrunning:operations_proto", - "@com_google_protobuf//:duration_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - "@com_google_protobuf//:struct_proto", - ], -) - -proto_library( - name = "knowledge_base_proto", - srcs = ["knowledge_base.proto"], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "@com_google_protobuf//:empty_proto", - "@com_google_protobuf//:field_mask_proto", - ], -) - -proto_library( - name = "session_proto", - srcs = ["session.proto"], - deps = [ - ":agent_proto", - ":audio_config_proto", - ":context_proto", - ":intent_proto", - ":session_entity_type_proto", - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/api:field_behavior_proto", "//google/rpc:status_proto", "//google/type:latlng_proto", + "//google/api:field_behavior_proto", "@com_google_protobuf//:duration_proto", - "@com_google_protobuf//:struct_proto", - ], -) - -proto_library( - name = "session_entity_type_proto", - srcs = ["session_entity_type.proto"], - deps = [ - ":entity_type_proto", - "//google/api:annotations_proto", - "//google/api:client_proto", "@com_google_protobuf//:empty_proto", "@com_google_protobuf//:field_mask_proto", - ], -) - -proto_library( - name = "webhook_proto", - srcs = ["webhook.proto"], - deps = [ - ":context_proto", - ":intent_proto", - ":session_entity_type_proto", - ":session_proto", "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", ], ) proto_library_with_info( name = "dialogflow_proto_with_info", + deps = [":dialogflow_proto"], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_gapic_library", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", + "java_resource_name_proto_library", + "java_test", +) + +_JAVA_GRPC_DEPS = [ + "@com_google_api_grpc_proto_google_common_protos//jar", +] + +java_proto_library( + name = "dialogflow_java_proto", + deps = [":dialogflow_proto"], +) + +java_grpc_library( + name = "dialogflow_java_grpc", + srcs = [":dialogflow_proto"], + deps = [":dialogflow_java_proto"] + _JAVA_GRPC_DEPS, +) + +java_resource_name_proto_library( + name = "dialogflow_resource_name_java_proto", + gapic_yaml = "dialogflow_gapic.yaml", + deps = [":dialogflow_proto"], +) + +java_gapic_library( + name = "dialogflow_java_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2beta1.yaml", + test_deps = [":dialogflow_java_grpc"], deps = [ - ":agent_proto", - ":audio_config_proto", - ":context_proto", - ":document_proto", - ":entity_type_proto", - ":intent_proto", - ":knowledge_base_proto", - ":session_proto", - ":session_entity_type_proto", - ":webhook_proto", + ":dialogflow_java_proto", + ":dialogflow_resource_name_java_proto", + ] + _JAVA_GRPC_DEPS, +) + +[java_test( + name = test_name, + test_class = test_name, + runtime_deps = [ + ":dialogflow_java_gapic_test", + ], +) for test_name in [ + "com.google.cloud.dialogflow.v2beta1.AgentsClientTest", + "com.google.cloud.dialogflow.v2beta1.ContextsClientTest", + "com.google.cloud.dialogflow.v2beta1.EntityTypesClientTest", + "com.google.cloud.dialogflow.v2beta1.DocumentsClientTest", + "com.google.cloud.dialogflow.v2beta1.IntentsClientTest", + "com.google.cloud.dialogflow.v2beta1.SessionEntityTypesClientTest", + "com.google.cloud.dialogflow.v2beta1.SessionsClientTest", + "com.google.cloud.dialogflow.v2beta1.KnowledgeBasesClientTest", +]] + +# Opensource Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-dialogflow-v2beta1-java", + client_deps = [":dialogflow_java_gapic"], + client_group = "com.google.cloud", + client_test_deps = [":dialogflow_java_gapic_test"], + grpc_deps = [":dialogflow_java_grpc"], + grpc_group = "com.google.api.grpc", + proto_deps = [ + ":dialogflow_java_proto", + ":dialogflow_proto", + ":dialogflow_resource_name_java_proto", + ] + _JAVA_GRPC_DEPS, + version = "0.0.0-SNAPSHOT", +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", + "go_test", + "go_gapic_library", + "go_gapic_assembly_pkg", +) + +go_proto_library( + name = "dialogflow_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2beta1", + protos = [":dialogflow_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + "//google/type:latlng_go_proto", + ], +) + +go_gapic_library( + name = "dialogflow_go_gapic", + src = ":dialogflow_proto_with_info", + gapic_yaml = "dialogflow_gapic.yaml", + importpath = "cloud.google.com/go/cloud/dialogflow/apiv2beta1", + service_yaml = "//google/cloud/dialogflow:dialogflow_v2beta1.yaml", + deps = [ + ":dialogflow_go_proto", + "//google/longrunning:longrunning_go_gapic", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go//longrunning:go_default_library", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +go_test( + name = "dialogflow_go_gapic_test", + srcs = [":dialogflow_go_gapic_srcjar_test"], + embed = [":dialogflow_go_gapic"], + importpath = "cloud.google.com/go/cloud/dialogflow/apiv2beta1", +) + +# Opensource Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-dialogflow-v2beta1-go", + deps = [ + ":dialogflow_go_gapic", + ":dialogflow_go_gapic_srcjar-smoke-test.srcjar", + ":dialogflow_go_gapic_srcjar-test.srcjar", + ":dialogflow_go_proto", ], ) diff --git a/google/cloud/language/v1/BUILD.bazel b/google/cloud/language/v1/BUILD.bazel index 435d452f8c..8a6223ec4e 100644 --- a/google/cloud/language/v1/BUILD.bazel +++ b/google/cloud/language/v1/BUILD.bazel @@ -227,6 +227,7 @@ ruby_gapic_library( ], ) +# Opensource Packages ruby_gapic_assembly_pkg( name = "google-cloud-language-v1-ruby", deps = [ @@ -235,3 +236,46 @@ ruby_gapic_assembly_pkg( ":language_ruby_proto", ], ) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", + "csharp_grpc_library", + "csharp_gapic_library", + "csharp_gapic_assembly_pkg", +) + +csharp_proto_library( + name = "language_csharp_proto", + deps = [":language_proto"], +) + +csharp_grpc_library( + name = "language_csharp_grpc", + srcs = [":language_proto"], + deps = [":language_csharp_proto"], +) + +csharp_gapic_library( + name = "language_csharp_gapic", + src = ":language_proto_with_info", + gapic_yaml = "language_gapic.yaml", + service_yaml = "//google/cloud/language:language_v1.yaml", + deps = [ + ":langauge_csharp_grpc", + ":language_csharp_proto", + ], +) + +# Opensource Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-language-v1-csharp", + deps = [ + ":language_csharp_gapic", + ":language_csharp_grpc", + ":language_csharp_proto", + ], +) \ No newline at end of file diff --git a/google/cloud/tasks/v2beta2/BUILD.bazel b/google/cloud/tasks/v2beta2/BUILD.bazel index f10c5e2036..adc20bf32e 100644 --- a/google/cloud/tasks/v2beta2/BUILD.bazel +++ b/google/cloud/tasks/v2beta2/BUILD.bazel @@ -16,6 +16,9 @@ proto_library( ], deps = [ "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", "//google/iam/v1:iam_policy_proto", "//google/iam/v1:policy_proto", "//google/rpc:code_proto", diff --git a/google/cloud/tasks/v2beta3/BUILD.bazel b/google/cloud/tasks/v2beta3/BUILD.bazel index 2af528f0ec..12b9e257d6 100644 --- a/google/cloud/tasks/v2beta3/BUILD.bazel +++ b/google/cloud/tasks/v2beta3/BUILD.bazel @@ -16,6 +16,8 @@ proto_library( ], deps = [ "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", "//google/api:resource_proto", "//google/iam/v1:iam_policy_proto", "//google/iam/v1:policy_proto", diff --git a/google/pubsub/v1/BUILD.bazel b/google/pubsub/v1/BUILD.bazel index d43783dcff..b689d76dda 100644 --- a/google/pubsub/v1/BUILD.bazel +++ b/google/pubsub/v1/BUILD.bazel @@ -261,6 +261,49 @@ ruby_gapic_assembly_pkg( ], ) +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", + "csharp_grpc_library", + "csharp_gapic_library", + "csharp_gapic_assembly_pkg", +) + +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", + src = ":pubsub_proto_with_info", + gapic_yaml = "pubsub_gapic.yaml", + service_yaml = "//google/pubsub:pubsub.yaml", + deps = [ + ":pubsub_csharp_grpc", + ":pubsub_csharp_proto", + ], +) + +# Opensource Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-pubsub-v1-csharp", + deps = [ + ":pubsub_csharp_gapic", + ":pubsub_csharp_grpc", + ":pubsub_csharp_proto", + ], +) + ############################################################################## # C++ ############################################################################## diff --git a/repository_rules.bzl b/repository_rules.bzl index 066a3c3c59..f561795302 100644 --- a/repository_rules.bzl +++ b/repository_rules.bzl @@ -98,7 +98,7 @@ def switched_rules_by_language( nodejs (bool): Enable Node.js specific rules. False by default. ruby (bool): Enable Ruby specific rules. False by default. python (bool): Enable Python-specific rules. False by default. Not implemented yet. - csharp (bool): Enable C# specific rules. False by default. Not implemented yet. + csharp (bool): Enable C# specific rules. False by default. rules_override (dict): Custom rule overrides (for advanced usage). """ @@ -237,6 +237,26 @@ def switched_rules_by_language( "@com_google_api_codegen//rules_gapic/ruby:ruby_gapic_pkg.bzl", ) + # + # C# + # + rules["csharp_proto_library"] = _switch( + csharp, + "@com_google_api_codegen//rules_gapic/csharp:csharp_gapic.bzl", + ) + rules["csharp_grpc_library"] = _switch( + csharp and grpc, + "@com_google_api_codegen//rules_gapic/csharp:csharp_gapic.bzl", + ) + rules["csharp_gapic_library"] = _switch( + csharp and grpc and gapic, + "@com_google_api_codegen//rules_gapic/csharp:csharp_gapic.bzl", + ) + rules["csharp_gapic_assembly_pkg"] = _switch( + csharp and grpc and gapic, + "@com_google_api_codegen//rules_gapic/csharp:csharp_gapic_pkg.bzl", + ) + rules.update(rules_override) switched_rules(