blob: d48de4388e2b47ff2fb5c472a3d26a3f6abf7d6a [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
rupertsb394da42017-11-28 21:17:48 -08008exports_files(
9 ["execution_statitics.proto"],
10 visibility = [
11 "//src/test/shell/integration:process_wrapper_test",
12 ],
13)
14
Han-Wen Nienhuyse01aa682015-06-01 15:57:50 +000015FILES = [
jmmvccb43ee2017-08-30 22:07:10 +020016 "action_cache",
Googlere345ba52016-04-21 22:52:35 +000017 "android_deploy_info",
fwe346c8ff2017-09-14 18:01:48 +020018 "bazel_flags",
ccalvarine73f8812017-06-26 21:40:04 +020019 "build",
20 "bundlemerge",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -040021 "command_server",
ccalvarine73f8812017-06-26 21:40:04 +020022 "crosstool_config",
23 "deps",
kmb06feddc2017-09-30 02:09:56 +020024 "desugar_deps",
rupertsb394da42017-11-28 21:17:48 -080025 "execution_statistics",
ccalvarine73f8812017-06-26 21:40:04 +020026 "extra_actions_base",
ccalvarine73f8812017-06-26 21:40:04 +020027 "invocation_policy",
28 "java_compilation",
ccalvarine73f8812017-06-26 21:40:04 +020029 "plmerge",
30 "test_status",
31 "worker_protocol",
Han-Wen Nienhuyse01aa682015-06-01 15:57:50 +000032]
33
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -040034[proto_library(
35 name = s + "_proto",
36 srcs = [s + ".proto"],
37) for s in FILES]
38
Julio Merino699f87a2016-02-18 23:48:32 +000039[java_proto_library(
Julio Merino7588e132016-02-23 12:48:41 +000040 name = s + "_java_proto",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -040041 deps = [":" + s + "_proto"],
42) for s in FILES]
43
44[java_library_srcs(
45 name = s + "_java_proto_srcs",
46 deps = [":" + s + "_java_proto"],
Han-Wen Nienhuyse01aa682015-06-01 15:57:50 +000047) for s in FILES]
Damien Martin-Guillerez5cbd5a42015-03-24 21:55:19 +000048
ccalvarine73f8812017-06-26 21:40:04 +020049# This new option tagging method is in flux while being applied to the options
50# in the Bazel code base. The visibility should not be changed to allow external
51# dependencies until the interface has stabilized and can commit to maintaining
52# backwards compatibility for 6 months' time.
53# TODO(bazel-team) Make these visibility:public when the interface is stable.
54proto_library(
55 name = "option_filters_proto",
56 srcs = ["option_filters.proto"],
57 visibility = ["//visibility:private"],
58)
59
60java_proto_library(
61 name = "option_filters_java_proto",
62 visibility = ["//src:__subpackages__"],
63 deps = [":option_filters_proto"],
64)
65
66java_library_srcs(
67 name = "option_filters_java_proto_srcs",
68 visibility = ["//visibility:private"],
69 deps = [":option_filters_java_proto"],
70)
71
ccalvarinae927f12017-09-13 21:19:04 +020072proto_library(
73 name = "command_line_proto",
74 srcs = ["command_line.proto"],
ccalvarinceb10132017-10-10 05:29:56 +020075 visibility = ["//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:__pkg__"],
ccalvarinae927f12017-09-13 21:19:04 +020076 deps = [":option_filters_proto"],
77)
78
79java_proto_library(
80 name = "command_line_java_proto",
81 visibility = ["//src:__subpackages__"],
82 deps = [":command_line_proto"],
83)
84
85java_library_srcs(
86 name = "command_line_java_proto_srcs",
87 visibility = ["//visibility:private"],
88 deps = [":command_line_java_proto"],
89)
90
Andreas Bergmeierc8280532017-01-12 09:47:00 +000091cc_proto_library(
kmb22e13d82017-10-04 22:43:18 +020092 name = "desugar_deps_cc_proto",
93 deps = [":desugar_deps_proto"],
94)
95
96cc_proto_library(
Andreas Bergmeierc8280532017-01-12 09:47:00 +000097 name = "worker_protocol_cc_proto",
Andreas Bergmeier67e6ea02017-09-05 15:01:24 +020098 deps = [":worker_protocol_proto"],
Andreas Bergmeierc8280532017-01-12 09:47:00 +000099)
100
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -0400101java_grpc_library(
102 name = "command_server_java_grpc",
103 srcs = [":command_server_proto"],
104 deps = [":command_server_java_proto"],
Lukacs Berkie21e5922016-04-12 12:22:20 +0000105)
106
107cc_grpc_library(
108 name = "command_server_cc_proto",
109 src = "command_server.proto",
110)
111
David Chenb78bbd52016-03-16 13:17:57 +0000112py_proto_library(
113 name = "build_pb_py",
114 srcs = ["build.proto"],
Lukacs Berki285112c2016-04-11 10:34:45 +0000115 default_runtime = "//third_party/protobuf:protobuf_python",
116 protoc = "//third_party/protobuf:protoc",
David Chenb78bbd52016-03-16 13:17:57 +0000117)
118
tomludff2a482017-10-13 20:21:36 +0200119java_library_srcs(
120 name = "profile_java_proto_srcs",
121 visibility = ["//visibility:private"],
122 deps = ["//third_party/pprof:profile_java_proto"],
123)
124
rupertsb394da42017-11-28 21:17:48 -0800125cc_proto_library(
126 name = "execution_statistics_cc_proto",
127 deps = [":execution_statistics_proto"],
128)
129
Damien Martin-Guillerez5cbd5a42015-03-24 21:55:19 +0000130filegroup(
131 name = "srcs",
132 srcs = glob(["**"]),
133)
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000134
135filegroup(
136 name = "dist_jars",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -0400137 srcs = [s + "_java_proto_srcs" for s in FILES] + [
ccalvarinae927f12017-09-13 21:19:04 +0200138 ":command_line_java_proto_srcs",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -0400139 ":command_server_java_grpc_srcs",
ccalvarine73f8812017-06-26 21:40:04 +0200140 ":option_filters_java_proto_srcs",
tomludff2a482017-10-13 20:21:36 +0200141 ":profile_java_proto_srcs",
Jakob Buchgraber6073f1d2017-06-06 11:58:26 -0400142 ],
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000143)