blob: 4f281144f7e077b736455d1c4bb510f7159ecdb5 [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',
Autoroller87e44792018-06-22 07:44:01 -070010 'chromium_revision': 'ecf8a6133e97647dfc085321ee80db7fab25590f',
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.
Autoroller024eeff2018-06-18 21:44:09 -070015 'swarming_revision': '9a518d097dca20b7b00ce3bdfc5d418ccc79893a',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010016 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010017 # the commit queue can handle CLs rolling BoringSSL
18 # and whatever else without interference from each other.
Autoroller024eeff2018-06-18 21:44:09 -070019 'boringssl_revision': '6ff2ba80b758025fdb137d9357dcbba0a9c04dbf',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010020 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010021 # the commit queue can handle CLs rolling lss
22 # and whatever else without interference from each other.
Oleh Prypin3ebed362017-10-27 10:14:45 +020023 'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010024 # Three lines of non-changing comments so that
25 # the commit queue can handle CLs rolling catapult
26 # and whatever else without interference from each other.
Autoroller87e44792018-06-22 07:44:01 -070027 'catapult_revision': '87eefd4f114377b460c952a4a89cb1875b7bd4cb',
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 libFuzzer
30 # and whatever else without interference from each other.
Autorollerb7beba42018-06-08 15:46:35 -070031 'libfuzzer_revision': '873dc11d9a5281034e2cb74d0e87e9149a0e1045',
Mirko Bonadei25acef72018-04-23 11:17:50 +020032 # Three lines of non-changing comments so that
33 # the commit queue can handle CLs rolling freetype
34 # and whatever else without interference from each other.
Autoroller751a8172018-06-19 12:44:37 -070035 'freetype_revision': '7915fd51f123d0adbe6a0b9ad19eb941e1733c87',
Mirko Bonadei25acef72018-04-23 11:17:50 +020036 # Three lines of non-changing comments so that
37 # the commit queue can handle CLs rolling HarfBuzz
38 # and whatever else without interference from each other.
39 'harfbuzz_revision': '957e7756634a4fdf1654041e20e883cf964ecac9',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000040}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000041deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010042 # TODO(kjellander): Move this to be Android-only once the libevent dependency
43 # in base/third_party/libevent is solved.
44 'src/base':
Autoroller87e44792018-06-22 07:44:01 -070045 Var('chromium_git') + '/chromium/src/base' + '@' + 'f7595e419a16dee5e57487178a20f94e7b76b07c',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010046 'src/build':
Autoroller87e44792018-06-22 07:44:01 -070047 Var('chromium_git') + '/chromium/src/build' + '@' + '69593eb8fa3acf8b4fb3708aedf2212187f4fa61',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010048 'src/buildtools':
Autoroller024eeff2018-06-18 21:44:09 -070049 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '5941c1b3df96c1db756a2834343533335c394c4a',
Mirko Bonadeid3fb8642018-01-22 08:50:32 +010050 # Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
51 'src/examples/androidtests/third_party/gradle': {
52 'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
53 '89af43c4d0506f69980f00dde78c97b2f81437f8',
54 'condition': 'checkout_android',
55 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020056 'src/ios': {
Autoroller87e44792018-06-22 07:44:01 -070057 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '181b18c878f3706279a30e8941aa2a7854758c4a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020058 'condition': 'checkout_ios',
59 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010060 'src/testing':
Autoroller87e44792018-06-22 07:44:01 -070061 Var('chromium_git') + '/chromium/src/testing' + '@' + '8354b28f744d5b1b1a0b4e7c8cb713408323ee03',
Artem Titov42f0d782018-06-27 13:23:17 +020062 'src/third_party':
63 Var('chromium_git') + '/chromium/src/third_party' + '@' + '46683344d7566fa1caceb097e212afc22afc4312',
Edward Lemur55536f22018-01-11 14:14:26 +010064 'src/third_party/android_ndk': {
Autorollerbf51de82018-05-04 03:44:23 -070065 'url': Var('chromium_git') + '/android_ndk.git' + '@' + '5cd86312e794bdf542a3685c6f10cbb96072990b',
Edward Lemur55536f22018-01-11 14:14:26 +010066 'condition': 'checkout_android',
67 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020068 'src/third_party/android_tools': {
Autoroller0d4ee0a2018-06-21 18:44:09 -070069 'url': Var('chromium_git') + '/android_tools.git' + '@' + '3545ab5b9883087a54cb9e5337c32617cb2a443d',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020070 'condition': 'checkout_android',
71 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080072 'src/third_party/auto/src': {
Autoroller23b5cc92018-01-18 12:45:10 -080073 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '8a81a858ae7b78a1aef71ac3905fade0bbd64e82',
Mirko Bonadei969d4a92017-11-05 15:57:38 -080074 'condition': 'checkout_android',
75 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010076 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020077 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010078 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020079 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
80 'src/third_party/ced/src': {
81 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
82 'condition': 'checkout_android',
83 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010084 'src/third_party/colorama/src':
85 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070086 'src/third_party/depot_tools':
Autoroller87e44792018-06-22 07:44:01 -070087 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'c5a26a769e69377391ed9bf71ca74d7eae5e6717',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020088 'src/third_party/errorprone/lib': {
Oleh Prypina12bdbf2018-04-26 15:49:11 +020089 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + '980d49e839aa4984015efed34b0134d4b2c9b6d7',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020090 'condition': 'checkout_android',
91 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010092 'src/third_party/ffmpeg':
Autorollerd8b4f1e2018-05-03 02:44:16 -070093 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '90210b5e10d3917567a3025e4853704bfefd8384',
Oleh Prypine39c3792017-11-14 23:09:08 +010094 'src/third_party/findbugs': {
95 'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
96 'condition': 'checkout_android',
97 },
Mirko Bonadei25acef72018-04-23 11:17:50 +020098 'src/third_party/freetype/src':
99 Var('chromium_git') + '/chromium/src/third_party/freetype2.git' + '@' + Var('freetype_revision'),
100 'src/third_party/harfbuzz-ng/src':
101 Var('chromium_git') + '/external/github.com/harfbuzz/harfbuzz.git' + '@' + Var('harfbuzz_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200102 # WebRTC-only dependency (not present in Chromium).
103 'src/third_party/gtest-parallel':
Autorollerb4e0e502018-05-09 18:45:49 -0700104 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + 'cb3514a0858be0f66281d892e2242d1073fd75fe',
kjellander3dae7052017-05-03 06:44:36 -0700105 'src/third_party/googletest/src':
Autoroller024eeff2018-06-18 21:44:09 -0700106 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + 'ce468a17c434e4e79724396ee1b51d86bfc8a88b',
Mirko Bonadei77cc8182018-06-28 11:36:27 +0200107 'src/third_party/gn': {
108 'packages': [
109 {
110 'package': 'gn/gn/${{platform}}',
111 'version': 'git_revision:f30b5738e20fdd2f00eba6298c536d66c13b09e3',
112 },
113 ],
114 'dep_type': 'cipd',
115 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200116 'src/third_party/icu': {
Autoroller5f5819f2018-06-21 13:44:00 -0700117 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '172d33141cd16df9d027cfd49bfe940b1dc66f1a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200118 },
119 'src/third_party/jsr-305/src': {
120 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
121 'condition': 'checkout_android',
122 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100123 'src/third_party/jsoncpp/source':
124 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200125 'src/third_party/junit/src': {
126 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
127 'condition': 'checkout_android',
128 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100129 # Used for building libFuzzers (only supports Linux).
130 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700131 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100132 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700133 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100134 'src/third_party/libsrtp':
Autoroller96a0e602018-04-06 19:45:43 -0700135 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + 'fc2345089a6b3c5aca9ecd2e1941871a78a13e9c',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100136 'src/third_party/libvpx/source/libvpx':
Autoroller024eeff2018-06-18 21:44:09 -0700137 Var('chromium_git') + '/webm/libvpx.git' + '@' + '8648a64c83b5660eae774d5d41f34fc014ba7b4b',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100138 'src/third_party/libyuv':
Autoroller188301c2018-06-19 18:44:29 -0700139 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'bc383e76d6316cf7ca59c76d18d0d7e61f007780',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200140 'src/third_party/lss': {
141 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
142 'condition': 'checkout_android or checkout_linux',
143 },
144 'src/third_party/mockito/src': {
Autoroller0d4ee0a2018-06-21 18:44:09 -0700145 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + '04a2a289a4222f80ad20717c25144981210d2eac',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200146 'condition': 'checkout_android',
147 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100148 'src/third_party/openh264/src':
Autoroller5d16e2c2018-05-03 10:44:45 -0700149 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3b51f16a4a41df729f8d647f03e48c5f272911ff',
Patrik Höglund72520532018-06-08 10:43:05 +0200150 'src/third_party/r8': {
151 'packages': [
152 {
153 'package': 'chromium/third_party/r8',
154 'version': 'version:1.0.30',
155 },
156 ],
157 'condition': 'checkout_android',
158 'dep_type': 'cipd',
159 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200160 'src/third_party/requests/src': {
161 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
162 'condition': 'checkout_android',
163 },
164 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800165 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200166 'condition': 'checkout_android',
167 },
168 'src/third_party/ub-uiautomator/lib': {
169 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
170 'condition': 'checkout_android',
171 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100172 'src/third_party/usrsctp/usrsctplib':
Autoroller1b3bd0b2018-03-26 05:44:30 -0700173 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '159d060dceec41a64a57356cbba8c455105f3f72',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200174 # WebRTC-only dependency (not present in Chromium).
175 'src/third_party/winsdk_samples': {
Mirko Bonadeief003102018-05-15 11:24:00 +0200176 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + 'a59391ef795986633735a1695caa97622a9bfd56',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200177 'condition': 'checkout_win',
178 },
179 # Dependency used by libjpeg-turbo.
180 'src/third_party/yasm/binaries': {
181 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
182 'condition': 'checkout_win',
183 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100184 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700185 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100186 'src/tools':
Autoroller87e44792018-06-22 07:44:01 -0700187 Var('chromium_git') + '/chromium/src/tools' + '@' + '592ddd1d147c1a66ed69f3ca754829035d62817b',
oprypin4ccd9c12017-08-30 00:42:43 -0700188 'src/tools/swarming_client':
189 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
Oleh Prypine18e2692018-02-19 18:43:17 +0100190
191 'src/third_party/accessibility_test_framework': {
192 'packages': [
193 {
194 'package': 'chromium/third_party/accessibility-test-framework',
195 'version': 'version:2.1-cr0',
196 },
197 ],
198 'condition': 'checkout_android',
199 'dep_type': 'cipd',
200 },
201
202 'src/third_party/android_support_test_runner': {
203 'packages': [
204 {
205 'package': 'chromium/third_party/android_support_test_runner',
206 'version': 'version:0.5-cr0',
207 },
208 ],
209 'condition': 'checkout_android',
210 'dep_type': 'cipd',
211 },
212
213 'src/third_party/apk-patch-size-estimator': {
214 'packages': [
215 {
216 'package': 'chromium/third_party/apk-patch-size-estimator',
217 'version': 'version:0.2-cr0',
218 },
219 ],
220 'condition': 'checkout_android',
221 'dep_type': 'cipd',
222 },
223
224 'src/third_party/bazel': {
225 'packages': [
226 {
227 'package': 'chromium/third_party/bazel',
228 'version': 'version:0.10.0',
229 },
230 ],
231 'condition': 'checkout_android',
232 'dep_type': 'cipd',
233 },
234
235 'src/third_party/bouncycastle': {
236 'packages': [
237 {
238 'package': 'chromium/third_party/bouncycastle',
239 'version': 'version:1.46-cr0',
240 },
241 ],
242 'condition': 'checkout_android',
243 'dep_type': 'cipd',
244 },
245
246 'src/third_party/byte_buddy': {
247 'packages': [
248 {
249 'package': 'chromium/third_party/byte_buddy',
Autoroller0d4ee0a2018-06-21 18:44:09 -0700250 'version': 'version:1.8.8-cr0',
Oleh Prypine18e2692018-02-19 18:43:17 +0100251 },
252 ],
253 'condition': 'checkout_android',
254 'dep_type': 'cipd',
255 },
256
257 'src/third_party/espresso': {
258 'packages': [
259 {
260 'package': 'chromium/third_party/espresso',
261 'version': 'version:2.2.1-cr0',
262 },
263 ],
264 'condition': 'checkout_android',
265 'dep_type': 'cipd',
266 },
267
268 'src/third_party/gson': {
269 'packages': [
270 {
271 'package': 'chromium/third_party/gson',
272 'version': 'version:2.8.0-cr0',
273 },
274 ],
275 'condition': 'checkout_android',
276 'dep_type': 'cipd',
277 },
278
279 'src/third_party/guava': {
280 'packages': [
281 {
282 'package': 'chromium/third_party/guava',
283 'version': 'version:23.0-cr0',
284 },
285 ],
286 'condition': 'checkout_android',
287 'dep_type': 'cipd',
288 },
289
290 'src/third_party/hamcrest': {
291 'packages': [
292 {
293 'package': 'chromium/third_party/hamcrest',
294 'version': 'version:1.3-cr0',
295 },
296 ],
297 'condition': 'checkout_android',
298 'dep_type': 'cipd',
299 },
300
301 'src/third_party/icu4j': {
302 'packages': [
303 {
304 'package': 'chromium/third_party/icu4j',
305 'version': 'version:53.1-cr0',
306 },
307 ],
308 'condition': 'checkout_android',
309 'dep_type': 'cipd',
310 },
311
312 'src/third_party/intellij': {
313 'packages': [
314 {
315 'package': 'chromium/third_party/intellij',
316 'version': 'version:12.0-cr0',
317 },
318 ],
319 'condition': 'checkout_android',
320 'dep_type': 'cipd',
321 },
322
323 'src/third_party/javax_inject': {
324 'packages': [
325 {
326 'package': 'chromium/third_party/javax_inject',
327 'version': 'version:1-cr0',
328 },
329 ],
330 'condition': 'checkout_android',
331 'dep_type': 'cipd',
332 },
333
334 'src/third_party/objenesis': {
335 'packages': [
336 {
337 'package': 'chromium/third_party/objenesis',
338 'version': 'version:2.4-cr0',
339 },
340 ],
341 'condition': 'checkout_android',
342 'dep_type': 'cipd',
343 },
344
345 'src/third_party/ow2_asm': {
346 'packages': [
347 {
348 'package': 'chromium/third_party/ow2_asm',
349 'version': 'version:5.0.1-cr0',
350 },
351 ],
352 'condition': 'checkout_android',
353 'dep_type': 'cipd',
354 },
355
356 'src/third_party/robolectric': {
357 'packages': [
358 {
359 'package': 'chromium/third_party/robolectric',
360 'version': 'version:3.5.1',
361 },
362 ],
363 'condition': 'checkout_android',
364 'dep_type': 'cipd',
365 },
366
367 'src/third_party/sqlite4java': {
368 'packages': [
369 {
370 'package': 'chromium/third_party/sqlite4java',
371 'version': 'version:0.282-cr0',
372 },
373 ],
374 'condition': 'checkout_android',
375 'dep_type': 'cipd',
376 },
377
378 'src/third_party/xstream': {
379 'packages': [
380 {
381 'package': 'chromium/third_party/xstream',
382 'version': 'version:1.4.8-cr0',
383 },
384 ],
385 'condition': 'checkout_android',
386 'dep_type': 'cipd',
387 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000388}
kjellander200028f2017-08-17 09:54:12 -0700389
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000390hooks = [
391 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200392 # This clobbers when necessary (based on get_landmines.py). It should be
393 # an early hook but it will need to be run after syncing Chromium and
394 # setting up the links, so the script actually exists.
395 'name': 'landmines',
396 'pattern': '.',
397 'action': [
398 'python',
399 'src/build/landmines.py',
400 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200401 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200402 '--src-dir',
403 'src',
404 ],
405 },
oprypin40e7ebd2017-07-27 01:40:18 -0700406 {
407 # Ensure that the DEPS'd "depot_tools" has its self-update capability
408 # disabled.
409 'name': 'disable_depot_tools_selfupdate',
410 'pattern': '.',
411 'action': [
412 'python',
413 'src/third_party/depot_tools/update_depot_tools_toggle.py',
414 '--disable',
415 ],
416 },
kjellander24d812d2016-11-22 07:02:11 -0800417 {
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100418 'name': 'sysroot_arm',
kjellander24d812d2016-11-22 07:02:11 -0800419 'pattern': '.',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100420 'condition': 'checkout_linux and checkout_arm',
kjellander24d812d2016-11-22 07:02:11 -0800421 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100422 '--arch=arm'],
423 },
424 {
425 'name': 'sysroot_arm64',
426 'pattern': '.',
427 'condition': 'checkout_linux and checkout_arm64',
428 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
429 '--arch=arm64'],
430 },
431 {
432 'name': 'sysroot_x86',
433 'pattern': '.',
434 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
435 # TODO(mbonadei): change to --arch=x86.
436 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
437 '--arch=i386'],
438 },
439 {
440 'name': 'sysroot_mips',
441 'pattern': '.',
442 'condition': 'checkout_linux and checkout_mips',
443 # TODO(mbonadei): change to --arch=mips.
444 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
445 '--arch=mipsel'],
446 },
447 {
448 'name': 'sysroot_x64',
449 'pattern': '.',
450 'condition': 'checkout_linux and checkout_x64',
451 # TODO(mbonadei): change to --arch=x64.
452 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
453 '--arch=amd64'],
kjellander24d812d2016-11-22 07:02:11 -0800454 },
455 {
Mirko Bonadeia55bdc22018-02-12 13:22:50 +0100456 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
457 'name': 'ciopfs_linux',
458 'pattern': '.',
459 'condition': 'checkout_win and host_os == "linux"',
460 'action': [ 'python',
461 'src/third_party/depot_tools/download_from_google_storage.py',
462 '--no_resume',
463 '--no_auth',
464 '--bucket', 'chromium-browser-clang/ciopfs',
465 '-s', 'src/build/ciopfs.sha1',
466 ]
467 },
468 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200469 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800470 'name': 'win_toolchain',
471 'pattern': '.',
Mirko Bonadeif0707cb2018-02-13 11:29:09 +0100472 'condition': 'checkout_win',
473 'action': ['python', 'src/build/vs_toolchain.py', 'update', '--force'],
kjellander24d812d2016-11-22 07:02:11 -0800474 },
kjellanderec2c93e2017-09-08 10:52:17 -0700475 {
476 # Update the Mac toolchain if necessary.
477 'name': 'mac_toolchain',
478 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200479 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700480 'action': ['python', 'src/build/mac_toolchain.py'],
481 },
kjellander24d812d2016-11-22 07:02:11 -0800482 # Pull binutils for linux, enabled debug fission for faster linking /
483 # debugging when used with clang on Ubuntu Precise.
484 # https://code.google.com/p/chromium/issues/detail?id=352046
485 {
486 'name': 'binutils',
487 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200488 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800489 'action': [
490 'python',
491 'src/third_party/binutils/download.py',
492 ],
493 },
494 {
kjellander24d812d2016-11-22 07:02:11 -0800495 # Note: On Win, this should run after win_toolchain, as it may use it.
496 'name': 'clang',
497 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200498 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800499 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800500 {
501 # Update LASTCHANGE.
502 'name': 'lastchange',
503 'pattern': '.',
504 'action': ['python', 'src/build/util/lastchange.py',
505 '-o', 'src/build/util/LASTCHANGE'],
506 },
Mirko Bonadei77cc8182018-06-28 11:36:27 +0200507 # Downloads a old stub where the GN binary used to live. This is *not* the GN
508 # binary that anything should use any more (see third_party/gn, which is
509 # pulled by cipd above). This stub simply prints that it's the wrong location,
510 # and returns with an exit code of 1, so that we: a) notice that the wrong
511 # binary is being used; 2) help users who rely on gn's automatic regeneration
512 # so that they know to re-run `gn gen`.
kjellander24d812d2016-11-22 07:02:11 -0800513 {
514 'name': 'gn_win',
515 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200516 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800517 'action': [ 'download_from_google_storage',
518 '--no_resume',
519 '--platform=win32',
520 '--no_auth',
521 '--bucket', 'chromium-gn',
522 '-s', 'src/buildtools/win/gn.exe.sha1',
523 ],
524 },
525 {
526 'name': 'gn_mac',
527 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200528 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800529 'action': [ 'download_from_google_storage',
530 '--no_resume',
531 '--platform=darwin',
532 '--no_auth',
533 '--bucket', 'chromium-gn',
534 '-s', 'src/buildtools/mac/gn.sha1',
535 ],
536 },
537 {
538 'name': 'gn_linux64',
539 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200540 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800541 'action': [ 'download_from_google_storage',
542 '--no_resume',
543 '--platform=linux*',
544 '--no_auth',
545 '--bucket', 'chromium-gn',
546 '-s', 'src/buildtools/linux64/gn.sha1',
547 ],
548 },
549 # Pull clang-format binaries using checked-in hashes.
550 {
551 'name': 'clang_format_win',
552 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200553 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800554 'action': [ 'download_from_google_storage',
555 '--no_resume',
556 '--platform=win32',
557 '--no_auth',
558 '--bucket', 'chromium-clang-format',
559 '-s', 'src/buildtools/win/clang-format.exe.sha1',
560 ],
561 },
562 {
563 'name': 'clang_format_mac',
564 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200565 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800566 'action': [ 'download_from_google_storage',
567 '--no_resume',
568 '--platform=darwin',
569 '--no_auth',
570 '--bucket', 'chromium-clang-format',
571 '-s', 'src/buildtools/mac/clang-format.sha1',
572 ],
573 },
574 {
575 'name': 'clang_format_linux',
576 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200577 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800578 'action': [ 'download_from_google_storage',
579 '--no_resume',
580 '--platform=linux*',
581 '--no_auth',
582 '--bucket', 'chromium-clang-format',
583 '-s', 'src/buildtools/linux64/clang-format.sha1',
584 ],
585 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200586 # Pull rc binaries using checked-in hashes.
587 {
588 'name': 'rc_win',
589 'pattern': '.',
590 'condition': 'checkout_win and host_os == "win"',
591 'action': [ 'python',
592 'src/third_party/depot_tools/download_from_google_storage.py',
593 '--no_resume',
594 '--no_auth',
595 '--bucket', 'chromium-browser-clang/rc',
596 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
597 ],
598 },
599 {
600 'name': 'rc_mac',
601 'pattern': '.',
602 'condition': 'checkout_win and host_os == "mac"',
603 'action': [ 'python',
604 'src/third_party/depot_tools/download_from_google_storage.py',
605 '--no_resume',
606 '--no_auth',
607 '--bucket', 'chromium-browser-clang/rc',
608 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
609 ],
610 },
611 {
612 'name': 'rc_linux',
613 'pattern': '.',
614 'condition': 'checkout_win and host_os == "linux"',
615 'action': [ 'python',
616 'src/third_party/depot_tools/download_from_google_storage.py',
617 '--no_resume',
618 '--no_auth',
619 '--bucket', 'chromium-browser-clang/rc',
620 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
621 ],
622 },
kjellander24d812d2016-11-22 07:02:11 -0800623 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
624 {
625 'name': 'luci-go_win',
626 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200627 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800628 'action': [ 'download_from_google_storage',
629 '--no_resume',
630 '--platform=win32',
631 '--no_auth',
632 '--bucket', 'chromium-luci',
633 '-d', 'src/tools/luci-go/win64',
634 ],
635 },
636 {
637 'name': 'luci-go_mac',
638 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200639 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800640 'action': [ 'download_from_google_storage',
641 '--no_resume',
642 '--platform=darwin',
643 '--no_auth',
644 '--bucket', 'chromium-luci',
645 '-d', 'src/tools/luci-go/mac64',
646 ],
647 },
648 {
649 'name': 'luci-go_linux',
650 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200651 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800652 'action': [ 'download_from_google_storage',
653 '--no_resume',
654 '--platform=linux*',
655 '--no_auth',
656 '--bucket', 'chromium-luci',
657 '-d', 'src/tools/luci-go/linux64',
658 ],
659 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200660 # Pull the Syzygy binaries, used for optimization and instrumentation.
661 {
662 'name': 'syzygy-binaries',
663 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200664 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200665 'action': ['python',
666 'src/build/get_syzygy_binaries.py',
667 '--output-dir=src/third_party/syzygy/binaries',
668 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
669 '--overwrite',
670 ],
671 },
kjellander24d812d2016-11-22 07:02:11 -0800672 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200673 'name': 'msan_chained_origins',
674 'pattern': '.',
675 'condition': 'checkout_instrumented_libraries',
676 'action': [ 'python',
677 'src/third_party/depot_tools/download_from_google_storage.py',
678 "--no_resume",
679 "--no_auth",
680 "--bucket", "chromium-instrumented-libraries",
681 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
682 ],
683 },
684 {
685 'name': 'msan_no_origins',
686 'pattern': '.',
687 'condition': 'checkout_instrumented_libraries',
688 'action': [ 'python',
689 'src/third_party/depot_tools/download_from_google_storage.py',
690 "--no_resume",
691 "--no_auth",
692 "--bucket", "chromium-instrumented-libraries",
693 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
694 ],
kjellander24d812d2016-11-22 07:02:11 -0800695 },
696 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000697 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000698 'pattern': '.',
699 'action': ['download_from_google_storage',
700 '--directory',
701 '--recursive',
702 '--num_threads=10',
703 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800704 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000705 '--bucket', 'chromium-webrtc-resources',
706 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000707 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200708 {
709 # This downloads SDK extras and puts them in the
710 # third_party/android_tools/sdk/extras directory.
711 'name': 'sdkextras',
712 'pattern': '.',
713 'condition': 'checkout_android',
714 # When adding a new sdk extras package to download, add the package
715 # directory and zip file to .gitignore in third_party/android_tools.
716 'action': ['python',
717 'src/build/android/play_services/update.py',
718 'download'
719 ],
720 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000721]
kjellander200028f2017-08-17 09:54:12 -0700722
kjellander24d812d2016-11-22 07:02:11 -0800723recursedeps = [
724 # buildtools provides clang_format, libc++, and libc++abi.
725 'src/buildtools',
726 # android_tools manages the NDK.
727 'src/third_party/android_tools',
728]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200729
730# Define rules for which include paths are allowed in our source.
731include_rules = [
732 # Base is only used to build Android APK tests and may not be referenced by
733 # WebRTC production code.
734 "-base",
735 "-chromium",
736 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200737 "+libyuv",
Patrik Höglund5991ac92018-05-21 15:54:42 +0200738
739 # These should eventually move out of here.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200740 "+common_types.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200741 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200742
743 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200744 "+api",
745 "+modules/include",
746 "+rtc_base",
747 "+test",
748 "+rtc_tools",
Danil Chapovalov9dce71b2018-06-11 07:48:31 +0000749
750 # Abseil whitelist.
751 "+absl/types/optional.h",
Danil Chapovalovfb8e7ef2018-06-26 10:44:13 +0200752 "+absl/types/variant.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200753]