Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 1 | # Packaging |
| 2 | |
Lukacs Berki | c4e74d1 | 2015-11-10 15:28:00 +0000 | [diff] [blame] | 3 | md5_cmd = "set -e -o pipefail && cat $(SRCS) | sort | %s | awk '{ print $$1; }' > $@" |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 4 | |
| 5 | # TODO(bazel-team): find a better way to handle dylib extensions. |
| 6 | filegroup( |
| 7 | name = "libunix", |
| 8 | srcs = select({ |
| 9 | ":darwin": ["//src/main/native:libunix.dylib"], |
Chris Parsons | 5d96a28 | 2015-10-29 17:14:20 +0000 | [diff] [blame] | 10 | ":darwin_x86_64": ["//src/main/native:libunix.dylib"], |
Lukacs T. Berki | d8d7d23 | 2016-06-27 14:55:17 +0000 | [diff] [blame] | 11 | ":windows": ["//src/main/native:windows_jni.dll"], |
Yun Peng | cb8a5e2 | 2017-03-08 14:30:49 +0000 | [diff] [blame] | 12 | ":windows_msys": ["//src/main/native:windows_jni.dll"], |
Laszlo Csomor | 8896dad | 2016-09-28 15:02:13 +0000 | [diff] [blame] | 13 | ":windows_msvc": ["//src/main/native:windows_jni.dll"], |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 14 | "//conditions:default": ["//src/main/native:libunix.so"], |
| 15 | }), |
Kristina Chodorow | 3835893 | 2015-06-26 14:31:50 +0000 | [diff] [blame] | 16 | visibility = [ |
Kristina Chodorow | 3835893 | 2015-06-26 14:31:50 +0000 | [diff] [blame] | 17 | "//src/test/java:__pkg__", |
Kristina Chodorow | 0716303 | 2015-09-04 17:37:17 +0000 | [diff] [blame] | 18 | "//src/tools/generate_workspace:__pkg__", |
Alpha Lam | a1a79cb | 2016-05-15 19:13:52 +0000 | [diff] [blame] | 19 | "//src/tools/remote_worker:__subpackages__", |
Kristina Chodorow | 3835893 | 2015-06-26 14:31:50 +0000 | [diff] [blame] | 20 | ], |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 21 | ) |
| 22 | |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 23 | [genrule( |
| 24 | name = "install_base_key-file" + suffix, |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 25 | srcs = [ |
Han-Wen Nienhuys | 27760a6 | 2015-11-30 17:27:34 +0000 | [diff] [blame] | 26 | "//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 27 | "//src/main/cpp:client", |
| 28 | ":libunix", |
| 29 | "//src/main/tools:build-runfiles", |
| 30 | "//src/main/tools:process-wrapper", |
Philipp Wollermann | 278814b | 2016-07-15 14:41:54 +0000 | [diff] [blame] | 31 | "//src/main/tools:linux-sandbox", |
Chris Parsons | 5eb86fe | 2016-07-21 15:24:55 +0000 | [diff] [blame] | 32 | "//tools/osx:xcode-locator", |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 33 | ] + embedded_tools, |
| 34 | outs = ["install_base_key" + suffix], |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 35 | cmd = select({ |
| 36 | ":darwin": md5_cmd % "/sbin/md5", |
Chris Parsons | 5d96a28 | 2015-10-29 17:14:20 +0000 | [diff] [blame] | 37 | ":darwin_x86_64": md5_cmd % "/sbin/md5", |
Googler | bdbf75f | 2015-11-17 12:50:44 +0000 | [diff] [blame] | 38 | ":freebsd": md5_cmd % "/sbin/md5", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 39 | "//conditions:default": md5_cmd % "md5sum", |
| 40 | }), |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 41 | ) for suffix, embedded_tools in { |
| 42 | "": [":embedded_tools"], |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 43 | "_with_jdk": [":embedded_tools_with_jdk"], |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 44 | "_notools": [], |
| 45 | }.items()] |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 46 | |
Damien Martin-Guillerez | b6afdbd | 2015-05-27 18:29:18 +0000 | [diff] [blame] | 47 | # Try to grab the java version from the java_toolchain. |
Damien Martin-Guillerez | 4bf2c1a | 2015-10-02 09:19:18 +0000 | [diff] [blame] | 48 | # Unfortunately, we don't have access to the javac options |
| 49 | # so we cannot get it from the command-line options. |
Damien Martin-Guillerez | b6afdbd | 2015-05-27 18:29:18 +0000 | [diff] [blame] | 50 | genquery( |
| 51 | name = "java_toolchain_content", |
| 52 | expression = "kind(java_toolchain, deps(//tools/defaults:java_toolchain))", |
| 53 | opts = ["--output=xml"], |
| 54 | scope = ["//tools/defaults:java_toolchain"], |
| 55 | ) |
| 56 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 57 | genrule( |
| 58 | name = "java-version", |
Damien Martin-Guillerez | b6afdbd | 2015-05-27 18:29:18 +0000 | [diff] [blame] | 59 | srcs = [":java_toolchain_content"], |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 60 | outs = ["java.version"], |
Damien Martin-Guillerez | b6afdbd | 2015-05-27 18:29:18 +0000 | [diff] [blame] | 61 | cmd = """ |
| 62 | VERSION_LINE=$$(cat $< | grep target_version); |
Dmitry Lomov | cbbbf2e | 2016-02-17 19:31:28 +0000 | [diff] [blame] | 63 | JAVA_VERSION=$$(echo $${VERSION_LINE} | sed 's/.*value=\\"\\([^\\"]\\)\\".*/\\1/'); |
Damien Martin-Guillerez | b6afdbd | 2015-05-27 18:29:18 +0000 | [diff] [blame] | 64 | if [ -z "$${JAVA_VERSION}" ]; then |
Damien Martin-Guillerez | 9c5deb6 | 2015-09-15 07:38:26 +0000 | [diff] [blame] | 65 | echo "1.8" >$@ # Java 8 is the default |
Damien Martin-Guillerez | b6afdbd | 2015-05-27 18:29:18 +0000 | [diff] [blame] | 66 | elif [[ "$${JAVA_VERSION}" =~ ^[0-9]+$$ ]]; then |
| 67 | echo "1.$${JAVA_VERSION}" >$@ # Add 1. before 7 or 8 |
| 68 | else |
| 69 | echo "$${JAVA_VERSION}" >$@ |
| 70 | fi |
| 71 | """, |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 72 | ) |
| 73 | |
Damien Martin-Guillerez | a3bad0c | 2016-05-03 20:47:51 +0000 | [diff] [blame] | 74 | # Create dummy tools so we can do select to prevent building iOS target on |
| 75 | # Linux. |
| 76 | OSX_DUMMY_TARGETS = [ |
| 77 | "src/tools/xcode/actoolwrapper/actoolwrapper", |
| 78 | "src/tools/xcode/ibtoolwrapper/ibtoolwrapper", |
Chris Parsons | 1f67a7b | 2016-05-23 19:23:24 +0000 | [diff] [blame] | 79 | "src/tools/xcode/libtool/libtool", |
Chris Parsons | 441bc41 | 2016-10-10 19:45:44 +0000 | [diff] [blame] | 80 | "src/tools/xcode/libtool/make_hashed_objlist.py", |
Damien Martin-Guillerez | a3bad0c | 2016-05-03 20:47:51 +0000 | [diff] [blame] | 81 | "src/tools/xcode/momcwrapper/momcwrapper", |
| 82 | "src/tools/xcode/swiftstdlibtoolwrapper/swiftstdlibtoolwrapper", |
| 83 | "src/tools/xcode/environment/environment_plist", |
| 84 | "src/tools/xcode/xcrunwrapper/xcrunwrapper", |
| 85 | "src/objc_tools/bundlemerge/bundlemerge_deploy.jar", |
| 86 | "src/objc_tools/plmerge/plmerge_deploy.jar", |
| 87 | "src/objc_tools/xcodegen/xcodegen_deploy.jar", |
| 88 | "src/tools/xcode/realpath/realpath", |
| 89 | "src/tools/xcode/stdredirect/StdRedirect.dylib", |
| 90 | ] |
| 91 | |
| 92 | [ |
| 93 | genrule( |
| 94 | name = "dummy_darwin_tool_" + name.replace("/", "_"), |
| 95 | srcs = [], |
| 96 | outs = ["dummy_darwin_tools/" + name], |
| 97 | cmd = "touch $@", |
| 98 | ) |
| 99 | for name in OSX_DUMMY_TARGETS |
| 100 | ] |
| 101 | |
Damien Martin-Guillerez | 3d796fe | 2016-01-11 10:07:57 +0000 | [diff] [blame] | 102 | filegroup( |
| 103 | name = "darwin_tools", |
| 104 | srcs = [ |
| 105 | "//src/tools/xcode/actoolwrapper:actoolwrapper", |
| 106 | "//src/tools/xcode/ibtoolwrapper:ibtoolwrapper", |
Chris Parsons | bebbbe5 | 2016-09-26 20:33:50 +0000 | [diff] [blame] | 107 | "//src/tools/xcode/libtool:libtool_srcs", |
Damien Martin-Guillerez | 3d796fe | 2016-01-11 10:07:57 +0000 | [diff] [blame] | 108 | "//src/tools/xcode/momcwrapper:momcwrapper", |
Dmitry Shevchenko | 701ff40 | 2017-03-09 22:00:00 +0000 | [diff] [blame] | 109 | "//src/tools/xcode/swiftstdlibtoolwrapper:swiftstdlibtoolwrapper_srcs", |
Damien Martin-Guillerez | 3d796fe | 2016-01-11 10:07:57 +0000 | [diff] [blame] | 110 | "//src/tools/xcode/environment:environment_plist", |
| 111 | "//src/tools/xcode/xcrunwrapper:xcrunwrapper", |
| 112 | "//src/objc_tools/bundlemerge:bundlemerge_deploy.jar", |
| 113 | "//src/objc_tools/plmerge:plmerge_deploy.jar", |
| 114 | "//src/objc_tools/xcodegen:xcodegen_deploy.jar", |
| 115 | "//src/tools/xcode/realpath:realpath", |
Chris Parsons | 5eb86fe | 2016-07-21 15:24:55 +0000 | [diff] [blame] | 116 | "//tools/osx:xcode_locator.m", |
Damien Martin-Guillerez | 3d796fe | 2016-01-11 10:07:57 +0000 | [diff] [blame] | 117 | ] + select({ |
| 118 | ":iphonesdk": ["//src/tools/xcode/stdredirect:StdRedirect.dylib"], |
Damien Martin-Guillerez | a3bad0c | 2016-05-03 20:47:51 +0000 | [diff] [blame] | 119 | "//conditions:default": [":dummy_darwin_tool_src_tools_xcode_stdredirect_StdRedirect.dylib"], |
Damien Martin-Guillerez | 3d796fe | 2016-01-11 10:07:57 +0000 | [diff] [blame] | 120 | }), |
| 121 | ) |
| 122 | |
Damien Martin-Guillerez | a3bad0c | 2016-05-03 20:47:51 +0000 | [diff] [blame] | 123 | filegroup( |
| 124 | name = "dummy_darwin_tools", |
| 125 | srcs = [ |
| 126 | "dummy_darwin_tool_" + name.replace("/", "_") |
| 127 | for name in OSX_DUMMY_TARGETS |
| 128 | ], |
| 129 | ) |
| 130 | |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 131 | [genrule( |
| 132 | name = "embedded_tools" + suffix, |
Damien Martin-Guillerez | 1299767 | 2015-09-03 21:54:08 +0000 | [diff] [blame] | 133 | srcs = [ |
Damien Martin-Guillerez | 04d46ab | 2016-04-13 19:27:56 +0000 | [diff] [blame] | 134 | ":create_embedded_tools.sh", |
| 135 | "//tools:embedded_tools_srcs", |
Damien Martin-Guillerez | 068a661 | 2016-06-29 10:25:38 +0000 | [diff] [blame] | 136 | "//third_party:gpl-srcs", |
Ulf Adams | d91d047 | 2016-05-23 07:33:22 +0000 | [diff] [blame] | 137 | "//third_party/java/jarjar:srcs", |
Damien Martin-Guillerez | 7d265e0 | 2016-07-01 13:33:48 +0000 | [diff] [blame] | 138 | "//third_party/java/jdk/langtools:test-srcs", |
Ulf Adams | d91d047 | 2016-05-23 07:33:22 +0000 | [diff] [blame] | 139 | "//third_party/py/concurrent:srcs", |
| 140 | "//third_party/py/gflags:srcs", |
Alex Humesky | 6d00468 | 2015-10-02 22:57:09 +0000 | [diff] [blame] | 141 | "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs", |
Lukacs Berki | 6eaaf94 | 2015-10-27 13:04:58 +0000 | [diff] [blame] | 142 | "//src/tools/android/java/com/google/devtools/build/android:embedded_tools", |
Googler | 5e34a3d | 2015-12-03 15:17:55 +0000 | [diff] [blame] | 143 | "//src/tools/android/java/com/google/devtools/build/android/ideinfo:embedded_tools", |
Lukacs Berki | 6eaaf94 | 2015-10-27 13:04:58 +0000 | [diff] [blame] | 144 | "//src/tools/android/java/com/google/devtools/build/android/idlclass:embedded_tools", |
Adam Michael | 0b9ebfe | 2016-12-14 22:58:39 +0000 | [diff] [blame] | 145 | "//src/tools/android/java/com/google/devtools/build/android/dexer:embedded_tools", |
Lukacs Berki | 6eaaf94 | 2015-10-27 13:04:58 +0000 | [diff] [blame] | 146 | "//src/tools/android/java/com/google/devtools/build/android/ziputils:embedded_tools", |
Damien Martin-Guillerez | 04d46ab | 2016-04-13 19:27:56 +0000 | [diff] [blame] | 147 | "//src/main/protobuf:srcs", |
Damien Martin-Guillerez | 0ad9f5e | 2016-04-20 13:58:08 +0000 | [diff] [blame] | 148 | "//src/java_tools/buildjar:JavaBuilderDeploy", |
Damien Martin-Guillerez | 04d46ab | 2016-04-13 19:27:56 +0000 | [diff] [blame] | 149 | "//src/java_tools/singlejar:SingleJar_deploy.jar", |
| 150 | "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:GenClass_deploy.jar", |
| 151 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:Runner_deploy.jar", |
Kush Chakraborty | 4baedc7 | 2017-03-08 15:30:59 +0000 | [diff] [blame] | 152 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:ExperimentalRunner_deploy.jar", |
Yue Gan | af3c412 | 2016-12-05 14:36:02 +0000 | [diff] [blame] | 153 | "//src/java_tools/junitrunner/java/com/google/testing/coverage:embedded_tools", |
Lukacs Berki | 9b1e3a2 | 2015-11-18 09:55:46 +0000 | [diff] [blame] | 154 | "//third_party/ijar", |
Alex Humesky | 6ba5c97 | 2016-01-11 22:46:40 +0000 | [diff] [blame] | 155 | "//third_party/java/apkbuilder:embedded_tools", |
Yue Gan | af3c412 | 2016-12-05 14:36:02 +0000 | [diff] [blame] | 156 | "//third_party/java/jacoco:srcs", |
Damien Martin-Guillerez | 3d796fe | 2016-01-11 10:07:57 +0000 | [diff] [blame] | 157 | ] + select({ |
Damien Martin-Guillerez | 1bab6b1 | 2016-02-17 15:27:32 +0000 | [diff] [blame] | 158 | ":darwin": [ |
| 159 | ":darwin_tools", |
| 160 | "//third_party/ijar:zipper", |
| 161 | ], |
| 162 | ":darwin_x86_64": [ |
| 163 | ":darwin_tools", |
| 164 | "//third_party/ijar:zipper", |
| 165 | ], |
Damien Martin-Guillerez | a3bad0c | 2016-05-03 20:47:51 +0000 | [diff] [blame] | 166 | "//conditions:default": [ |
| 167 | ":dummy_darwin_tools", |
| 168 | "//third_party/ijar:zipper", |
| 169 | ], |
Damien Martin-Guillerez | 3437d2f | 2016-08-03 15:40:45 +0000 | [diff] [blame] | 170 | }) + select({ |
| 171 | "//tools/jdk:jdk7": [], |
| 172 | "//conditions:default": [ |
| 173 | "//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_deploy.jar", |
| 174 | ], |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 175 | }) + (select({ |
| 176 | ":darwin": [ |
| 177 | "@openjdk_macos//file", |
| 178 | ], |
| 179 | ":darwin_x86_64": [ |
| 180 | "@openjdk_macos//file", |
| 181 | ], |
| 182 | ":windows": [ |
| 183 | "@openjdk_win//file", |
| 184 | ], |
| 185 | ":windows_msvc": [ |
| 186 | "@openjdk_win//file", |
| 187 | ], |
| 188 | "//conditions:default": [ |
| 189 | "@openjdk_linux//file", |
| 190 | ], |
| 191 | }) if (suffix == "_with_jdk") else []), |
| 192 | outs = ["embedded_tools" + suffix + ".zip"], |
Lukacs Berki | 6eaaf94 | 2015-10-27 13:04:58 +0000 | [diff] [blame] | 193 | cmd = "$(location :create_embedded_tools.sh) $@ $(SRCS)", |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 194 | ) for suffix in [ |
| 195 | "", |
| 196 | "_with_jdk", |
| 197 | ]] |
Damien Martin-Guillerez | 1299767 | 2015-09-03 21:54:08 +0000 | [diff] [blame] | 198 | |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 199 | [genrule( |
| 200 | name = "package-zip" + suffix, |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 201 | srcs = ([":embedded_tools" + suffix + ".zip"] if embed else []) + [ |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 202 | # The script assumes that the embedded tools zip (if exists) is the |
| 203 | # first item here, the deploy jar the second and install base key is the |
| 204 | # third |
Han-Wen Nienhuys | 27760a6 | 2015-11-30 17:27:34 +0000 | [diff] [blame] | 205 | "//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar", |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 206 | "install_base_key" + suffix, |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 207 | "//src/main/cpp:client", |
| 208 | ":libunix", |
| 209 | "//src/main/tools:build-runfiles", |
| 210 | "//src/main/tools:process-wrapper", |
Kristina Chodorow | b5ecdab | 2015-03-16 17:55:04 +0000 | [diff] [blame] | 211 | "//src/main/tools:jdk-support", |
Philipp Wollermann | 278814b | 2016-07-15 14:41:54 +0000 | [diff] [blame] | 212 | "//src/main/tools:linux-sandbox", |
Chris Parsons | 5eb86fe | 2016-07-21 15:24:55 +0000 | [diff] [blame] | 213 | "//tools/osx:xcode-locator", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 214 | ":java-version", |
| 215 | ], |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 216 | outs = ["package" + suffix + ".zip"], |
| 217 | cmd = "$(location :package-bazel.sh) $@ " + ("" if embed else "''") + " $(SRCS)", |
| 218 | tools = ["package-bazel.sh"], |
| 219 | ) for suffix, embed in [ |
Damien Martin-Guillerez | 04d46ab | 2016-04-13 19:27:56 +0000 | [diff] [blame] | 220 | ("", True), |
| 221 | ("_notools", False), |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 222 | ("_with_jdk", True), |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 223 | ]] |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 224 | |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 225 | [genrule( |
| 226 | name = "bazel-bin" + suffix, |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 227 | srcs = [ |
| 228 | "//src/main/cpp:client", |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 229 | "package-zip" + suffix, |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 230 | ], |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 231 | outs = ["bazel" + suffix], |
Yun Peng | 6ffb8e4 | 2016-04-14 16:55:02 +0000 | [diff] [blame] | 232 | # In msys, a file path without .exe suffix(say foo), refers to a file with .exe |
| 233 | # suffix(say foo.exe), if foo.exe exists and foo doesn't. So, on windows, we |
| 234 | # need to remove bazel.exe first, so that cat to bazel won't fail. |
| 235 | cmd = "rm -f $@; cat $(location //src/main/cpp:client) $(location :package-zip" + suffix + ") > $@ && zip -qA $@", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 236 | executable = 1, |
| 237 | output_to_bindir = 1, |
Damien Martin-Guillerez | 5f9c6ba | 2015-04-09 21:10:33 +0000 | [diff] [blame] | 238 | visibility = [ |
| 239 | "//scripts:__pkg__", # For bash completion generation |
Damien Martin-Guillerez | ab13f68 | 2015-07-28 08:19:32 +0000 | [diff] [blame] | 240 | "//scripts/packages:__pkg__", # For installer generation |
Ulf Adams | 9e24ebd | 2016-06-23 09:24:57 +0000 | [diff] [blame] | 241 | "//src/java:__subpackages__", # For command line reference generation |
Damien Martin-Guillerez | 5f9c6ba | 2015-04-09 21:10:33 +0000 | [diff] [blame] | 242 | "//src/test:__subpackages__", # For integration tests |
| 243 | ], |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 244 | ) for suffix in [ |
| 245 | "", |
| 246 | "_notools", |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 247 | "_with_jdk", |
Lukacs Berki | eb851fe | 2015-10-19 10:52:31 +0000 | [diff] [blame] | 248 | ]] |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 249 | |
Dmitry Lomov | 9d40a60 | 2016-02-15 16:15:03 +0000 | [diff] [blame] | 250 | # Build an executable named `bazel.exe`. |
| 251 | # Works on all platforms but only makes sense on Windows. |
| 252 | # Workaround for non-configurability of genrule's `outs` attribute. |
| 253 | [genrule( |
| 254 | name = "bazel-bin" + suffix + ".exe", |
| 255 | srcs = [":bazel-bin" + suffix], |
| 256 | outs = ["bazel" + suffix + ".exe"], |
| 257 | cmd = "cp $(location :bazel-bin" + suffix + ") $@", |
| 258 | executable = 1, |
| 259 | output_to_bindir = 1, |
| 260 | visibility = [ |
| 261 | "//scripts:__pkg__", # For bash completion generation |
| 262 | "//scripts/packages:__pkg__", # For installer generation |
| 263 | "//src/test:__subpackages__", # For integration tests |
| 264 | ], |
| 265 | ) for suffix in [ |
| 266 | "", |
| 267 | "_notools", |
Philipp Wollermann | 9504827 | 2017-03-17 15:11:58 +0000 | [diff] [blame] | 268 | "_with_jdk", |
Dmitry Lomov | 9d40a60 | 2016-02-15 16:15:03 +0000 | [diff] [blame] | 269 | ]] |
| 270 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 271 | config_setting( |
| 272 | name = "darwin", |
| 273 | values = {"cpu": "darwin"}, |
| 274 | visibility = ["//visibility:public"], |
| 275 | ) |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 276 | |
| 277 | config_setting( |
Chris Parsons | 5d96a28 | 2015-10-29 17:14:20 +0000 | [diff] [blame] | 278 | name = "darwin_x86_64", |
| 279 | values = {"cpu": "darwin_x86_64"}, |
| 280 | visibility = ["//visibility:public"], |
| 281 | ) |
| 282 | |
| 283 | config_setting( |
Damien Martin-Guillerez | 3d796fe | 2016-01-11 10:07:57 +0000 | [diff] [blame] | 284 | name = "iphonesdk", |
| 285 | values = {"define": "IPHONE_SDK=1"}, |
| 286 | visibility = ["//visibility:public"], |
| 287 | ) |
| 288 | |
| 289 | config_setting( |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 290 | name = "freebsd", |
| 291 | values = {"cpu": "freebsd"}, |
| 292 | visibility = ["//visibility:public"], |
| 293 | ) |
Dmitry Lomov | 197fd6a | 2015-12-06 21:53:16 +0000 | [diff] [blame] | 294 | |
| 295 | config_setting( |
| 296 | name = "windows", |
Dmitry Lomov | 458ccd0 | 2016-02-02 20:30:32 +0000 | [diff] [blame] | 297 | values = {"cpu": "x64_windows"}, |
Dmitry Lomov | 197fd6a | 2015-12-06 21:53:16 +0000 | [diff] [blame] | 298 | visibility = ["//visibility:public"], |
| 299 | ) |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 300 | |
Laszlo Csomor | 8896dad | 2016-09-28 15:02:13 +0000 | [diff] [blame] | 301 | config_setting( |
| 302 | name = "windows_msvc", |
| 303 | values = {"cpu": "x64_windows_msvc"}, |
| 304 | visibility = ["//visibility:public"], |
| 305 | ) |
| 306 | |
Yun Peng | cb8a5e2 | 2017-03-08 14:30:49 +0000 | [diff] [blame] | 307 | config_setting( |
| 308 | name = "windows_msys", |
| 309 | values = {"cpu": "x64_windows_msys"}, |
| 310 | visibility = ["//visibility:public"], |
| 311 | ) |
| 312 | |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 313 | filegroup( |
| 314 | name = "srcs", |
| 315 | srcs = glob(["**"]) + [ |
| 316 | "//src/java_tools/buildjar:srcs", |
Yue Gan | af3c412 | 2016-12-05 14:36:02 +0000 | [diff] [blame] | 317 | "//src/java_tools/junitrunner/java/com/google/testing/coverage:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 318 | "//src/java_tools/junitrunner/java/com/google/testing/junit/junit4:srcs", |
| 319 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner:srcs", |
| 320 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner/internal:srcs", |
| 321 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4:srcs", |
| 322 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner/model:srcs", |
| 323 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding:srcs", |
| 324 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/api:srcs", |
| 325 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner/sharding/testing:srcs", |
| 326 | "//src/java_tools/junitrunner/java/com/google/testing/junit/runner/util:srcs", |
Kush Chakraborty | 6fdef7b | 2017-02-10 16:46:12 +0000 | [diff] [blame] | 327 | "//src/java_tools/junitrunner/javatests/com/google/testing/junit/runner:srcs", |
| 328 | "//src/java_tools/junitrunner/javatests/com/google/testing/junit/runner/testbed:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 329 | "//src/java_tools/singlejar:srcs", |
| 330 | "//src/main/cpp:srcs", |
| 331 | "//src/main/java/com/google/devtools/build/docgen:srcs", |
| 332 | "//src/main/java/com/google/devtools/build/lib:srcs", |
Klaus Aehlig | d1f4a16 | 2016-10-25 14:51:55 +0000 | [diff] [blame] | 333 | "//src/main/java/com/google/devtools/build/lib/causes:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 334 | "//src/main/java/com/google/devtools/build/skyframe:srcs", |
| 335 | "//src/main/java/com/google/devtools/common/options:srcs", |
Damien Martin-Guillerez | 6aa2c27 | 2016-10-07 17:19:42 +0000 | [diff] [blame] | 336 | "//src/main/java/com/google/devtools/skylark:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 337 | "//src/main/native:srcs", |
| 338 | "//src/main/protobuf:srcs", |
| 339 | "//src/main/tools:srcs", |
| 340 | "//src/objc_tools/bundlemerge:srcs", |
| 341 | "//src/objc_tools/plmerge:srcs", |
| 342 | "//src/objc_tools/xcodegen:srcs", |
Damien Martin-Guillerez | 7d265e0 | 2016-07-01 13:33:48 +0000 | [diff] [blame] | 343 | "//src/test/cpp:srcs", |
Googler | 3e83092 | 2017-03-17 17:39:00 +0000 | [diff] [blame] | 344 | "//src/test/gen:srcs", |
Laszlo Csomor | 73e971c | 2017-01-18 13:30:35 +0000 | [diff] [blame] | 345 | "//src/test/native:srcs", |
Damien Martin-Guillerez | 7d265e0 | 2016-07-01 13:33:48 +0000 | [diff] [blame] | 346 | "//src/test/java/com/google/devtools/build/android:srcs", |
| 347 | "//src/test/java/com/google/devtools/build/docgen:srcs", |
| 348 | "//src/test/java/com/google/devtools/build/lib:srcs", |
| 349 | "//src/test/java/com/google/devtools/build/skyframe:srcs", |
| 350 | "//src/test/java/com/google/devtools/common/options:srcs", |
| 351 | "//src/test/shell:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 352 | "//src/tools/android/java/com/google/devtools/build/android:srcs", |
Yue Gan | 81ea54e | 2017-01-25 10:14:52 +0000 | [diff] [blame] | 353 | "//src/tools/benchmark:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 354 | "//src/tools/generate_workspace:srcs", |
| 355 | "//src/tools/xcode/actoolwrapper:srcs", |
| 356 | "//src/tools/xcode/environment:srcs", |
| 357 | "//src/tools/xcode/ibtoolwrapper:srcs", |
Chris Parsons | 1f67a7b | 2016-05-23 19:23:24 +0000 | [diff] [blame] | 358 | "//src/tools/xcode/libtool:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 359 | "//src/tools/xcode/momcwrapper:srcs", |
| 360 | "//src/tools/xcode/realpath:srcs", |
Sasha Smundak | 06a12e5 | 2016-07-15 17:35:51 +0000 | [diff] [blame] | 361 | "//src/tools/singlejar:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 362 | "//src/tools/xcode/stdredirect:srcs", |
| 363 | "//src/tools/xcode/swiftstdlibtoolwrapper:srcs", |
| 364 | "//src/tools/xcode/xcrunwrapper:srcs", |
| 365 | "//src/tools/xcode-common:srcs", |
Damien Martin-Guillerez | 7d265e0 | 2016-07-01 13:33:48 +0000 | [diff] [blame] | 366 | "//src/tools/remote_worker:srcs", |
Chris Parsons | 5eb86fe | 2016-07-21 15:24:55 +0000 | [diff] [blame] | 367 | "//tools/osx:srcs", |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 368 | ], |
| 369 | visibility = ["//:__pkg__"], |
| 370 | ) |
Klaus Aehlig | 4ca79d4 | 2016-10-22 07:59:41 +0000 | [diff] [blame] | 371 | |
| 372 | genrule( |
| 373 | name = "derived_java_srcs", |
| 374 | srcs = [ |
| 375 | "//src/main/protobuf:dist_jars", |
| 376 | "//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:dist_jars", |
| 377 | ], |
| 378 | outs = ["derived_java_srcs.zip"], |
| 379 | cmd = "$(location :combine_derived_java_srcs.sh) $@ $(SRCS)", |
| 380 | tools = ["combine_derived_java_srcs.sh"], |
| 381 | visibility = ["//:__pkg__"], |
| 382 | ) |