java_library(
    name = "core",
    srcs = glob([
        "src/main/java/io/grpc/*.java",
    ]),
    resources = glob([
        "src/main/resources/**",
    ]),
    visibility = ["//visibility:public"],
    deps = [
        "//context",
        "@com_google_code_findbugs_jsr305//jar",
        "@com_google_guava_guava//jar",
    ],
)

java_library(
    name = "inprocess",
    srcs = glob([
        "src/main/java/io/grpc/inprocess/*.java",
    ]),
    visibility = ["//visibility:public"],
    deps = [
        ":core",
        ":internal",
        "//context",
        "@com_google_code_findbugs_jsr305//jar",
        "@com_google_guava_guava//jar",
    ],
)

java_library(
    name = "internal",
    srcs = glob([
        "src/main/java/io/grpc/internal/*.java",
    ]),
    visibility = ["//:__subpackages__"],
    deps = [
        ":core",
        "//context",
        "@com_google_code_findbugs_jsr305//jar",
        "@com_google_code_gson_gson//jar",
        "@com_google_errorprone_error_prone_annotations//jar",
        "@com_google_guava_guava//jar",
        "@io_opencensus_opencensus_api//jar",
        "@io_opencensus_opencensus_contrib_grpc_metrics//jar",
        "@org_codehaus_mojo_animal_sniffer_annotations//jar",
    ],
)

java_library(
    name = "util",
    srcs = glob([
        "src/main/java/io/grpc/util/*.java",
    ]),
    visibility = ["//visibility:public"],
    deps = [
        ":core",
        ":internal",
        "@com_google_code_findbugs_jsr305//jar",
        "@com_google_guava_guava//jar",
    ],
)