blob: eb44d6e5437b56f9ca87ccbb53401b5705ee4ef0 [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',
Autorollerb3d21192018-07-03 22:45:04 -070010 'chromium_revision': '1a5890105a339862a64acd6a1ffa5eb211679319',
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.
Autorollerc54f7062018-06-28 23:45:19 -070019 'boringssl_revision': 'fec83fc78d489a8d444c3a99c51101fdf54d5b71',
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.
Autorollerb3d21192018-07-03 22:45:04 -070027 'catapult_revision': '5abd99f5f7685f0e3b18f11e2fcda667a3be83e3',
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.
Autorollerc54f7062018-06-28 23:45:19 -070035 'freetype_revision': 'a632fb547e23fe129a579fabf60a992fd7d98d02',
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.
Autorollerc5762132018-07-03 10:44:59 -070039 'harfbuzz_revision': '2cb075fe26201f3e370fccfff6c1bc242b5acc79',
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':
Autorollerb3d21192018-07-03 22:45:04 -070045 Var('chromium_git') + '/chromium/src/base' + '@' + '7e26365993e3c0420aca6bfc338828141c9daa70',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010046 'src/build':
Autorollerb3d21192018-07-03 22:45:04 -070047 Var('chromium_git') + '/chromium/src/build' + '@' + '43e3305117771a4e712e9c2c3e7dbe60c37f960c',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010048 'src/buildtools':
Autoroller5a482842018-06-29 17:46:03 -070049 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '0dd5c6f980d22be96b728155249df2da355989d9',
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': {
Autorollerb3d21192018-07-03 22:45:04 -070057 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + 'e923f6e8b0f1598f8563bd70199e24d623ae05f8',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020058 'condition': 'checkout_ios',
59 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010060 'src/testing':
Autorollerb3d21192018-07-03 22:45:04 -070061 Var('chromium_git') + '/chromium/src/testing' + '@' + 'e62a1f4d1212d8f06e457e8173bc4890f192be56',
Artem Titov42f0d782018-06-27 13:23:17 +020062 'src/third_party':
Autorollerb3d21192018-07-03 22:45:04 -070063 Var('chromium_git') + '/chromium/src/third_party' + '@' + 'f1f650b31a829a3fd6f86bb9eba6efbb572f3e74',
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': {
Autorollerc54f7062018-06-28 23:45:19 -070069 'url': Var('chromium_git') + '/android_tools.git' + '@' + '130499e25286f4d56acafa252fee09f3cc595c49',
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':
Autorollera436bb42018-07-03 02:44:50 -070087 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '5484b866dc936fd1e148385fa1575b0369eec820',
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',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200107 'src/third_party/icu': {
Autoroller5f5819f2018-06-21 13:44:00 -0700108 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '172d33141cd16df9d027cfd49bfe940b1dc66f1a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200109 },
110 'src/third_party/jsr-305/src': {
111 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
112 'condition': 'checkout_android',
113 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100114 'src/third_party/jsoncpp/source':
115 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200116 'src/third_party/junit/src': {
117 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
118 'condition': 'checkout_android',
119 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100120 # Used for building libFuzzers (only supports Linux).
121 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700122 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100123 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700124 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100125 'src/third_party/libsrtp':
Autoroller96a0e602018-04-06 19:45:43 -0700126 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + 'fc2345089a6b3c5aca9ecd2e1941871a78a13e9c',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100127 'src/third_party/libvpx/source/libvpx':
Autoroller57900cb2018-07-03 15:45:02 -0700128 Var('chromium_git') + '/webm/libvpx.git' + '@' + '03abd2c8f358549a445dce452e26aa72d3853e55',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100129 'src/third_party/libyuv':
Autorollerc54f7062018-06-28 23:45:19 -0700130 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '4d67b3e851b1e057b8e3ac810e5f0c214f68751f',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200131 'src/third_party/lss': {
132 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
133 'condition': 'checkout_android or checkout_linux',
134 },
135 'src/third_party/mockito/src': {
Autoroller0d4ee0a2018-06-21 18:44:09 -0700136 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + '04a2a289a4222f80ad20717c25144981210d2eac',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200137 'condition': 'checkout_android',
138 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100139 'src/third_party/openh264/src':
Autoroller5d16e2c2018-05-03 10:44:45 -0700140 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3b51f16a4a41df729f8d647f03e48c5f272911ff',
Patrik Höglund72520532018-06-08 10:43:05 +0200141 'src/third_party/r8': {
142 'packages': [
143 {
144 'package': 'chromium/third_party/r8',
Autorollerc54f7062018-06-28 23:45:19 -0700145 'version': 'version:1.2.28-cr0',
Patrik Höglund72520532018-06-08 10:43:05 +0200146 },
147 ],
148 'condition': 'checkout_android',
149 'dep_type': 'cipd',
150 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200151 'src/third_party/requests/src': {
152 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
153 'condition': 'checkout_android',
154 },
155 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800156 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200157 'condition': 'checkout_android',
158 },
159 'src/third_party/ub-uiautomator/lib': {
160 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
161 'condition': 'checkout_android',
162 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100163 'src/third_party/usrsctp/usrsctplib':
Autorollerc54f7062018-06-28 23:45:19 -0700164 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '7a8bc9a90ca96634aa56ee712856d97f27d903f8',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200165 # WebRTC-only dependency (not present in Chromium).
166 'src/third_party/winsdk_samples': {
Mirko Bonadeief003102018-05-15 11:24:00 +0200167 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + 'a59391ef795986633735a1695caa97622a9bfd56',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200168 'condition': 'checkout_win',
169 },
170 # Dependency used by libjpeg-turbo.
171 'src/third_party/yasm/binaries': {
172 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
173 'condition': 'checkout_win',
174 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100175 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700176 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100177 'src/tools':
Autorollerb3d21192018-07-03 22:45:04 -0700178 Var('chromium_git') + '/chromium/src/tools' + '@' + 'a080e360f460e3870031577146e69fe98a56a06e',
oprypin4ccd9c12017-08-30 00:42:43 -0700179 'src/tools/swarming_client':
180 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
Oleh Prypine18e2692018-02-19 18:43:17 +0100181
182 'src/third_party/accessibility_test_framework': {
183 'packages': [
184 {
185 'package': 'chromium/third_party/accessibility-test-framework',
186 'version': 'version:2.1-cr0',
187 },
188 ],
189 'condition': 'checkout_android',
190 'dep_type': 'cipd',
191 },
192
193 'src/third_party/android_support_test_runner': {
194 'packages': [
195 {
196 'package': 'chromium/third_party/android_support_test_runner',
197 'version': 'version:0.5-cr0',
198 },
199 ],
200 'condition': 'checkout_android',
201 'dep_type': 'cipd',
202 },
203
204 'src/third_party/apk-patch-size-estimator': {
205 'packages': [
206 {
207 'package': 'chromium/third_party/apk-patch-size-estimator',
208 'version': 'version:0.2-cr0',
209 },
210 ],
211 'condition': 'checkout_android',
212 'dep_type': 'cipd',
213 },
214
215 'src/third_party/bazel': {
216 'packages': [
217 {
218 'package': 'chromium/third_party/bazel',
219 'version': 'version:0.10.0',
220 },
221 ],
222 'condition': 'checkout_android',
223 'dep_type': 'cipd',
224 },
225
226 'src/third_party/bouncycastle': {
227 'packages': [
228 {
229 'package': 'chromium/third_party/bouncycastle',
230 'version': 'version:1.46-cr0',
231 },
232 ],
233 'condition': 'checkout_android',
234 'dep_type': 'cipd',
235 },
236
237 'src/third_party/byte_buddy': {
238 'packages': [
239 {
240 'package': 'chromium/third_party/byte_buddy',
Autoroller0d4ee0a2018-06-21 18:44:09 -0700241 'version': 'version:1.8.8-cr0',
Oleh Prypine18e2692018-02-19 18:43:17 +0100242 },
243 ],
244 'condition': 'checkout_android',
245 'dep_type': 'cipd',
246 },
247
248 'src/third_party/espresso': {
249 'packages': [
250 {
251 'package': 'chromium/third_party/espresso',
252 'version': 'version:2.2.1-cr0',
253 },
254 ],
255 'condition': 'checkout_android',
256 'dep_type': 'cipd',
257 },
258
259 'src/third_party/gson': {
260 'packages': [
261 {
262 'package': 'chromium/third_party/gson',
263 'version': 'version:2.8.0-cr0',
264 },
265 ],
266 'condition': 'checkout_android',
267 'dep_type': 'cipd',
268 },
269
270 'src/third_party/guava': {
271 'packages': [
272 {
273 'package': 'chromium/third_party/guava',
274 'version': 'version:23.0-cr0',
275 },
276 ],
277 'condition': 'checkout_android',
278 'dep_type': 'cipd',
279 },
280
281 'src/third_party/hamcrest': {
282 'packages': [
283 {
284 'package': 'chromium/third_party/hamcrest',
285 'version': 'version:1.3-cr0',
286 },
287 ],
288 'condition': 'checkout_android',
289 'dep_type': 'cipd',
290 },
291
292 'src/third_party/icu4j': {
293 'packages': [
294 {
295 'package': 'chromium/third_party/icu4j',
296 'version': 'version:53.1-cr0',
297 },
298 ],
299 'condition': 'checkout_android',
300 'dep_type': 'cipd',
301 },
302
303 'src/third_party/intellij': {
304 'packages': [
305 {
306 'package': 'chromium/third_party/intellij',
307 'version': 'version:12.0-cr0',
308 },
309 ],
310 'condition': 'checkout_android',
311 'dep_type': 'cipd',
312 },
313
314 'src/third_party/javax_inject': {
315 'packages': [
316 {
317 'package': 'chromium/third_party/javax_inject',
318 'version': 'version:1-cr0',
319 },
320 ],
321 'condition': 'checkout_android',
322 'dep_type': 'cipd',
323 },
324
325 'src/third_party/objenesis': {
326 'packages': [
327 {
328 'package': 'chromium/third_party/objenesis',
329 'version': 'version:2.4-cr0',
330 },
331 ],
332 'condition': 'checkout_android',
333 'dep_type': 'cipd',
334 },
335
336 'src/third_party/ow2_asm': {
337 'packages': [
338 {
339 'package': 'chromium/third_party/ow2_asm',
340 'version': 'version:5.0.1-cr0',
341 },
342 ],
343 'condition': 'checkout_android',
344 'dep_type': 'cipd',
345 },
346
347 'src/third_party/robolectric': {
348 'packages': [
349 {
350 'package': 'chromium/third_party/robolectric',
351 'version': 'version:3.5.1',
352 },
353 ],
354 'condition': 'checkout_android',
355 'dep_type': 'cipd',
356 },
357
358 'src/third_party/sqlite4java': {
359 'packages': [
360 {
361 'package': 'chromium/third_party/sqlite4java',
362 'version': 'version:0.282-cr0',
363 },
364 ],
365 'condition': 'checkout_android',
366 'dep_type': 'cipd',
367 },
368
369 'src/third_party/xstream': {
370 'packages': [
371 {
372 'package': 'chromium/third_party/xstream',
373 'version': 'version:1.4.8-cr0',
374 },
375 ],
376 'condition': 'checkout_android',
377 'dep_type': 'cipd',
378 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000379}
kjellander200028f2017-08-17 09:54:12 -0700380
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000381hooks = [
382 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200383 # This clobbers when necessary (based on get_landmines.py). It should be
384 # an early hook but it will need to be run after syncing Chromium and
385 # setting up the links, so the script actually exists.
386 'name': 'landmines',
387 'pattern': '.',
388 'action': [
389 'python',
390 'src/build/landmines.py',
391 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200392 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200393 '--src-dir',
394 'src',
395 ],
396 },
oprypin40e7ebd2017-07-27 01:40:18 -0700397 {
398 # Ensure that the DEPS'd "depot_tools" has its self-update capability
399 # disabled.
400 'name': 'disable_depot_tools_selfupdate',
401 'pattern': '.',
402 'action': [
403 'python',
404 'src/third_party/depot_tools/update_depot_tools_toggle.py',
405 '--disable',
406 ],
407 },
kjellander24d812d2016-11-22 07:02:11 -0800408 {
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100409 'name': 'sysroot_arm',
kjellander24d812d2016-11-22 07:02:11 -0800410 'pattern': '.',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100411 'condition': 'checkout_linux and checkout_arm',
kjellander24d812d2016-11-22 07:02:11 -0800412 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100413 '--arch=arm'],
414 },
415 {
416 'name': 'sysroot_arm64',
417 'pattern': '.',
418 'condition': 'checkout_linux and checkout_arm64',
419 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
420 '--arch=arm64'],
421 },
422 {
423 'name': 'sysroot_x86',
424 'pattern': '.',
425 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
426 # TODO(mbonadei): change to --arch=x86.
427 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
428 '--arch=i386'],
429 },
430 {
431 'name': 'sysroot_mips',
432 'pattern': '.',
433 'condition': 'checkout_linux and checkout_mips',
434 # TODO(mbonadei): change to --arch=mips.
435 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
436 '--arch=mipsel'],
437 },
438 {
439 'name': 'sysroot_x64',
440 'pattern': '.',
441 'condition': 'checkout_linux and checkout_x64',
442 # TODO(mbonadei): change to --arch=x64.
443 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
444 '--arch=amd64'],
kjellander24d812d2016-11-22 07:02:11 -0800445 },
446 {
Mirko Bonadeia55bdc22018-02-12 13:22:50 +0100447 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
448 'name': 'ciopfs_linux',
449 'pattern': '.',
450 'condition': 'checkout_win and host_os == "linux"',
451 'action': [ 'python',
452 'src/third_party/depot_tools/download_from_google_storage.py',
453 '--no_resume',
454 '--no_auth',
455 '--bucket', 'chromium-browser-clang/ciopfs',
456 '-s', 'src/build/ciopfs.sha1',
457 ]
458 },
459 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200460 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800461 'name': 'win_toolchain',
462 'pattern': '.',
Mirko Bonadeif0707cb2018-02-13 11:29:09 +0100463 'condition': 'checkout_win',
464 'action': ['python', 'src/build/vs_toolchain.py', 'update', '--force'],
kjellander24d812d2016-11-22 07:02:11 -0800465 },
kjellanderec2c93e2017-09-08 10:52:17 -0700466 {
467 # Update the Mac toolchain if necessary.
468 'name': 'mac_toolchain',
469 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200470 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700471 'action': ['python', 'src/build/mac_toolchain.py'],
472 },
kjellander24d812d2016-11-22 07:02:11 -0800473 # Pull binutils for linux, enabled debug fission for faster linking /
474 # debugging when used with clang on Ubuntu Precise.
475 # https://code.google.com/p/chromium/issues/detail?id=352046
476 {
477 'name': 'binutils',
478 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200479 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800480 'action': [
481 'python',
482 'src/third_party/binutils/download.py',
483 ],
484 },
485 {
kjellander24d812d2016-11-22 07:02:11 -0800486 # Note: On Win, this should run after win_toolchain, as it may use it.
487 'name': 'clang',
488 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200489 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800490 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800491 {
492 # Update LASTCHANGE.
493 'name': 'lastchange',
494 'pattern': '.',
495 'action': ['python', 'src/build/util/lastchange.py',
496 '-o', 'src/build/util/LASTCHANGE'],
497 },
Mirko Bonadeie19a4e12018-06-29 06:31:35 +0000498 # Pull GN binaries.
kjellander24d812d2016-11-22 07:02:11 -0800499 {
500 'name': 'gn_win',
501 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200502 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800503 'action': [ 'download_from_google_storage',
504 '--no_resume',
505 '--platform=win32',
506 '--no_auth',
507 '--bucket', 'chromium-gn',
508 '-s', 'src/buildtools/win/gn.exe.sha1',
509 ],
510 },
511 {
512 'name': 'gn_mac',
513 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200514 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800515 'action': [ 'download_from_google_storage',
516 '--no_resume',
517 '--platform=darwin',
518 '--no_auth',
519 '--bucket', 'chromium-gn',
520 '-s', 'src/buildtools/mac/gn.sha1',
521 ],
522 },
523 {
524 'name': 'gn_linux64',
525 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200526 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800527 'action': [ 'download_from_google_storage',
528 '--no_resume',
529 '--platform=linux*',
530 '--no_auth',
531 '--bucket', 'chromium-gn',
532 '-s', 'src/buildtools/linux64/gn.sha1',
533 ],
534 },
535 # Pull clang-format binaries using checked-in hashes.
536 {
537 'name': 'clang_format_win',
538 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200539 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800540 'action': [ 'download_from_google_storage',
541 '--no_resume',
542 '--platform=win32',
543 '--no_auth',
544 '--bucket', 'chromium-clang-format',
545 '-s', 'src/buildtools/win/clang-format.exe.sha1',
546 ],
547 },
548 {
549 'name': 'clang_format_mac',
550 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200551 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800552 'action': [ 'download_from_google_storage',
553 '--no_resume',
554 '--platform=darwin',
555 '--no_auth',
556 '--bucket', 'chromium-clang-format',
557 '-s', 'src/buildtools/mac/clang-format.sha1',
558 ],
559 },
560 {
561 'name': 'clang_format_linux',
562 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200563 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800564 'action': [ 'download_from_google_storage',
565 '--no_resume',
566 '--platform=linux*',
567 '--no_auth',
568 '--bucket', 'chromium-clang-format',
569 '-s', 'src/buildtools/linux64/clang-format.sha1',
570 ],
571 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200572 # Pull rc binaries using checked-in hashes.
573 {
574 'name': 'rc_win',
575 'pattern': '.',
576 'condition': 'checkout_win and host_os == "win"',
577 'action': [ 'python',
578 'src/third_party/depot_tools/download_from_google_storage.py',
579 '--no_resume',
580 '--no_auth',
581 '--bucket', 'chromium-browser-clang/rc',
582 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
583 ],
584 },
585 {
586 'name': 'rc_mac',
587 'pattern': '.',
588 'condition': 'checkout_win and host_os == "mac"',
589 'action': [ 'python',
590 'src/third_party/depot_tools/download_from_google_storage.py',
591 '--no_resume',
592 '--no_auth',
593 '--bucket', 'chromium-browser-clang/rc',
594 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
595 ],
596 },
597 {
598 'name': 'rc_linux',
599 'pattern': '.',
600 'condition': 'checkout_win and host_os == "linux"',
601 'action': [ 'python',
602 'src/third_party/depot_tools/download_from_google_storage.py',
603 '--no_resume',
604 '--no_auth',
605 '--bucket', 'chromium-browser-clang/rc',
606 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
607 ],
608 },
kjellander24d812d2016-11-22 07:02:11 -0800609 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
610 {
611 'name': 'luci-go_win',
612 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200613 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800614 'action': [ 'download_from_google_storage',
615 '--no_resume',
616 '--platform=win32',
617 '--no_auth',
618 '--bucket', 'chromium-luci',
619 '-d', 'src/tools/luci-go/win64',
620 ],
621 },
622 {
623 'name': 'luci-go_mac',
624 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200625 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800626 'action': [ 'download_from_google_storage',
627 '--no_resume',
628 '--platform=darwin',
629 '--no_auth',
630 '--bucket', 'chromium-luci',
631 '-d', 'src/tools/luci-go/mac64',
632 ],
633 },
634 {
635 'name': 'luci-go_linux',
636 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200637 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800638 'action': [ 'download_from_google_storage',
639 '--no_resume',
640 '--platform=linux*',
641 '--no_auth',
642 '--bucket', 'chromium-luci',
643 '-d', 'src/tools/luci-go/linux64',
644 ],
645 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200646 # Pull the Syzygy binaries, used for optimization and instrumentation.
647 {
648 'name': 'syzygy-binaries',
649 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200650 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200651 'action': ['python',
652 'src/build/get_syzygy_binaries.py',
653 '--output-dir=src/third_party/syzygy/binaries',
654 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
655 '--overwrite',
656 ],
657 },
kjellander24d812d2016-11-22 07:02:11 -0800658 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200659 'name': 'msan_chained_origins',
660 'pattern': '.',
661 'condition': 'checkout_instrumented_libraries',
662 'action': [ 'python',
663 'src/third_party/depot_tools/download_from_google_storage.py',
664 "--no_resume",
665 "--no_auth",
666 "--bucket", "chromium-instrumented-libraries",
667 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
668 ],
669 },
670 {
671 'name': 'msan_no_origins',
672 'pattern': '.',
673 'condition': 'checkout_instrumented_libraries',
674 'action': [ 'python',
675 'src/third_party/depot_tools/download_from_google_storage.py',
676 "--no_resume",
677 "--no_auth",
678 "--bucket", "chromium-instrumented-libraries",
679 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
680 ],
kjellander24d812d2016-11-22 07:02:11 -0800681 },
682 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000683 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000684 'pattern': '.',
685 'action': ['download_from_google_storage',
686 '--directory',
687 '--recursive',
688 '--num_threads=10',
689 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800690 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000691 '--bucket', 'chromium-webrtc-resources',
692 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000693 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200694 {
695 # This downloads SDK extras and puts them in the
696 # third_party/android_tools/sdk/extras directory.
697 'name': 'sdkextras',
698 'pattern': '.',
699 'condition': 'checkout_android',
700 # When adding a new sdk extras package to download, add the package
701 # directory and zip file to .gitignore in third_party/android_tools.
702 'action': ['python',
703 'src/build/android/play_services/update.py',
704 'download'
705 ],
706 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000707]
kjellander200028f2017-08-17 09:54:12 -0700708
kjellander24d812d2016-11-22 07:02:11 -0800709recursedeps = [
710 # buildtools provides clang_format, libc++, and libc++abi.
711 'src/buildtools',
712 # android_tools manages the NDK.
713 'src/third_party/android_tools',
714]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200715
716# Define rules for which include paths are allowed in our source.
717include_rules = [
718 # Base is only used to build Android APK tests and may not be referenced by
719 # WebRTC production code.
720 "-base",
721 "-chromium",
722 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200723 "+libyuv",
Patrik Höglund5991ac92018-05-21 15:54:42 +0200724
725 # These should eventually move out of here.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200726 "+common_types.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200727 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200728
729 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200730 "+api",
731 "+modules/include",
732 "+rtc_base",
733 "+test",
734 "+rtc_tools",
Danil Chapovalov9dce71b2018-06-11 07:48:31 +0000735
736 # Abseil whitelist.
Karl Wiberg4c77dcd2018-06-29 14:34:50 +0200737 "+absl/memory/memory.h",
Danil Chapovalov9dce71b2018-06-11 07:48:31 +0000738 "+absl/types/optional.h",
Danil Chapovalovfb8e7ef2018-06-26 10:44:13 +0200739 "+absl/types/variant.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200740]