blob: c717547d26dad1fa54e65d9add7233dc319cd80b [file] [log] [blame]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01001# Packaging
2
Philipp Wollermann4c558982017-07-27 18:01:12 +02003load(":embedded_tools.bzl", "srcsfile")
Laszlo Csomord784b5f2018-06-20 02:06:58 -07004load(":rule_size_test.bzl", "rule_size_test")
Philipp Wollermann4c558982017-07-27 18:01:12 +02005
Lukacs Berkic4e74d12015-11-10 15:28:00 +00006md5_cmd = "set -e -o pipefail && cat $(SRCS) | sort | %s | awk '{ print $$1; }' > $@"
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01007
8# TODO(bazel-team): find a better way to handle dylib extensions.
9filegroup(
10 name = "libunix",
11 srcs = select({
tomlu1a483d42017-11-30 15:08:40 -080012 "//src/conditions:darwin": ["//src/main/native:libunix.dylib"],
13 "//src/conditions:darwin_x86_64": ["//src/main/native:libunix.dylib"],
14 "//src/conditions:windows": ["//src/main/native/windows:windows_jni.dll"],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010015 "//conditions:default": ["//src/main/native:libunix.so"],
16 }),
Kristina Chodorow38358932015-06-26 14:31:50 +000017 visibility = [
Kristina Chodorow38358932015-06-26 14:31:50 +000018 "//src/test/java:__pkg__",
olaola2f3d7df2017-12-05 12:41:19 -080019 "//src/tools/remote:__subpackages__",
Kristina Chodorow38358932015-06-26 14:31:50 +000020 ],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010021)
22
Lukacs Berkieb851fe2015-10-19 10:52:31 +000023[genrule(
24 name = "install_base_key-file" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010025 srcs = [
Han-Wen Nienhuys27760a62015-11-30 17:27:34 +000026 "//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010027 "//src/main/cpp:client",
28 ":libunix",
29 "//src/main/tools:build-runfiles",
30 "//src/main/tools:process-wrapper",
Philipp Wollermann278814b2016-07-15 14:41:54 +000031 "//src/main/tools:linux-sandbox",
Chris Parsons5eb86fe2016-07-21 15:24:55 +000032 "//tools/osx:xcode-locator",
Philipp Wollermann4c558982017-07-27 18:01:12 +020033 ] + embedded_tools_target,
Lukacs Berkieb851fe2015-10-19 10:52:31 +000034 outs = ["install_base_key" + suffix],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010035 cmd = select({
tomlu1a483d42017-11-30 15:08:40 -080036 "//src/conditions:darwin": md5_cmd % "/sbin/md5",
37 "//src/conditions:darwin_x86_64": md5_cmd % "/sbin/md5",
38 "//src/conditions:freebsd": md5_cmd % "/sbin/md5",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010039 "//conditions:default": md5_cmd % "md5sum",
40 }),
Philipp Wollermann4c558982017-07-27 18:01:12 +020041) for suffix, embedded_tools_target in {
Lukacs Berkieb851fe2015-10-19 10:52:31 +000042 "": [":embedded_tools"],
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -070043 "_nojdk": [":embedded_tools_nojdk"],
Lukacs Berkieb851fe2015-10-19 10:52:31 +000044 "_notools": [],
45}.items()]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010046
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000047# Try to grab the java version from the java_toolchain.
Damien Martin-Guillerez4bf2c1a2015-10-02 09:19:18 +000048# Unfortunately, we don't have access to the javac options
49# so we cannot get it from the command-line options.
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000050genquery(
51 name = "java_toolchain_content",
dbabkin35df7152018-06-26 05:47:54 -070052 expression = "kind(java_toolchain, deps(@bazel_tools//tools/jdk:current_java_toolchain))",
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000053 opts = ["--output=xml"],
dbabkin35df7152018-06-26 05:47:54 -070054 scope = ["@bazel_tools//tools/jdk:current_java_toolchain"],
Damien Martin-Guillerezb6afdbd2015-05-27 18:29:18 +000055)
56
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000057# Create dummy tools so we can do select to prevent building iOS target on
58# Linux.
59OSX_DUMMY_TARGETS = [
60 "src/tools/xcode/actoolwrapper/actoolwrapper",
61 "src/tools/xcode/ibtoolwrapper/ibtoolwrapper",
62 "src/tools/xcode/momcwrapper/momcwrapper",
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000063 "src/objc_tools/bundlemerge/bundlemerge_deploy.jar",
64 "src/objc_tools/plmerge/plmerge_deploy.jar",
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000065 "src/tools/xcode/realpath/realpath",
66 "src/tools/xcode/stdredirect/StdRedirect.dylib",
67]
68
69[
70 genrule(
71 name = "dummy_darwin_tool_" + name.replace("/", "_"),
72 srcs = [],
73 outs = ["dummy_darwin_tools/" + name],
74 cmd = "touch $@",
75 )
76 for name in OSX_DUMMY_TARGETS
77]
78
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000079filegroup(
80 name = "darwin_tools",
81 srcs = [
82 "//src/tools/xcode/actoolwrapper:actoolwrapper",
83 "//src/tools/xcode/ibtoolwrapper:ibtoolwrapper",
84 "//src/tools/xcode/momcwrapper:momcwrapper",
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000085 "//src/objc_tools/bundlemerge:bundlemerge_deploy.jar",
86 "//src/objc_tools/plmerge:plmerge_deploy.jar",
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000087 "//src/tools/xcode/realpath:realpath",
Chris Parsons5eb86fe2016-07-21 15:24:55 +000088 "//tools/osx:xcode_locator.m",
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000089 ] + select({
tomlu1a483d42017-11-30 15:08:40 -080090 "//src/conditions:iphonesdk": ["//src/tools/xcode/stdredirect:StdRedirect.dylib"],
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000091 "//conditions:default": [":dummy_darwin_tool_src_tools_xcode_stdredirect_StdRedirect.dylib"],
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +000092 }),
93)
94
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +000095filegroup(
96 name = "dummy_darwin_tools",
97 srcs = [
98 "dummy_darwin_tool_" + name.replace("/", "_")
99 for name in OSX_DUMMY_TARGETS
100 ],
101)
102
László Csomor5f99fda2017-08-11 09:28:12 +0200103py_library(
104 name = "create_embedded_tools_lib",
105 srcs = ["create_embedded_tools_lib.py"],
László Csomor0783b9e2017-08-11 10:28:36 +0200106 visibility = ["//:__pkg__"],
László Csomor5f99fda2017-08-11 09:28:12 +0200107)
108
Philipp Wollermann4c558982017-07-27 18:01:12 +0200109py_binary(
110 name = "create_embedded_tools",
111 srcs = ["create_embedded_tools.py"],
László Csomor5f99fda2017-08-11 09:28:12 +0200112 deps = [":create_embedded_tools_lib"],
Philipp Wollermann4c558982017-07-27 18:01:12 +0200113)
114
115# TODO(philwo): Clean this up, once a Bazel that can run py_binary and sh_binary
116# in Skylark rules on Windows has been released.
117[filegroup(
118 name = "embedded_tools" + suffix + "_srcs",
Damien Martin-Guillerez12997672015-09-03 21:54:08 +0000119 srcs = [
Xin Gao33d05f62017-06-21 17:13:23 +0200120 "BUILD.tools",
Damien Martin-Guillerez04d46ab2016-04-13 19:27:56 +0000121 "//tools:embedded_tools_srcs",
Damien Martin-Guillerez068a6612016-06-29 10:25:38 +0000122 "//third_party:gpl-srcs",
Googler22ad69d2017-05-30 22:21:19 +0200123 "//third_party/java/j2objc:embedded_tools_srcs",
cushoneec549f2018-04-16 09:34:49 -0700124 "//third_party/jarjar:embedded_tools_srcs",
Liam Miller-Cushon38949b82017-05-08 10:18:38 -0400125 "//third_party/java/jdk/langtools:test-srcs",
ajmichaela784c8f2017-10-05 18:21:49 +0200126 "//third_party/java/proguard:embedded_tools",
Ulf Adamsd91d0472016-05-23 07:33:22 +0000127 "//third_party/py/concurrent:srcs",
128 "//third_party/py/gflags:srcs",
Joe Finneyf1843df2017-07-19 15:27:15 +0200129 "//third_party/py/six:srcs",
tomlu1a483d42017-11-30 15:08:40 -0800130 "//src/conditions:embedded_tools",
Alex Humesky6d004682015-10-02 22:57:09 +0000131 "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs",
Lukacs Berki6eaaf942015-10-27 13:04:58 +0000132 "//src/tools/android/java/com/google/devtools/build/android:embedded_tools",
Yun Pengc2c938a2017-07-28 10:22:57 +0200133 "//src/tools/launcher:srcs",
Xin Gao33d05f62017-06-21 17:13:23 +0200134 "//src/tools/singlejar:embedded_tools",
135 "//src/main/cpp/util:embedded_tools",
136 "//src/main/native:embedded_tools",
Damien Martin-Guillerez04d46ab2016-04-13 19:27:56 +0000137 "//src/main/protobuf:srcs",
Damien Martin-Guillerez0ad9f5e2016-04-20 13:58:08 +0000138 "//src/java_tools/buildjar:JavaBuilderDeploy",
xingao8df71b52017-04-03 15:25:18 +0000139 "//src/java_tools/buildjar:VanillaJavaBuilder_deploy.jar",
Damien Martin-Guillerez04d46ab2016-04-13 19:27:56 +0000140 "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:GenClass_deploy.jar",
cnsun50efbeb2018-02-16 14:02:54 -0800141 "//src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:embedded_tools",
Damien Martin-Guillerez04d46ab2016-04-13 19:27:56 +0000142 "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:Runner_deploy.jar",
Kush Chakraborty4baedc72017-03-08 15:30:59 +0000143 "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:ExperimentalRunner_deploy.jar",
Yue Ganaf3c4122016-12-05 14:36:02 +0000144 "//src/java_tools/junitrunner/java/com/google/testing/coverage:embedded_tools",
Yun Peng394211b2017-09-15 15:59:14 +0200145 "//third_party/def_parser:srcs",
Lukacs Berki9b1e3a22015-11-18 09:55:46 +0000146 "//third_party/ijar",
xingao399ffaf2017-09-21 19:34:29 +0200147 "//third_party/ijar:zipper",
Xin Gao33d05f62017-06-21 17:13:23 +0200148 "//third_party/ijar:embedded_tools",
Liam Miller-Cushon791bef82017-09-04 13:21:39 +0200149 "//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_deploy.jar",
Yue Ganaf3c4122016-12-05 14:36:02 +0000150 "//third_party/java/jacoco:srcs",
Xin Gao33d05f62017-06-21 17:13:23 +0200151 "//third_party/zlib:embedded_tools",
Damien Martin-Guillerez3d796fe2016-01-11 10:07:57 +0000152 ] + select({
tomlu1a483d42017-11-30 15:08:40 -0800153 "//src/conditions:darwin": [
Damien Martin-Guillerez1bab6b12016-02-17 15:27:32 +0000154 ":darwin_tools",
Damien Martin-Guillerez1bab6b12016-02-17 15:27:32 +0000155 ],
tomlu1a483d42017-11-30 15:08:40 -0800156 "//src/conditions:darwin_x86_64": [
Damien Martin-Guillerez1bab6b12016-02-17 15:27:32 +0000157 ":darwin_tools",
Damien Martin-Guillerez1bab6b12016-02-17 15:27:32 +0000158 ],
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +0000159 "//conditions:default": [
160 ":dummy_darwin_tools",
Damien Martin-Guillereza3bad0c2016-05-03 20:47:51 +0000161 ],
Damien Martin-Guillerez3437d2f2016-08-03 15:40:45 +0000162 }) + select({
xingao202d5912017-06-01 19:23:29 +0200163 # TODO(bazel-team): Once https://github.com/bazelbuild/bazel/issues/2241
164 # is resolved, use cc implementation of singlejar on windows
tomlu1a483d42017-11-30 15:08:40 -0800165 "//src/conditions:windows": [
xingao202d5912017-06-01 19:23:29 +0200166 "//src/java_tools/singlejar:SingleJar_deploy.jar",
Yun Pengc2c938a2017-07-28 10:22:57 +0200167 "//src/tools/launcher:launcher",
Yun Peng394211b2017-09-15 15:59:14 +0200168 "//third_party/def_parser:def_parser",
xingao202d5912017-06-01 19:23:29 +0200169 ],
tomlu1a483d42017-11-30 15:08:40 -0800170 "//src/conditions:arm": [
Alois Klink69e35142017-07-24 14:37:18 +0200171 "//src/java_tools/singlejar:SingleJar_deploy.jar",
172 ],
xingao202d5912017-06-01 19:23:29 +0200173 "//conditions:default": [
xingao5dcf5482018-06-29 07:35:32 -0700174 "//src/tools/singlejar:singlejar_local",
xingao202d5912017-06-01 19:23:29 +0200175 ],
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700176 }) + ([":embedded_jdk"] if (suffix == "") else []),
cushon72141a12018-06-11 08:30:15 -0700177 visibility = [
178 "//src/test:__subpackages__", # For integration tests
179 ],
180) for suffix in [
181 "",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700182 "_nojdk",
cushon72141a12018-06-11 08:30:15 -0700183]]
184
Laszlo Csomord784b5f2018-06-20 02:06:58 -0700185rule_size_test(
186 name = "embedded_tools_size_test",
187 src = ":embedded_tools_srcs",
188 # WARNING: Only adjust the number in `expect` if you are intentionally
189 # adding or removing embedded tools. Know that the more embedded tools there
190 # are in Bazel, the bigger the binary becomes and the slower Bazel starts.
191 expect = 503,
192 margin = 5, # percentage
193)
194
cushon72141a12018-06-11 08:30:15 -0700195filegroup(
196 name = "embedded_jdk",
197 srcs = select({
tomlu1a483d42017-11-30 15:08:40 -0800198 "//src/conditions:darwin": [
Philipp Wollermann95048272017-03-17 15:11:58 +0000199 "@openjdk_macos//file",
200 ],
tomlu1a483d42017-11-30 15:08:40 -0800201 "//src/conditions:darwin_x86_64": [
Philipp Wollermann95048272017-03-17 15:11:58 +0000202 "@openjdk_macos//file",
203 ],
tomlu1a483d42017-11-30 15:08:40 -0800204 "//src/conditions:windows": [
pcloudy05c20aa2017-06-29 11:38:30 +0200205 "@openjdk_win//file",
206 ],
Arielle Albonfa7e49f2018-07-31 00:57:54 -0700207 "//src/conditions:linux_aarch64": [
208 "@openjdk_linux_aarch64//file",
209 ],
Philipp Wollermann95048272017-03-17 15:11:58 +0000210 "//conditions:default": [
211 "@openjdk_linux//file",
212 ],
cushon72141a12018-06-11 08:30:15 -0700213 }),
214 visibility = ["//src/test/shell/bazel:__pkg__"],
215)
Damien Martin-Guillerez12997672015-09-03 21:54:08 +0000216
Philipp Wollermann4c558982017-07-27 18:01:12 +0200217[srcsfile(
218 name = "embedded_tools" + suffix + "_params",
219 srcs = [":embedded_tools" + suffix + "_srcs"],
220 out = "embedded_tools" + suffix + ".params",
221) for suffix in [
222 "",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700223 "_nojdk",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200224]]
225
226genrule(
227 name = "embedded_tools",
228 srcs = [
229 ":embedded_tools_params",
230 ":embedded_tools_srcs",
231 ],
232 outs = ["embedded_tools.zip"],
233 cmd = "$(location :create_embedded_tools) \"$@\" $(location :embedded_tools_params)",
234 tools = [":create_embedded_tools"],
235)
236
237genrule(
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700238 name = "embedded_tools_nojdk",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200239 srcs = [
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700240 ":embedded_tools_nojdk_params",
241 ":embedded_tools_nojdk_srcs",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200242 ],
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700243 outs = ["embedded_tools_nojdk.zip"],
244 cmd = "$(location :create_embedded_tools) \"$@\" $(location :embedded_tools_nojdk_params)",
Philipp Wollermann4c558982017-07-27 18:01:12 +0200245 tools = [":create_embedded_tools"],
246)
247
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000248[genrule(
249 name = "package-zip" + suffix,
Philipp Wollermann95048272017-03-17 15:11:58 +0000250 srcs = ([":embedded_tools" + suffix + ".zip"] if embed else []) + [
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000251 # The script assumes that the embedded tools zip (if exists) is the
252 # first item here, the deploy jar the second and install base key is the
253 # third
Han-Wen Nienhuys27760a62015-11-30 17:27:34 +0000254 "//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar",
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000255 "install_base_key" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100256 ":libunix",
257 "//src/main/tools:build-runfiles",
258 "//src/main/tools:process-wrapper",
Kristina Chodorowb5ecdab2015-03-16 17:55:04 +0000259 "//src/main/tools:jdk-support",
Philipp Wollermann278814b2016-07-15 14:41:54 +0000260 "//src/main/tools:linux-sandbox",
Chris Parsons5eb86fe2016-07-21 15:24:55 +0000261 "//tools/osx:xcode-locator",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100262 ],
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000263 outs = ["package" + suffix + ".zip"],
264 cmd = "$(location :package-bazel.sh) $@ " + ("" if embed else "''") + " $(SRCS)",
265 tools = ["package-bazel.sh"],
266) for suffix, embed in [
Damien Martin-Guillerez04d46ab2016-04-13 19:27:56 +0000267 ("", True),
268 ("_notools", False),
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700269 ("_nojdk", True),
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000270]]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100271
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000272[genrule(
273 name = "bazel-bin" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100274 srcs = [
275 "//src/main/cpp:client",
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000276 "package-zip" + suffix,
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100277 ],
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000278 outs = ["bazel" + suffix],
Yun Peng6ffb8e42016-04-14 16:55:02 +0000279 # In msys, a file path without .exe suffix(say foo), refers to a file with .exe
280 # suffix(say foo.exe), if foo.exe exists and foo doesn't. So, on windows, we
281 # need to remove bazel.exe first, so that cat to bazel won't fail.
282 cmd = "rm -f $@; cat $(location //src/main/cpp:client) $(location :package-zip" + suffix + ") > $@ && zip -qA $@",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100283 executable = 1,
284 output_to_bindir = 1,
Damien Martin-Guillerez5f9c6ba2015-04-09 21:10:33 +0000285 visibility = [
286 "//scripts:__pkg__", # For bash completion generation
Damien Martin-Guillerezab13f682015-07-28 08:19:32 +0000287 "//scripts/packages:__pkg__", # For installer generation
Ulf Adams9e24ebd2016-06-23 09:24:57 +0000288 "//src/java:__subpackages__", # For command line reference generation
Damien Martin-Guillerez5f9c6ba2015-04-09 21:10:33 +0000289 "//src/test:__subpackages__", # For integration tests
290 ],
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000291) for suffix in [
292 "",
293 "_notools",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700294 "_nojdk",
Lukacs Berkieb851fe2015-10-19 10:52:31 +0000295]]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100296
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000297# Build an executable named `bazel.exe`.
298# Works on all platforms but only makes sense on Windows.
299# Workaround for non-configurability of genrule's `outs` attribute.
300[genrule(
301 name = "bazel-bin" + suffix + ".exe",
302 srcs = [":bazel-bin" + suffix],
303 outs = ["bazel" + suffix + ".exe"],
304 cmd = "cp $(location :bazel-bin" + suffix + ") $@",
305 executable = 1,
306 output_to_bindir = 1,
307 visibility = [
308 "//scripts:__pkg__", # For bash completion generation
309 "//scripts/packages:__pkg__", # For installer generation
310 "//src/test:__subpackages__", # For integration tests
311 ],
312) for suffix in [
313 "",
314 "_notools",
Liam Miller-Cushon7c49bd92018-06-18 09:29:52 -0700315 "_nojdk",
Dmitry Lomov9d40a602016-02-15 16:15:03 +0000316]]
317
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000318filegroup(
319 name = "srcs",
320 srcs = glob(["**"]) + [
tomlu1a483d42017-11-30 15:08:40 -0800321 "//src/conditions:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000322 "//src/java_tools/buildjar:srcs",
Benjamin Peterson425f9422018-02-09 14:05:17 -0800323 "//src/java_tools/import_deps_checker:srcs",
ulfjack26ad43d2017-08-28 12:30:44 +0200324 "//src/java_tools/junitrunner:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000325 "//src/java_tools/singlejar:srcs",
326 "//src/main/cpp:srcs",
327 "//src/main/java/com/google/devtools/build/docgen:srcs",
328 "//src/main/java/com/google/devtools/build/lib:srcs",
cparsons5d85e752018-06-26 13:47:28 -0700329 "//src/main/java/com/google/devtools/build/skydoc:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000330 "//src/main/java/com/google/devtools/build/skyframe:srcs",
331 "//src/main/java/com/google/devtools/common/options:srcs",
Damien Martin-Guillerez6aa2c272016-10-07 17:19:42 +0000332 "//src/main/java/com/google/devtools/skylark:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000333 "//src/main/native:srcs",
334 "//src/main/protobuf:srcs",
335 "//src/main/tools:srcs",
336 "//src/objc_tools/bundlemerge:srcs",
337 "//src/objc_tools/plmerge:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000338 "//src/test/cpp:srcs",
Googler3e830922017-03-17 17:39:00 +0000339 "//src/test/gen:srcs",
Laszlo Csomor73e971c2017-01-18 13:30:35 +0000340 "//src/test/native:srcs",
dmartinga92d3772017-09-13 14:28:48 +0200341 "//src/test/skylark:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000342 "//src/test/java/com/google/devtools/build/android:srcs",
343 "//src/test/java/com/google/devtools/build/docgen:srcs",
344 "//src/test/java/com/google/devtools/build/lib:srcs",
ruperts9f959c52018-01-04 11:54:02 -0800345 "//src/test/java/com/google/devtools/build/lib/shell:srcs",
cparsons5d85e752018-06-26 13:47:28 -0700346 "//src/test/java/com/google/devtools/build/skydoc:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000347 "//src/test/java/com/google/devtools/build/skyframe:srcs",
348 "//src/test/java/com/google/devtools/common/options:srcs",
Laszlo Csomore78ad832017-06-09 10:45:27 -0400349 "//src/test/py/bazel:srcs",
Damien Martin-Guillerez7d265e02016-07-01 13:33:48 +0000350 "//src/test/shell:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000351 "//src/tools/android/java/com/google/devtools/build/android:srcs",
olaolaa5e36ee2018-06-15 08:16:44 -0700352 "//src/tools/execlog:srcs",
Googler1950bf92018-08-28 15:40:05 -0700353 "//src/tools/workspacelog:srcs",
Yun Peng09dd8c02017-07-21 15:57:05 +0200354 "//src/tools/launcher:srcs",
carmib12892e2018-03-21 14:57:55 -0700355 "//src/tools/package_printer/java/com/google/devtools/build/packageprinter:srcs",
fzaiser141cb882017-08-22 18:52:48 +0200356 "//src/tools/skylark/java/com/google/devtools/skylark/skylint:srcs",
357 "//src/tools/skylark/javatests/com/google/devtools/skylark/skylint:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000358 "//src/tools/xcode/actoolwrapper:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000359 "//src/tools/xcode/ibtoolwrapper:srcs",
360 "//src/tools/xcode/momcwrapper:srcs",
361 "//src/tools/xcode/realpath:srcs",
Sasha Smundak06a12e52016-07-15 17:35:51 +0000362 "//src/tools/singlejar:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000363 "//src/tools/xcode/stdredirect:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000364 "//src/tools/xcode-common:srcs",
olaola2f3d7df2017-12-05 12:41:19 -0800365 "//src/tools/remote:srcs",
Chris Parsons5eb86fe2016-07-21 15:24:55 +0000366 "//tools/osx:srcs",
Damien Martin-Guillerezde54bca2016-02-29 10:49:43 +0000367 ],
368 visibility = ["//:__pkg__"],
369)
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000370
371genrule(
372 name = "derived_java_srcs",
373 srcs = [
374 "//src/main/protobuf:dist_jars",
375 "//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:dist_jars",
Googler7e703ec2018-07-16 08:48:39 -0700376 "//src/main/java/com/google/devtools/build/lib/bazel/debug:dist_jars",
Googler72d62bc2018-05-18 06:59:57 -0700377 "//src/main/java/com/google/devtools/build/lib/skylarkdebug/proto:dist_jars",
Jakob Buchgraber55c5a602017-06-08 23:11:21 +0200378 "@googleapis//:dist_jars",
Ola Rozenfeld930119a2018-08-10 11:04:44 -0700379 "@remoteapis//:dist_jars",
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000380 ],
381 outs = ["derived_java_srcs.zip"],
Klaus Aehlig86c9d942017-06-30 13:41:19 +0200382 cmd = "$(location :combine_derived_java_srcs.sh) $(JAVABASE) $@ $(SRCS)",
cushon849df362018-05-14 01:51:45 -0700383 toolchains = ["@bazel_tools//tools/jdk:current_host_java_runtime"],
Klaus Aehlig4ca79d42016-10-22 07:59:41 +0000384 tools = ["combine_derived_java_srcs.sh"],
385 visibility = ["//:__pkg__"],
386)
L?szl? Csomor088f6112017-09-19 17:12:32 +0200387
388test_suite(
389 name = "windows_tests",
390 tags = [
391 "-no_windows",
392 "-slow",
393 ],
394 visibility = ["//visibility:private"],
395)
396
397test_suite(
398 name = "all_windows_tests",
399 tests = [
400 ":windows_tests",
401 "//src/test/cpp:all_windows_tests",
402 "//src/test/java/com/google/devtools/build/android:all_windows_tests",
403 "//src/test/java/com/google/devtools/build/docgen:all_windows_tests",
404 "//src/test/java/com/google/devtools/build/lib:all_windows_tests",
405 "//src/test/java/com/google/devtools/build/skyframe:all_windows_tests",
406 "//src/test/java/com/google/devtools/common/options:all_windows_tests",
407 "//src/test/native:all_windows_tests",
408 "//src/test/py/bazel:all_windows_tests",
Laszlo Csomora7f202c2018-04-26 07:39:41 -0700409 "//src/test/shell:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200410 "//src/tools/launcher:all_windows_tests",
László Csomorceefd572017-09-21 16:02:25 +0200411 "//third_party/def_parser:all_windows_tests",
Laszlo Csomordf16c772018-08-09 23:36:39 -0700412 "//tools:all_windows_tests",
L?szl? Csomor088f6112017-09-19 17:12:32 +0200413 ],
414)
tomlu1a483d42017-11-30 15:08:40 -0800415
416# config_setting alias left here because bazel-only third_party code is pointing to it
417alias(
418 name = "windows",
419 actual = "//src/conditions:windows",
420 visibility = ["//visibility:public"],
421)