blob: 08c54cff13f14786ceccce51afca73ba4cebafdb [file] [log] [blame]
kjellander@webrtc.org177567c2016-12-22 10:40:28 +01001# This file contains dependencies for WebRTC.
kjellander@webrtc.org89256622014-08-20 12:10:11 +00002
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +00003vars = {
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +00004 'chromium_git': 'https://chromium.googlesource.com',
Mirko Bonadeicb2bc112017-10-10 13:28:18 +02005 # By default, we should check out everything needed to run on the main
6 # chromium waterfalls. More info at: crbug.com/570091.
7 'checkout_configuration': 'default',
8 'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"',
Henrik Kjellandera9d4da82017-09-14 07:28:10 +02009 'webrtc_git': 'https://webrtc.googlesource.com',
Autoroller7797a812017-11-01 18:45:38 -070010 'chromium_revision': 'f93b8b19f23d32a7b651cc560efaab18c18c1f10',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010011 'boringssl_git': 'https://boringssl.googlesource.com',
12 # Three lines of non-changing comments so that
13 # the commit queue can handle CLs rolling swarming_client
14 # and whatever else without interference from each other.
Autoroller390d0102017-11-01 15:14:31 -070015 'swarming_revision': '5da404cf35b6541f16d8bd6cc3e506df1fda8021',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010016 # Three lines of non-changing comments so that
17 # the commit queue can handle CLs rolling openmax_dl
18 # and whatever else without interference from each other.
19 'openmax_dl_revision': '7acede9c039ea5d14cf326f44aad1245b9e674a7',
20 # Three lines of non-changing comments so that
21 # the commit queue can handle CLs rolling BoringSSL
22 # and whatever else without interference from each other.
Autorollere7592232017-10-13 05:45:16 -070023 'boringssl_revision': '664e99a6486c293728097c661332f92bf2d847c6',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010024 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010025 # the commit queue can handle CLs rolling lss
26 # and whatever else without interference from each other.
Oleh Prypin3ebed362017-10-27 10:14:45 +020027 'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010028 # Three lines of non-changing comments so that
29 # the commit queue can handle CLs rolling catapult
30 # and whatever else without interference from each other.
Autoroller09e09bd2017-10-31 15:56:01 -070031 'catapult_revision': '14715602e04a3a6e6cf79342f45d2f2595cce0f4',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010032 # Three lines of non-changing comments so that
33 # the commit queue can handle CLs rolling libFuzzer
34 # and whatever else without interference from each other.
Autorollere19d1ba2017-10-09 02:55:35 -070035 'libfuzzer_revision': '06fb50cc1f0197398c8a70658928a3b91912e68a',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000036}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000037deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010038 # TODO(kjellander): Move this to be Android-only once the libevent dependency
39 # in base/third_party/libevent is solved.
40 'src/base':
Autoroller82c7eff2017-11-01 16:24:18 -070041 Var('chromium_git') + '/chromium/src/base' + '@' + 'eec763edae535000b2905891959c8385694d5fa2',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010042 'src/build':
Autoroller7797a812017-11-01 18:45:38 -070043 Var('chromium_git') + '/chromium/src/build' + '@' + '4ef2624fabe9710231174fd89faa354edd7456db',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010044 'src/buildtools':
Autoroller30fa0632017-10-30 20:05:14 -070045 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '3275a099f3c199b50ff97117aa0184f3e91f8a32',
Sami Kalliomäkice502392017-10-30 09:11:57 +010046 # Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020047 'src/examples/androidtests/third_party/gradle': {
48 'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
Sami Kalliomäkice502392017-10-30 09:11:57 +010049 '89af43c4d0506f69980f00dde78c97b2f81437f8',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020050 'condition': 'checkout_android',
51 },
52 'src/ios': {
Autoroller20f18462017-11-01 17:35:49 -070053 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '9e4709d13410dfa655f5dc90c799047ee89eb6eb',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020054 'condition': 'checkout_ios',
55 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010056 'src/testing':
Autoroller7797a812017-11-01 18:45:38 -070057 Var('chromium_git') + '/chromium/src/testing' + '@' + 'a8c077a65849987da1f01def609e25f69e08a536',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010058 'src/third_party':
Autoroller7797a812017-11-01 18:45:38 -070059 Var('chromium_git') + '/chromium/src/third_party' + '@' + '3bd34f929dc1e51ced7602744d1baedd182484f9',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020060 'src/third_party/android_tools': {
Autoroller30fa0632017-10-30 20:05:14 -070061 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'ca0bd083872ad925881736fe2bedc3ff855e08f5',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020062 'condition': 'checkout_android',
63 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080064 'src/third_party/auto/src': {
65 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '71802f2ae74dae2744abd999f8434e13055c4ee3',
66 'condition': 'checkout_android',
67 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010068 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020069 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010070 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020071 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
72 'src/third_party/ced/src': {
73 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
74 'condition': 'checkout_android',
75 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010076 'src/third_party/colorama/src':
77 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070078 'src/third_party/depot_tools':
Autorollerd2776cd2017-10-31 22:55:02 -070079 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '70dea4270ec17be5af9f04492d3ba15f58df4501',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020080 'src/third_party/errorprone/lib': {
Oleh Prypin3ebed362017-10-27 10:14:45 +020081 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + '16b8b7298b183312a2fcac99fb1b594ccf7749d0',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020082 'condition': 'checkout_android',
83 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010084 'src/third_party/ffmpeg':
Oleh Prypin3ebed362017-10-27 10:14:45 +020085 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + 'f9e8b4275837a3859988351b70d5d1e045838da8',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020086 # WebRTC-only dependency (not present in Chromium).
87 'src/third_party/gtest-parallel':
Autoroller30fa0632017-10-30 20:05:14 -070088 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + '89ab65d56d3c76e552f59adabbaf8b0cf80d55ea',
kjellander3dae7052017-05-03 06:44:36 -070089 'src/third_party/googletest/src':
buildbot8f82e632017-08-30 21:18:15 -070090 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '7f8fefabedf2965980585be8c2bff97458f28e0b',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020091 'src/third_party/icu': {
Autorollere7592232017-10-13 05:45:16 -070092 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '21d33b1a09a77f033478ea4ffffb61e6970f83bd',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020093 },
94 'src/third_party/jsr-305/src': {
95 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
96 'condition': 'checkout_android',
97 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010098 'src/third_party/jsoncpp/source':
99 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200100 'src/third_party/junit/src': {
101 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
102 'condition': 'checkout_android',
103 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100104 # Used for building libFuzzers (only supports Linux).
105 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700106 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100107 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700108 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100109 'src/third_party/libsrtp':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200110 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '1d45b8e599dc2db6ea3ae22dbc94a8c504652423',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100111 'src/third_party/libvpx/source/libvpx':
Autoroller0d6609d2017-11-01 14:05:05 -0700112 Var('chromium_git') + '/webm/libvpx.git' + '@' + '3ba9a2c8b2341430b001ed531f1eedf7c9b0384f',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100113 'src/third_party/libyuv':
Oleh Prypin3ebed362017-10-27 10:14:45 +0200114 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '8fa02df3c0591754958a50cc2896aafae319f3bc',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200115 'src/third_party/lss': {
116 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
117 'condition': 'checkout_android or checkout_linux',
118 },
119 'src/third_party/mockito/src': {
120 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
121 'condition': 'checkout_android',
122 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100123 'src/third_party/openh264/src':
ssilkin1440c9f2017-09-28 03:35:45 -0700124 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + 'a180c9d4d6f1a4830ca9eed9d159d54996bd63cb',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100125 'src/third_party/openmax_dl':
Henrik Kjellandera9d4da82017-09-14 07:28:10 +0200126 Var('webrtc_git') + '/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200127 'src/third_party/requests/src': {
128 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
129 'condition': 'checkout_android',
130 },
131 'src/third_party/robolectric/robolectric': {
132 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + 'b02c65cc6d7465f58f0de48a39914aa905692afa',
133 'condition': 'checkout_android',
134 },
135 'src/third_party/ub-uiautomator/lib': {
136 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
137 'condition': 'checkout_android',
138 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100139 'src/third_party/usrsctp/usrsctplib':
buildbot1b20dc42017-08-07 12:55:14 -0700140 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + 'f4819e1b177f7bfdd761c147f5a649b9f1a78c06',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200141 # WebRTC-only dependency (not present in Chromium).
142 'src/third_party/winsdk_samples': {
143 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + '2d31a1cbecc86359e6ec041fb9ff6c082babd073',
144 'condition': 'checkout_win',
145 },
146 # Dependency used by libjpeg-turbo.
147 'src/third_party/yasm/binaries': {
148 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
149 'condition': 'checkout_win',
150 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100151 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700152 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100153 'src/tools':
Autoroller7797a812017-11-01 18:45:38 -0700154 Var('chromium_git') + '/chromium/src/tools' + '@' + 'b512b7250b8c8d7b1f66fe2dd39557be246417a5',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100155 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -0700156 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -0700157 'src/tools/swarming_client':
158 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000159}
kjellander200028f2017-08-17 09:54:12 -0700160
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000161hooks = [
162 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200163 # This clobbers when necessary (based on get_landmines.py). It should be
164 # an early hook but it will need to be run after syncing Chromium and
165 # setting up the links, so the script actually exists.
166 'name': 'landmines',
167 'pattern': '.',
168 'action': [
169 'python',
170 'src/build/landmines.py',
171 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200172 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200173 '--src-dir',
174 'src',
175 ],
176 },
oprypin40e7ebd2017-07-27 01:40:18 -0700177 {
178 # Ensure that the DEPS'd "depot_tools" has its self-update capability
179 # disabled.
180 'name': 'disable_depot_tools_selfupdate',
181 'pattern': '.',
182 'action': [
183 'python',
184 'src/third_party/depot_tools/update_depot_tools_toggle.py',
185 '--disable',
186 ],
187 },
kjellander24d812d2016-11-22 07:02:11 -0800188 {
189 # Downloads the current stable linux sysroot to build/linux/ if needed.
190 # This sysroot updates at about the same rate that the chrome build deps
191 # change. This script is a no-op except for linux users who are doing
192 # official chrome builds or cross compiling.
193 'name': 'sysroot',
194 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200195 'condition': 'checkout_linux',
kjellander24d812d2016-11-22 07:02:11 -0800196 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
197 '--running-as-hook'],
198 },
199 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200200 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800201 'name': 'win_toolchain',
202 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200203 # TODO(thakis): Put some condition here. Not just host_os == 'win', because
204 # we also need this for (mac|linux) -> win cross builds.
kjellander24d812d2016-11-22 07:02:11 -0800205 'action': ['python', 'src/build/vs_toolchain.py', 'update'],
206 },
kjellanderec2c93e2017-09-08 10:52:17 -0700207 {
208 # Update the Mac toolchain if necessary.
209 'name': 'mac_toolchain',
210 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200211 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700212 'action': ['python', 'src/build/mac_toolchain.py'],
213 },
kjellander24d812d2016-11-22 07:02:11 -0800214 # Pull binutils for linux, enabled debug fission for faster linking /
215 # debugging when used with clang on Ubuntu Precise.
216 # https://code.google.com/p/chromium/issues/detail?id=352046
217 {
218 'name': 'binutils',
219 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200220 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800221 'action': [
222 'python',
223 'src/third_party/binutils/download.py',
224 ],
225 },
226 {
kjellander24d812d2016-11-22 07:02:11 -0800227 # Note: On Win, this should run after win_toolchain, as it may use it.
228 'name': 'clang',
229 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200230 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800231 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800232 {
233 # Update LASTCHANGE.
234 'name': 'lastchange',
235 'pattern': '.',
236 'action': ['python', 'src/build/util/lastchange.py',
237 '-o', 'src/build/util/LASTCHANGE'],
238 },
kjellander24d812d2016-11-22 07:02:11 -0800239 # Pull GN binaries.
240 {
241 'name': 'gn_win',
242 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200243 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800244 'action': [ 'download_from_google_storage',
245 '--no_resume',
246 '--platform=win32',
247 '--no_auth',
248 '--bucket', 'chromium-gn',
249 '-s', 'src/buildtools/win/gn.exe.sha1',
250 ],
251 },
252 {
253 'name': 'gn_mac',
254 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200255 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800256 'action': [ 'download_from_google_storage',
257 '--no_resume',
258 '--platform=darwin',
259 '--no_auth',
260 '--bucket', 'chromium-gn',
261 '-s', 'src/buildtools/mac/gn.sha1',
262 ],
263 },
264 {
265 'name': 'gn_linux64',
266 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200267 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800268 'action': [ 'download_from_google_storage',
269 '--no_resume',
270 '--platform=linux*',
271 '--no_auth',
272 '--bucket', 'chromium-gn',
273 '-s', 'src/buildtools/linux64/gn.sha1',
274 ],
275 },
276 # Pull clang-format binaries using checked-in hashes.
277 {
278 'name': 'clang_format_win',
279 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200280 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800281 'action': [ 'download_from_google_storage',
282 '--no_resume',
283 '--platform=win32',
284 '--no_auth',
285 '--bucket', 'chromium-clang-format',
286 '-s', 'src/buildtools/win/clang-format.exe.sha1',
287 ],
288 },
289 {
290 'name': 'clang_format_mac',
291 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200292 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800293 'action': [ 'download_from_google_storage',
294 '--no_resume',
295 '--platform=darwin',
296 '--no_auth',
297 '--bucket', 'chromium-clang-format',
298 '-s', 'src/buildtools/mac/clang-format.sha1',
299 ],
300 },
301 {
302 'name': 'clang_format_linux',
303 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200304 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800305 'action': [ 'download_from_google_storage',
306 '--no_resume',
307 '--platform=linux*',
308 '--no_auth',
309 '--bucket', 'chromium-clang-format',
310 '-s', 'src/buildtools/linux64/clang-format.sha1',
311 ],
312 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200313 # Pull rc binaries using checked-in hashes.
314 {
315 'name': 'rc_win',
316 'pattern': '.',
317 'condition': 'checkout_win and host_os == "win"',
318 'action': [ 'python',
319 'src/third_party/depot_tools/download_from_google_storage.py',
320 '--no_resume',
321 '--no_auth',
322 '--bucket', 'chromium-browser-clang/rc',
323 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
324 ],
325 },
326 {
327 'name': 'rc_mac',
328 'pattern': '.',
329 'condition': 'checkout_win and host_os == "mac"',
330 'action': [ 'python',
331 'src/third_party/depot_tools/download_from_google_storage.py',
332 '--no_resume',
333 '--no_auth',
334 '--bucket', 'chromium-browser-clang/rc',
335 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
336 ],
337 },
338 {
339 'name': 'rc_linux',
340 'pattern': '.',
341 'condition': 'checkout_win and host_os == "linux"',
342 'action': [ 'python',
343 'src/third_party/depot_tools/download_from_google_storage.py',
344 '--no_resume',
345 '--no_auth',
346 '--bucket', 'chromium-browser-clang/rc',
347 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
348 ],
349 },
kjellander24d812d2016-11-22 07:02:11 -0800350 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
351 {
352 'name': 'luci-go_win',
353 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200354 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800355 'action': [ 'download_from_google_storage',
356 '--no_resume',
357 '--platform=win32',
358 '--no_auth',
359 '--bucket', 'chromium-luci',
360 '-d', 'src/tools/luci-go/win64',
361 ],
362 },
363 {
364 'name': 'luci-go_mac',
365 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200366 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800367 'action': [ 'download_from_google_storage',
368 '--no_resume',
369 '--platform=darwin',
370 '--no_auth',
371 '--bucket', 'chromium-luci',
372 '-d', 'src/tools/luci-go/mac64',
373 ],
374 },
375 {
376 'name': 'luci-go_linux',
377 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200378 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800379 'action': [ 'download_from_google_storage',
380 '--no_resume',
381 '--platform=linux*',
382 '--no_auth',
383 '--bucket', 'chromium-luci',
384 '-d', 'src/tools/luci-go/linux64',
385 ],
386 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200387 # Pull the Syzygy binaries, used for optimization and instrumentation.
388 {
389 'name': 'syzygy-binaries',
390 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200391 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200392 'action': ['python',
393 'src/build/get_syzygy_binaries.py',
394 '--output-dir=src/third_party/syzygy/binaries',
395 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
396 '--overwrite',
397 ],
398 },
kjellander24d812d2016-11-22 07:02:11 -0800399 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200400 'name': 'msan_chained_origins',
401 'pattern': '.',
402 'condition': 'checkout_instrumented_libraries',
403 'action': [ 'python',
404 'src/third_party/depot_tools/download_from_google_storage.py',
405 "--no_resume",
406 "--no_auth",
407 "--bucket", "chromium-instrumented-libraries",
408 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
409 ],
410 },
411 {
412 'name': 'msan_no_origins',
413 'pattern': '.',
414 'condition': 'checkout_instrumented_libraries',
415 'action': [ 'python',
416 'src/third_party/depot_tools/download_from_google_storage.py',
417 "--no_resume",
418 "--no_auth",
419 "--bucket", "chromium-instrumented-libraries",
420 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
421 ],
kjellander24d812d2016-11-22 07:02:11 -0800422 },
423 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000424 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000425 'pattern': '.',
426 'action': ['download_from_google_storage',
427 '--directory',
428 '--recursive',
429 '--num_threads=10',
430 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800431 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000432 '--bucket', 'chromium-webrtc-resources',
433 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000434 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200435 {
436 # This downloads SDK extras and puts them in the
437 # third_party/android_tools/sdk/extras directory.
438 'name': 'sdkextras',
439 'pattern': '.',
440 'condition': 'checkout_android',
441 # When adding a new sdk extras package to download, add the package
442 # directory and zip file to .gitignore in third_party/android_tools.
443 'action': ['python',
444 'src/build/android/play_services/update.py',
445 'download'
446 ],
447 },
448 {
449 'name': 'intellij',
450 'pattern': '.',
451 'condition': 'checkout_android',
452 'action': ['python',
453 'src/build/android/update_deps/update_third_party_deps.py',
454 'download',
455 '-b', 'chromium-intellij',
456 '-l', 'third_party/intellij'
457 ],
458 },
459 {
460 'name': 'javax_inject',
461 'pattern': '.',
462 'condition': 'checkout_android',
463 'action': ['python',
464 'src/build/android/update_deps/update_third_party_deps.py',
465 'download',
466 '-b', 'chromium-javax-inject',
467 '-l', 'third_party/javax_inject'
468 ],
469 },
470 {
471 'name': 'hamcrest',
472 'pattern': '.',
473 'condition': 'checkout_android',
474 'action': ['python',
475 'src/build/android/update_deps/update_third_party_deps.py',
476 'download',
477 '-b', 'chromium-hamcrest',
478 '-l', 'third_party/hamcrest'
479 ],
480 },
481 {
482 'name': 'guava',
483 'pattern': '.',
484 'condition': 'checkout_android',
485 'action': ['python',
486 'src/build/android/update_deps/update_third_party_deps.py',
487 'download',
488 '-b', 'chromium-guava',
489 '-l', 'third_party/guava'
490 ],
491 },
492 {
493 'name': 'android_support_test_runner',
494 'pattern': '.',
495 'condition': 'checkout_android',
496 'action': ['python',
497 'src/build/android/update_deps/update_third_party_deps.py',
498 'download',
499 '-b', 'chromium-android-support-test-runner',
500 '-l', 'third_party/android_support_test_runner'
501 ],
502 },
503 {
504 'name': 'byte_buddy',
505 'pattern': '.',
506 'condition': 'checkout_android',
507 'action': ['python',
508 'src/build/android/update_deps/update_third_party_deps.py',
509 'download',
510 '-b', 'chromium-byte-buddy',
511 '-l', 'third_party/byte_buddy'
512 ],
513 },
514 {
515 'name': 'espresso',
516 'pattern': '.',
517 'condition': 'checkout_android',
518 'action': ['python',
519 'src/build/android/update_deps/update_third_party_deps.py',
520 'download',
521 '-b', 'chromium-espresso',
522 '-l', 'third_party/espresso'
523 ],
524 },
525 {
526 'name': 'robolectric_libs',
527 'pattern': '.',
528 'condition': 'checkout_android',
529 'action': ['python',
530 'src/build/android/update_deps/update_third_party_deps.py',
531 'download',
532 '-b', 'chromium-robolectric',
533 '-l', 'third_party/robolectric'
534 ],
535 },
536 {
537 'name': 'apache_velocity',
538 'pattern': '.',
539 'condition': 'checkout_android',
540 'action': ['python',
541 'src/build/android/update_deps/update_third_party_deps.py',
542 'download',
543 '-b', 'chromium-apache-velocity',
544 '-l', 'third_party/apache_velocity'
545 ],
546 },
547 {
548 'name': 'ow2_asm',
549 'pattern': '.',
550 'condition': 'checkout_android',
551 'action': ['python',
552 'src/build/android/update_deps/update_third_party_deps.py',
553 'download',
554 '-b', 'chromium-ow2-asm',
555 '-l', 'third_party/ow2_asm'
556 ],
557 },
558 {
559 'name': 'desugar',
560 'pattern': '.',
561 'condition': 'checkout_android',
562 'action': ['python',
563 'src/build/android/update_deps/update_third_party_deps.py',
564 'download',
565 '-b', 'chromium-android-tools/bazel/desugar',
566 '-l', 'third_party/bazel/desugar'
567 ],
568 },
569 {
570 'name': 'icu4j',
571 'pattern': '.',
572 'condition': 'checkout_android',
573 'action': ['python',
574 'src/build/android/update_deps/update_third_party_deps.py',
575 'download',
576 '-b', 'chromium-icu4j',
577 '-l', 'third_party/icu4j'
578 ],
579 },
580 {
581 'name': 'accessibility_test_framework',
582 'pattern': '.',
583 'condition': 'checkout_android',
584 'action': ['python',
585 'src/build/android/update_deps/update_third_party_deps.py',
586 'download',
587 '-b', 'chromium-accessibility-test-framework',
588 '-l', 'third_party/accessibility_test_framework'
589 ],
590 },
591 {
592 'name': 'bouncycastle',
593 'pattern': '.',
594 'condition': 'checkout_android',
595 'action': ['python',
596 'src/build/android/update_deps/update_third_party_deps.py',
597 'download',
598 '-b', 'chromium-bouncycastle',
599 '-l', 'third_party/bouncycastle'
600 ],
601 },
602 {
603 'name': 'sqlite4java',
604 'pattern': '.',
605 'condition': 'checkout_android',
606 'action': ['python',
607 'src/build/android/update_deps/update_third_party_deps.py',
608 'download',
609 '-b', 'chromium-sqlite4java',
610 '-l', 'third_party/sqlite4java'
611 ],
612 },
613 {
614 'name': 'xstream',
615 'pattern': '.',
616 'condition': 'checkout_android',
617 'action': ['python',
618 'src/build/android/update_deps/update_third_party_deps.py',
619 'download',
620 '-b', 'chromium-robolectric',
621 '-l', 'third_party/xstream'
622 ],
623 },
624 {
625 'name': 'objenesis',
626 'pattern': '.',
627 'condition': 'checkout_android',
628 'action': ['python',
629 'src/build/android/update_deps/update_third_party_deps.py',
630 'download',
631 '-b', 'chromium-objenesis',
632 '-l', 'third_party/objenesis'
633 ],
634 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000635]
kjellander200028f2017-08-17 09:54:12 -0700636
kjellander24d812d2016-11-22 07:02:11 -0800637recursedeps = [
638 # buildtools provides clang_format, libc++, and libc++abi.
639 'src/buildtools',
640 # android_tools manages the NDK.
641 'src/third_party/android_tools',
642]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200643
644# Define rules for which include paths are allowed in our source.
645include_rules = [
646 # Base is only used to build Android APK tests and may not be referenced by
647 # WebRTC production code.
648 "-base",
649 "-chromium",
650 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200651 "+libyuv",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200652 # Individual headers that will be moved out of here, see webrtc:4243.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200653 "+call/rtp_config.h",
654 "+common_types.h",
655 "+transport.h",
656 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200657
658 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200659 "+api",
660 "+modules/include",
661 "+rtc_base",
662 "+test",
663 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200664]
665
666# The below rules will be removed when webrtc:4243 is fixed.
667specific_include_rules = {
668 "video_receive_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200669 "+call/video_receive_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200670 ],
671 "video_send_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200672 "+call/video_send_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200673 ],
674}