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

go_library(
    name = "buildbuddy_server",
    srcs = ["buildbuddy_server.go"],
    importpath = "github.com/buildbuddy-io/buildbuddy/server/buildbuddy_server",
    visibility = ["//visibility:public"],
    deps = [
        "//proto:api_key_go_proto",
        "//proto:auditlog_go_proto",
        "//proto:bazel_config_go_proto",
        "//proto:buildbuddy_service_go_proto",
        "//proto:cache_go_proto",
        "//proto:encryption_go_proto",
        "//proto:eventlog_go_proto",
        "//proto:execution_stats_go_proto",
        "//proto:gcp_go_proto",
        "//proto:github_go_proto",
        "//proto:group_go_proto",
        "//proto:invocation_go_proto",
        "//proto:iprules_go_proto",
        "//proto:quota_go_proto",
        "//proto:repo_go_proto",
        "//proto:runner_go_proto",
        "//proto:scheduler_go_proto",
        "//proto:search_go_proto",
        "//proto:secrets_go_proto",
        "//proto:stats_go_proto",
        "//proto:suggestion_go_proto",
        "//proto:target_go_proto",
        "//proto:usage_go_proto",
        "//proto:user_go_proto",
        "//proto:user_id_go_proto",
        "//proto:workflow_go_proto",
        "//proto:zip_go_proto",
        "//server/backends/chunkstore",
        "//server/build_event_protocol/build_event_handler",
        "//server/build_event_protocol/event_index",
        "//server/capabilities_filter",
        "//server/endpoint_urls/build_buddy_url",
        "//server/endpoint_urls/cache_api_url",
        "//server/endpoint_urls/events_api_url",
        "//server/endpoint_urls/remote_exec_api_url",
        "//server/environment",
        "//server/eventlog",
        "//server/interfaces",
        "//server/real_environment",
        "//server/remote_cache/directory_size",
        "//server/remote_cache/scorecard",
        "//server/remote_execution/config",
        "//server/tables",
        "//server/target",
        "//server/util/authutil",
        "//server/util/capabilities",
        "//server/util/flagutil",
        "//server/util/log",
        "//server/util/perms",
        "//server/util/prefix",
        "//server/util/proto",
        "//server/util/request_context",
        "//server/util/role",
        "//server/util/status",
        "//server/util/subdomain",
        "@org_golang_google_grpc//metadata",
        "@org_golang_google_protobuf//encoding/protojson",
    ],
)

go_test(
    name = "buildbuddy_server_test",
    size = "small",
    srcs = ["buildbuddy_server_test.go"],
    deps = [
        ":buildbuddy_server",
        "//proto:acl_go_proto",
        "//proto:build_event_stream_go_proto",
        "//proto:build_events_go_proto",
        "//proto:invocation_go_proto",
        "//proto:publish_build_event_go_proto",
        "//proto:remote_execution_go_proto",
        "//proto:resource_go_proto",
        "//proto:user_id_go_proto",
        "//server/build_event_protocol/build_event_handler",
        "//server/environment",
        "//server/http/interceptors",
        "//server/remote_cache/cachetools",
        "//server/remote_cache/digest",
        "//server/tables",
        "//server/testutil/testauth",
        "//server/testutil/testcache",
        "//server/testutil/testdigest",
        "//server/testutil/testenv",
        "//server/testutil/testhttp",
        "//server/testutil/testport",
        "//server/util/grpc_client",
        "//server/util/grpc_server",
        "//server/util/proto",
        "@com_github_google_uuid//:uuid",
        "@com_github_stretchr_testify//require",
        "@org_golang_google_protobuf//types/known/anypb",
    ],
)
