load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
    name = "go_default_library",
    srcs = [
        "grpclb.go",
        "grpclb_picker.go",
        "grpclb_remote_balancer.go",
        "grpclb_util.go",
    ],
    importpath = "google.golang.org/grpc/balancer/grpclb",
    visibility = ["//visibility:public"],
    deps = [
        "//:go_default_library",
        "//balancer:go_default_library",
        "//balancer/grpclb/grpc_lb_v1:go_default_library",
        "//codes:go_default_library",
        "//connectivity:go_default_library",
        "//grpclog:go_default_library",
        "//internal:go_default_library",
        "//internal/backoff:go_default_library",
        "//internal/channelz:go_default_library",
        "//metadata:go_default_library",
        "//resolver:go_default_library",
        "//status:go_default_library",
        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
        "@io_bazel_rules_go//proto/wkt:timestamp_go_proto",
        "@org_golang_x_net//context:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "grpclb_test.go",
        "grpclb_util_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//:go_default_library",
        "//balancer:go_default_library",
        "//balancer/grpclb/grpc_lb_v1:go_default_library",
        "//codes:go_default_library",
        "//credentials:go_default_library",
        "//grpclog/glogger:go_default_library",
        "//internal/leakcheck:go_default_library",
        "//metadata:go_default_library",
        "//peer:go_default_library",
        "//resolver:go_default_library",
        "//resolver/manual:go_default_library",
        "//status:go_default_library",
        "//test/grpc_testing:go_default_library",
        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
        "@org_golang_x_net//context:go_default_library",
    ],
)
