diff --git a/WORKSPACE b/WORKSPACE index c7d22d80..e6b4b431 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -17,14 +17,15 @@ switched_rules_by_language( java = True, nodejs = True, php = True, + ruby = True, ) # Note gapic-generator contains java-specific and common code, that is why it is imported in common # section http_archive( name = "com_google_api_codegen", - strip_prefix = "gapic-generator-a591ce660d04b0e9c6876b9836d8aac0e9f65b6d", - urls = ["https://github.com/googleapis/gapic-generator/archive/a591ce660d04b0e9c6876b9836d8aac0e9f65b6d.zip"], + strip_prefix = "gapic-generator-90cbd714fcb0e969131ea16cc3f14073024254aa", + urls = ["https://github.com/googleapis/gapic-generator/archive/90cbd714fcb0e969131ea16cc3f14073024254aa.zip"], ) ############################################################################## diff --git a/google/cloud/dialogflow/v2/BUILD.bazel b/google/cloud/dialogflow/v2/BUILD.bazel index dffd1c7b..2fe8d6a3 100644 --- a/google/cloud/dialogflow/v2/BUILD.bazel +++ b/google/cloud/dialogflow/v2/BUILD.bazel @@ -239,3 +239,46 @@ nodejs_gapic_assembly_pkg( ":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", + ], +) + +# Opensource Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-dialogflow-v2-ruby", + deps = [ + ":dialogflow_ruby_gapic", + ":dialogflow_ruby_grpc", + ":dialogflow_ruby_proto", + ], +) \ No newline at end of file diff --git a/google/cloud/dialogflow/v2beta1/BUILD.bazel b/google/cloud/dialogflow/v2beta1/BUILD.bazel index 33699564..cea7fb81 100644 --- a/google/cloud/dialogflow/v2beta1/BUILD.bazel +++ b/google/cloud/dialogflow/v2beta1/BUILD.bazel @@ -27,6 +27,7 @@ proto_library( "//google/longrunning:operations_proto", "//google/rpc:status_proto", "//google/type:latlng_proto", + "//google/api:field_behavior_proto", "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:empty_proto", "@com_google_protobuf//:field_mask_proto", diff --git a/google/cloud/language/v1/BUILD.bazel b/google/cloud/language/v1/BUILD.bazel index 5766b644..435d452f 100644 --- a/google/cloud/language/v1/BUILD.bazel +++ b/google/cloud/language/v1/BUILD.bazel @@ -154,7 +154,7 @@ php_gapic_library( gapic_yaml = "language_gapic.yaml", service_yaml = "//google/cloud/language:language_v1.yaml", deps = [ - ":langauge_php_grpc", + ":language_php_grpc", ":language_php_proto", ], ) @@ -194,3 +194,44 @@ nodejs_gapic_assembly_pkg( ], ) +############################################################################## +# 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 = "language_ruby_proto", + deps = [":language_proto"], +) + +ruby_grpc_library( + name = "language_ruby_grpc", + srcs = [":language_proto"], + deps = [":language_ruby_proto"], +) + +ruby_gapic_library( + name = "language_ruby_gapic", + src = ":language_proto_with_info", + gapic_yaml = "language_gapic.yaml", + service_yaml = "//google/cloud/language:language_v1.yaml", + deps = [ + ":langauge_ruby_grpc", + ":language_ruby_proto", + ], +) + +ruby_gapic_assembly_pkg( + name = "google-cloud-language-v1-ruby", + deps = [ + ":language_ruby_gapic", + ":language_ruby_grpc", + ":language_ruby_proto", + ], +) diff --git a/google/pubsub/v1/BUILD.bazel b/google/pubsub/v1/BUILD.bazel index 78d98d27..d43783dc 100644 --- a/google/pubsub/v1/BUILD.bazel +++ b/google/pubsub/v1/BUILD.bazel @@ -218,6 +218,49 @@ nodejs_gapic_assembly_pkg( ], ) +############################################################################## +# 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 = "pubsub_ruby_proto", + deps = [":pubsub_proto"], +) + +ruby_grpc_library( + name = "pubsub_ruby_grpc", + srcs = [":pubsub_proto"], + deps = [":pubsub_ruby_proto"], +) + +ruby_gapic_library( + name = "pubsub_ruby_gapic", + src = ":pubsub_proto_with_info", + gapic_yaml = "pubsub_gapic.yaml", + service_yaml = "//google/pubsub:pubsub.yaml", + deps = [ + ":pubsub_ruby_grpc", + ":pubsub_ruby_proto", + ], +) + +# Opensource Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-pubsub-v1-ruby", + deps = [ + ":pubsub_ruby_gapic", + ":pubsub_ruby_grpc", + ":pubsub_ruby_proto", + ], +) + ############################################################################## # C++ ############################################################################## @@ -235,6 +278,6 @@ cc_proto_library( cc_grpc_library( name = "pubsub_cc_grpc", srcs = [":pubsub_proto"], - deps = [":pubsub_cc_proto"], grpc_only = True, + deps = [":pubsub_cc_proto"], ) diff --git a/repository_rules.bzl b/repository_rules.bzl index 5a9adcb8..066a3c3c 100644 --- a/repository_rules.bzl +++ b/repository_rules.bzl @@ -92,10 +92,11 @@ def switched_rules_by_language( this rule. False by default. java (bool): Enable Java specific rules. False by default. go (bool): Enable Go specific rules. False by default. - cc (bool): Enable C++ specific rules. False by default. Partially implemented. + cc (bool): Enable C++ specific rules. False by default. Partially implemented (no GAPIC + support). php (bool): Enable PHP specific rules. False by default. nodejs (bool): Enable Node.js specific rules. False by default. - ruby (bool): Enable Ruby specific rules. False by default. Not implemented yet. + 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. rules_override (dict): Custom rule overrides (for advanced usage). @@ -216,6 +217,26 @@ def switched_rules_by_language( "@com_google_api_codegen//rules_gapic/nodejs:nodejs_gapic_pkg.bzl", ) + # + # Ruby + # + rules["ruby_proto_library"] = _switch( + ruby, + "@com_google_api_codegen//rules_gapic/ruby:ruby_gapic.bzl", + ) + rules["ruby_grpc_library"] = _switch( + ruby and grpc, + "@com_google_api_codegen//rules_gapic/ruby:ruby_gapic.bzl", + ) + rules["ruby_gapic_library"] = _switch( + ruby and grpc and gapic, + "@com_google_api_codegen//rules_gapic/ruby:ruby_gapic.bzl", + ) + rules["ruby_gapic_assembly_pkg"] = _switch( + ruby and grpc and gapic, + "@com_google_api_codegen//rules_gapic/ruby:ruby_gapic_pkg.bzl", + ) + rules.update(rules_override) switched_rules(