# 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 = "spanner_proto", srcs = [ "keys.proto", "mutation.proto", "query_plan.proto", "result_set.proto", "spanner.proto", "transaction.proto", "type.proto", ], deps = [ "//google/api:annotations_proto", "//google/rpc:status_proto", "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:empty_proto", "@com_google_protobuf//:struct_proto", "@com_google_protobuf//:timestamp_proto", ], ) proto_library_with_info( name = "spanner_proto_with_info", deps = [ ":spanner_proto", "//google/cloud:common_resources_proto", ], ) ############################################################################## # Java ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", "java_grpc_library", "java_gapic_library", "java_gapic_assembly_gradle_pkg", "java_proto_library", "java_gapic_test", ) java_proto_library( name = "spanner_java_proto", deps = [":spanner_proto"], ) java_grpc_library( name = "spanner_java_grpc", srcs = [":spanner_proto"], deps = [":spanner_java_proto"], ) java_gapic_library( name = "spanner_java_gapic", src = ":spanner_proto_with_info", gapic_yaml = "spanner_gapic.yaml", service_yaml = "//google/spanner:spanner.yaml", test_deps = [":spanner_java_grpc"], deps = [":spanner_java_proto"], ) java_gapic_test( name = "spanner_java_gapic_test_suite", test_classes = [ "com.google.cloud.spanner.v1.SpannerClientTest", ], runtime_deps = [":spanner_java_gapic_test"], ) # Opensource Packages java_gapic_assembly_gradle_pkg( name = "google-cloud-spanner-v1-java", deps = [ ":spanner_java_gapic", ":spanner_java_grpc", ":spanner_java_proto", ":spanner_proto", ], ) ############################################################################## # Go ############################################################################## load( "@com_google_googleapis_imports//:imports.bzl", "go_proto_library", "go_test", "go_gapic_library", "go_gapic_assembly_pkg", ) go_proto_library( name = "spanner_go_proto", compilers = ["@io_bazel_rules_go//proto:go_grpc"], importpath = "google.golang.org/genproto/googleapis/spanner/v1", protos = [":spanner_proto"], deps = [ "//google/api:annotations_go_proto", "//google/rpc:status_go_proto", ], ) go_gapic_library( name = "spanner_go_gapic", src = ":spanner_proto_with_info", gapic_yaml = "spanner_gapic.yaml", importpath = "cloud.google.com/go/spanner/apiv1", service_yaml = "//google/spanner:spanner.yaml", deps = [":spanner_go_proto"], ) go_test( name = "spanner_go_gapic_test", srcs = [":spanner_go_gapic_srcjar_test"], embed = [":spanner_go_gapic"], importpath = "cloud.google.com/go/spanner/apiv1", ) # Opensource Packages go_gapic_assembly_pkg( name = "gapi-cloud-spanner-v1-go", deps = [ ":spanner_go_gapic", ":spanner_go_gapic_srcjar-smoke-test.srcjar", ":spanner_go_gapic_srcjar-test.srcjar", ":spanner_go_proto", ], )