load("@bazel_skylib//rules:build_test.bzl", "build_test")
load("@protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
load("@protobuf//bazel:java_lite_proto_library.bzl", "java_lite_proto_library")
load("@protobuf//bazel:java_proto_library.bzl", "java_proto_library")
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@protobuf//bazel:py_proto_library.bzl", "py_proto_library")
load("@rules_cc//cc:defs.bzl", "cc_binary")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_python//python:py_binary.bzl", "py_binary")
proto_library(
name = "addressbook_proto",
srcs = ["addressbook.proto"],
deps = ["@protobuf//:timestamp_proto"],
)
cc_proto_library(
name = "addressbook_cc_proto",
deps = [":addressbook_proto"],
)
cc_binary(
name = "add_person_cpp",
srcs = ["add_person.cc"],
deps = [
":addressbook_cc_proto",
"@protobuf",
"@protobuf//src/google/protobuf/util:time_util",
],
)
cc_binary(
name = "list_people_cpp",
srcs = ["list_people.cc"],
deps = [
":addressbook_cc_proto",
"@protobuf",
"@protobuf//src/google/protobuf/util:time_util",
],
)
java_proto_library(
name = "addressbook_java_proto",
deps = [":addressbook_proto"],
)
java_binary(
name = "add_person_java",
srcs = ["AddPerson.java"],
main_class = "AddPerson",
deps = [":addressbook_java_proto"],
)
java_binary(
name = "list_people_java",
srcs = ["ListPeople.java"],
main_class = "ListPeople",
deps = [":addressbook_java_proto"],
)
java_lite_proto_library(
name = "addressbook_java_lite_proto",
deps = [":addressbook_proto"],
)
java_binary(
name = "add_person_java_lite",
srcs = ["AddPerson.java"],
main_class = "AddPerson",
deps = [":addressbook_java_lite_proto"],
)
java_binary(
name = "list_people_java_lite",
srcs = ["ListPeople.java"],
main_class = "ListPeople",
deps = [":addressbook_java_lite_proto"],
)
py_proto_library(
name = "addressbook_py_pb2",
visibility = ["//visibility:public"],
deps = [":addressbook_proto"],
)
py_binary(
name = "add_person",
srcs = ["add_person.py"],
python_version = "PY3",
deps = [
":addressbook_py_pb2",
],
)
py_binary(
name = "list_people",
srcs = ["list_people.py"],
python_version = "PY3",
deps = [
":addressbook_py_pb2",
],
)
build_test(
name = "test",
targets = [
":add_person_cpp",
":add_person_java",
":add_person", ],
)
pkg_files(
name = "dist_files",
srcs = [
"AddPerson.java",
"BUILD.bazel",
"CMakeLists.txt",
"ListPeople.java",
"Makefile",
"README.md",
"WORKSPACE",
"add_person.cc",
"add_person.dart",
"add_person.py",
"addressbook.proto",
"go/cmd/add_person/add_person.go",
"go/cmd/add_person/add_person_test.go",
"go/cmd/list_people/list_people.go",
"go/cmd/list_people/list_people_test.go",
"go/go.mod",
"go/go.sum",
"list_people.cc",
"list_people.dart",
"list_people.py",
"pubspec.yaml",
],
prefix = "examples/",
strip_prefix = strip_prefix.from_root(""),
visibility = ["//visibility:public"],
)