blob: 6b543fcc8b4aaab875bdebd4c6c2ec30e4ce50e9 [file] [log] [blame]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01001package(default_visibility = ["//visibility:public"])
2
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -04003load("//tools/build_rules:genproto.bzl", "cc_grpc_library")
4load("//tools/build_rules:utilities.bzl", "java_library_srcs")
Andreas Bergmeier67e6ea02017-09-05 15:01:24 +02005load("//third_party/protobuf/3.4.0:protobuf.bzl", "py_proto_library")
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -04006load("//third_party/grpc:build_defs.bzl", "java_grpc_library")
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01007
Han-Wen Nienhuyse01aa682015-06-01 15:57:50 +00008FILES = [
jmmvccb43ee2017-08-30 22:07:10 +02009 "action_cache",
Googlere345ba52016-04-21 22:52:35 +000010 "android_deploy_info",
Alex Humesky9ca85b12016-03-01 00:37:06 +000011 "apk_manifest",
fwe346c8ff2017-09-14 18:01:48 +020012 "bazel_flags",
ccalvarine73f8812017-06-26 21:40:04 +020013 "build",
14 "bundlemerge",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -040015 "command_server",
ccalvarine73f8812017-06-26 21:40:04 +020016 "crosstool_config",
17 "deps",
kmb06feddc2017-09-30 02:09:56 +020018 "desugar_deps",
ccalvarine73f8812017-06-26 21:40:04 +020019 "extra_actions_base",
ccalvarine73f8812017-06-26 21:40:04 +020020 "invocation_policy",
21 "java_compilation",
ccalvarine73f8812017-06-26 21:40:04 +020022 "plmerge",
23 "test_status",
24 "worker_protocol",
Han-Wen Nienhuyse01aa682015-06-01 15:57:50 +000025]
26
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -040027[proto_library(
28 name = s + "_proto",
29 srcs = [s + ".proto"],
30) for s in FILES]
31
Julio Merino699f87a2016-02-18 23:48:32 +000032[java_proto_library(
Julio Merino7588e132016-02-23 12:48:41 +000033 name = s + "_java_proto",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -040034 deps = [":" + s + "_proto"],
35) for s in FILES]
36
37[java_library_srcs(
38 name = s + "_java_proto_srcs",
39 deps = [":" + s + "_java_proto"],
Han-Wen Nienhuyse01aa682015-06-01 15:57:50 +000040) for s in FILES]
Damien Martin-Guillerez5cbd5a42015-03-24 21:55:19 +000041
ccalvarine73f8812017-06-26 21:40:04 +020042# This new option tagging method is in flux while being applied to the options
43# in the Bazel code base. The visibility should not be changed to allow external
44# dependencies until the interface has stabilized and can commit to maintaining
45# backwards compatibility for 6 months' time.
46# TODO(bazel-team) Make these visibility:public when the interface is stable.
47proto_library(
48 name = "option_filters_proto",
49 srcs = ["option_filters.proto"],
50 visibility = ["//visibility:private"],
51)
52
53java_proto_library(
54 name = "option_filters_java_proto",
55 visibility = ["//src:__subpackages__"],
56 deps = [":option_filters_proto"],
57)
58
59java_library_srcs(
60 name = "option_filters_java_proto_srcs",
61 visibility = ["//visibility:private"],
62 deps = [":option_filters_java_proto"],
63)
64
ccalvarinae927f12017-09-13 21:19:04 +020065proto_library(
66 name = "command_line_proto",
67 srcs = ["command_line.proto"],
68 visibility = ["//visibility:private"],
69 deps = [":option_filters_proto"],
70)
71
72java_proto_library(
73 name = "command_line_java_proto",
74 visibility = ["//src:__subpackages__"],
75 deps = [":command_line_proto"],
76)
77
78java_library_srcs(
79 name = "command_line_java_proto_srcs",
80 visibility = ["//visibility:private"],
81 deps = [":command_line_java_proto"],
82)
83
Andreas Bergmeierc8280532017-01-12 09:47:00 +000084cc_proto_library(
85 name = "worker_protocol_cc_proto",
Andreas Bergmeier67e6ea02017-09-05 15:01:24 +020086 deps = [":worker_protocol_proto"],
Andreas Bergmeierc8280532017-01-12 09:47:00 +000087)
88
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -040089java_grpc_library(
90 name = "command_server_java_grpc",
91 srcs = [":command_server_proto"],
92 deps = [":command_server_java_proto"],
Lukacs Berkie21e5922016-04-12 12:22:20 +000093)
94
95cc_grpc_library(
96 name = "command_server_cc_proto",
97 src = "command_server.proto",
98)
99
David Chenb78bbd52016-03-16 13:17:57 +0000100py_proto_library(
101 name = "build_pb_py",
102 srcs = ["build.proto"],
Lukacs Berki285112c2016-04-11 10:34:45 +0000103 default_runtime = "//third_party/protobuf:protobuf_python",
104 protoc = "//third_party/protobuf:protoc",
David Chenb78bbd52016-03-16 13:17:57 +0000105)
106
Damien Martin-Guillerez5cbd5a42015-03-24 21:55:19 +0000107filegroup(
108 name = "srcs",
109 srcs = glob(["**"]),
110)
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000111
112filegroup(
113 name = "dist_jars",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -0400114 srcs = [s + "_java_proto_srcs" for s in FILES] + [
ccalvarinae927f12017-09-13 21:19:04 +0200115 ":command_line_java_proto_srcs",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -0400116 ":command_server_java_grpc_srcs",
ccalvarine73f8812017-06-26 21:40:04 +0200117 ":option_filters_java_proto_srcs",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -0400118 ],
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000119)