proto_library(
    name = "any_proto",
    srcs = ["google/protobuf/any.proto"],
    visibility = ["//visibility:public"],
)

proto_library(
    name = "wrappers_proto",
    srcs = ["google/protobuf/wrappers.proto"],
    visibility = ["//visibility:public"],
)

proto_library(
    name = "descriptor_proto",
    srcs = ["google/protobuf/descriptor.proto"],
    visibility = ["//visibility:public"],
)

proto_library(
    name = "timestamp_proto",
    srcs = ["google/protobuf/timestamp.proto"],
    visibility = ["//visibility:public"],
)

proto_library(
    name = "duration_proto",
    srcs = ["google/protobuf/duration.proto"],
    visibility = ["//visibility:public"],
)

filegroup(
    name = "protoc",
    srcs = ["protoc.sh"],
    visibility = ["//visibility:public"],
)

java_import(
    name = "protobuf_java",
    jars = ["protobuf-java.jar"],
    visibility = ["//visibility:public"],
)

java_import(
    name = "protobuf_java_util",
    jars = ["protobuf-java-util.jar"],
    deps = [":protobuf_java"],
    visibility = ["//visibility:public"],
)

py_library(
    name = "protobuf_python",
    visibility = ["//visibility:public"],
)

cc_library(
    name = "protoc_lib",
    linkopts = ["-lprotobuf"],
    visibility = ["//visibility:public"],
)

proto_lang_toolchain(
    name = "cc_toolchain",
    command_line = "--cpp_out=$(OUT)",
    runtime = ":protoc_lib",
    visibility = ["//visibility:public"],
)

proto_lang_toolchain(
    name = "java_toolchain",
    command_line = "--java_out=$(OUT)",
    runtime = ":protobuf_java",
    visibility = ["//visibility:public"],
)

proto_lang_toolchain(
    name = "javalite_toolchain",
    command_line = "--javalite_out=$(OUT)",
    runtime = ":protobuf_java",
    visibility = ["//visibility:public"],
)

proto_library(
    name = "empty_proto",
    srcs = ["google/protobuf/empty.proto"],
    visibility = ["//visibility:public"],
)
