blob: 41ce4ae5bb065ca27b7b3eb4fee6f748bb64dffd [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',
Artem Titova04d1402018-05-11 11:23:00 +02005 # Used by the WebRTC DEPS autoroller to update third_party/. If you need to run autoroller localy,
6 # you can set it via custom_vars section in the .gclient file.
7 'roll_chromium_into_webrtc': False,
Mirko Bonadeicb2bc112017-10-10 13:28:18 +02008 # By default, we should check out everything needed to run on the main
9 # chromium waterfalls. More info at: crbug.com/570091.
10 'checkout_configuration': 'default',
11 'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"',
Henrik Kjellandera9d4da82017-09-14 07:28:10 +020012 'webrtc_git': 'https://webrtc.googlesource.com',
Patrik Höglund9edbc272018-06-08 09:26:54 +020013 'chromium_revision': 'f9a24d5d6f4b6c11a152352cfa6d05d8c99dba12',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010014 'boringssl_git': 'https://boringssl.googlesource.com',
15 # Three lines of non-changing comments so that
16 # the commit queue can handle CLs rolling swarming_client
17 # and whatever else without interference from each other.
Autoroller0c12d8d2018-06-03 01:43:39 -070018 'swarming_revision': '281c390193ec8c02e60279f8dac1b86ac52fa4be',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010019 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010020 # the commit queue can handle CLs rolling BoringSSL
21 # and whatever else without interference from each other.
Autoroller123ab642018-05-28 00:43:41 -070022 'boringssl_revision': '5601bdac1ae594169e56515fe34956ec89bbffbf',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010023 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010024 # the commit queue can handle CLs rolling lss
25 # and whatever else without interference from each other.
Oleh Prypin3ebed362017-10-27 10:14:45 +020026 'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010027 # Three lines of non-changing comments so that
28 # the commit queue can handle CLs rolling catapult
29 # and whatever else without interference from each other.
Patrik Höglund9edbc272018-06-08 09:26:54 +020030 'catapult_revision': '01f608bbcf59a818904459fc563e2d6ff5f49395',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010031 # Three lines of non-changing comments so that
32 # the commit queue can handle CLs rolling libFuzzer
33 # and whatever else without interference from each other.
Autorollerf4f0cbb2018-04-24 04:44:17 -070034 'libfuzzer_revision': 'fda403cf93ecb8792cb1d061564d89a6553ca020',
Mirko Bonadei25acef72018-04-23 11:17:50 +020035 # Three lines of non-changing comments so that
36 # the commit queue can handle CLs rolling freetype
37 # and whatever else without interference from each other.
Autorollercfecd9e2018-05-31 10:44:53 -070038 'freetype_revision': '0589f6e6ee6e9bfe0c7139374fc8812e849e7bf7',
Mirko Bonadei25acef72018-04-23 11:17:50 +020039 # Three lines of non-changing comments so that
40 # the commit queue can handle CLs rolling HarfBuzz
41 # and whatever else without interference from each other.
42 'harfbuzz_revision': '957e7756634a4fdf1654041e20e883cf964ecac9',
Artem Titova04d1402018-05-11 11:23:00 +020043 # Three lines of non-changing comments so that
44 # the commit queue can handle CLs rolling Chromium third_party
45 # and whatever else without interference from each other.
Patrik Höglund9edbc272018-06-08 09:26:54 +020046 'chromium_third_party_revision': 'addc496eebc04125394dac66adfea455ce34a023',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000047}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000048deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010049 # TODO(kjellander): Move this to be Android-only once the libevent dependency
50 # in base/third_party/libevent is solved.
51 'src/base':
Patrik Höglund9edbc272018-06-08 09:26:54 +020052 Var('chromium_git') + '/chromium/src/base' + '@' + '769dcfb90227eeb9198f3c78ffeb226ad9226f68',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010053 'src/build':
Patrik Höglund9edbc272018-06-08 09:26:54 +020054 Var('chromium_git') + '/chromium/src/build' + '@' + '2574ebeaaf3b24b53e4ae09872dbf2a810c5921b',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010055 'src/buildtools':
Patrik Höglund9edbc272018-06-08 09:26:54 +020056 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '6f4dae280c6a542acacd8db281decc5c0b2a9823',
Mirko Bonadeid3fb8642018-01-22 08:50:32 +010057 # Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
58 'src/examples/androidtests/third_party/gradle': {
59 'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
60 '89af43c4d0506f69980f00dde78c97b2f81437f8',
61 'condition': 'checkout_android',
62 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020063 'src/ios': {
Patrik Höglund9edbc272018-06-08 09:26:54 +020064 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '044af8282c43e55d5153b2333369458d9068eb52',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020065 'condition': 'checkout_ios',
66 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010067 'src/testing':
Patrik Höglund9edbc272018-06-08 09:26:54 +020068 Var('chromium_git') + '/chromium/src/testing' + '@' + '5ab6ab6e1c938dfd5c84f3fa4a1425144021ffc1',
Artem Titova04d1402018-05-11 11:23:00 +020069 # This entry is used for chromium third_party rolling into webrtc third_party only.
70 'src/third_party_chromium': {
71 'url': Var('chromium_git') + '/chromium/src/third_party' + '@' + Var('chromium_third_party_revision'),
72 'condition': 'roll_chromium_into_webrtc',
73 },
Edward Lemur55536f22018-01-11 14:14:26 +010074 'src/third_party/android_ndk': {
Autorollerbf51de82018-05-04 03:44:23 -070075 'url': Var('chromium_git') + '/android_ndk.git' + '@' + '5cd86312e794bdf542a3685c6f10cbb96072990b',
Edward Lemur55536f22018-01-11 14:14:26 +010076 'condition': 'checkout_android',
77 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020078 'src/third_party/android_tools': {
Autoroller94ffe902018-03-05 13:45:22 -080079 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c22a664c39af72dd8f89200220713dcad811300a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020080 'condition': 'checkout_android',
81 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080082 'src/third_party/auto/src': {
Autoroller23b5cc92018-01-18 12:45:10 -080083 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '8a81a858ae7b78a1aef71ac3905fade0bbd64e82',
Mirko Bonadei969d4a92017-11-05 15:57:38 -080084 'condition': 'checkout_android',
85 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010086 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020087 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010088 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020089 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
90 'src/third_party/ced/src': {
91 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
92 'condition': 'checkout_android',
93 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010094 'src/third_party/colorama/src':
95 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070096 'src/third_party/depot_tools':
Patrik Höglund9edbc272018-06-08 09:26:54 +020097 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'e89dcf7dee37d535a9180823f2c8fe33cde1bfcc',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020098 'src/third_party/errorprone/lib': {
Oleh Prypina12bdbf2018-04-26 15:49:11 +020099 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + '980d49e839aa4984015efed34b0134d4b2c9b6d7',
Mirko Bonadei65ceb662017-10-13 09:45:37 +0200100 'condition': 'checkout_android',
101 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100102 'src/third_party/ffmpeg':
Autorollerd8b4f1e2018-05-03 02:44:16 -0700103 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '90210b5e10d3917567a3025e4853704bfefd8384',
Oleh Prypine39c3792017-11-14 23:09:08 +0100104 'src/third_party/findbugs': {
105 'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
106 'condition': 'checkout_android',
107 },
Mirko Bonadei25acef72018-04-23 11:17:50 +0200108 'src/third_party/freetype/src':
109 Var('chromium_git') + '/chromium/src/third_party/freetype2.git' + '@' + Var('freetype_revision'),
110 'src/third_party/harfbuzz-ng/src':
111 Var('chromium_git') + '/external/github.com/harfbuzz/harfbuzz.git' + '@' + Var('harfbuzz_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200112 # WebRTC-only dependency (not present in Chromium).
113 'src/third_party/gtest-parallel':
Autorollerb4e0e502018-05-09 18:45:49 -0700114 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + 'cb3514a0858be0f66281d892e2242d1073fd75fe',
kjellander3dae7052017-05-03 06:44:36 -0700115 'src/third_party/googletest/src':
Artem Titovc34e3812018-05-24 14:17:37 +0200116 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '145d05750b15324899473340c8dd5af50d125d33',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200117 'src/third_party/icu': {
Autorollerf4e8b9f2018-05-09 00:45:17 -0700118 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'f61e46dbee9d539a32551493e3bcc1dea92f83ec',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200119 },
120 'src/third_party/jsr-305/src': {
121 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
122 'condition': 'checkout_android',
123 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100124 'src/third_party/jsoncpp/source':
125 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200126 'src/third_party/junit/src': {
127 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
128 'condition': 'checkout_android',
129 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100130 # Used for building libFuzzers (only supports Linux).
131 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700132 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100133 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700134 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100135 'src/third_party/libsrtp':
Autoroller96a0e602018-04-06 19:45:43 -0700136 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + 'fc2345089a6b3c5aca9ecd2e1941871a78a13e9c',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100137 'src/third_party/libvpx/source/libvpx':
Patrik Höglund9edbc272018-06-08 09:26:54 +0200138 Var('chromium_git') + '/webm/libvpx.git' + '@' + '3f7e6cc020446ee29439f1cd7d3d5c39adaf64c0',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100139 'src/third_party/libyuv':
Autoroller38eac972018-06-01 16:43:44 -0700140 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '196e2e72a3190f539d5ad5f32c7b154154324951',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200141 'src/third_party/lss': {
142 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
143 'condition': 'checkout_android or checkout_linux',
144 },
145 'src/third_party/mockito/src': {
146 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
147 'condition': 'checkout_android',
148 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100149 'src/third_party/openh264/src':
Autoroller5d16e2c2018-05-03 10:44:45 -0700150 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3b51f16a4a41df729f8d647f03e48c5f272911ff',
Patrik Höglund72520532018-06-08 10:43:05 +0200151 'src/third_party/r8': {
152 'packages': [
153 {
154 'package': 'chromium/third_party/r8',
155 'version': 'version:1.0.30',
156 },
157 ],
158 'condition': 'checkout_android',
159 'dep_type': 'cipd',
160 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200161 'src/third_party/requests/src': {
162 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
163 'condition': 'checkout_android',
164 },
165 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800166 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200167 'condition': 'checkout_android',
168 },
169 'src/third_party/ub-uiautomator/lib': {
170 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
171 'condition': 'checkout_android',
172 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100173 'src/third_party/usrsctp/usrsctplib':
Autoroller1b3bd0b2018-03-26 05:44:30 -0700174 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '159d060dceec41a64a57356cbba8c455105f3f72',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200175 # WebRTC-only dependency (not present in Chromium).
176 'src/third_party/winsdk_samples': {
Mirko Bonadeief003102018-05-15 11:24:00 +0200177 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + 'a59391ef795986633735a1695caa97622a9bfd56',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200178 'condition': 'checkout_win',
179 },
180 # Dependency used by libjpeg-turbo.
181 'src/third_party/yasm/binaries': {
182 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
183 'condition': 'checkout_win',
184 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100185 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700186 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100187 'src/tools':
Patrik Höglund9edbc272018-06-08 09:26:54 +0200188 Var('chromium_git') + '/chromium/src/tools' + '@' + '8a1688798085cdb6eebcd3fa3404b9eba7ef8569',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100189 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -0700190 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -0700191 'src/tools/swarming_client':
192 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
Oleh Prypine18e2692018-02-19 18:43:17 +0100193
194 'src/third_party/accessibility_test_framework': {
195 'packages': [
196 {
197 'package': 'chromium/third_party/accessibility-test-framework',
198 'version': 'version:2.1-cr0',
199 },
200 ],
201 'condition': 'checkout_android',
202 'dep_type': 'cipd',
203 },
204
205 'src/third_party/android_support_test_runner': {
206 'packages': [
207 {
208 'package': 'chromium/third_party/android_support_test_runner',
209 'version': 'version:0.5-cr0',
210 },
211 ],
212 'condition': 'checkout_android',
213 'dep_type': 'cipd',
214 },
215
216 'src/third_party/apk-patch-size-estimator': {
217 'packages': [
218 {
219 'package': 'chromium/third_party/apk-patch-size-estimator',
220 'version': 'version:0.2-cr0',
221 },
222 ],
223 'condition': 'checkout_android',
224 'dep_type': 'cipd',
225 },
226
227 'src/third_party/bazel': {
228 'packages': [
229 {
230 'package': 'chromium/third_party/bazel',
231 'version': 'version:0.10.0',
232 },
233 ],
234 'condition': 'checkout_android',
235 'dep_type': 'cipd',
236 },
237
238 'src/third_party/bouncycastle': {
239 'packages': [
240 {
241 'package': 'chromium/third_party/bouncycastle',
242 'version': 'version:1.46-cr0',
243 },
244 ],
245 'condition': 'checkout_android',
246 'dep_type': 'cipd',
247 },
248
249 'src/third_party/byte_buddy': {
250 'packages': [
251 {
252 'package': 'chromium/third_party/byte_buddy',
253 'version': 'version:1.4.17-cr0',
254 },
255 ],
256 'condition': 'checkout_android',
257 'dep_type': 'cipd',
258 },
259
260 'src/third_party/espresso': {
261 'packages': [
262 {
263 'package': 'chromium/third_party/espresso',
264 'version': 'version:2.2.1-cr0',
265 },
266 ],
267 'condition': 'checkout_android',
268 'dep_type': 'cipd',
269 },
270
271 'src/third_party/gson': {
272 'packages': [
273 {
274 'package': 'chromium/third_party/gson',
275 'version': 'version:2.8.0-cr0',
276 },
277 ],
278 'condition': 'checkout_android',
279 'dep_type': 'cipd',
280 },
281
282 'src/third_party/guava': {
283 'packages': [
284 {
285 'package': 'chromium/third_party/guava',
286 'version': 'version:23.0-cr0',
287 },
288 ],
289 'condition': 'checkout_android',
290 'dep_type': 'cipd',
291 },
292
293 'src/third_party/hamcrest': {
294 'packages': [
295 {
296 'package': 'chromium/third_party/hamcrest',
297 'version': 'version:1.3-cr0',
298 },
299 ],
300 'condition': 'checkout_android',
301 'dep_type': 'cipd',
302 },
303
304 'src/third_party/icu4j': {
305 'packages': [
306 {
307 'package': 'chromium/third_party/icu4j',
308 'version': 'version:53.1-cr0',
309 },
310 ],
311 'condition': 'checkout_android',
312 'dep_type': 'cipd',
313 },
314
315 'src/third_party/intellij': {
316 'packages': [
317 {
318 'package': 'chromium/third_party/intellij',
319 'version': 'version:12.0-cr0',
320 },
321 ],
322 'condition': 'checkout_android',
323 'dep_type': 'cipd',
324 },
325
326 'src/third_party/javax_inject': {
327 'packages': [
328 {
329 'package': 'chromium/third_party/javax_inject',
330 'version': 'version:1-cr0',
331 },
332 ],
333 'condition': 'checkout_android',
334 'dep_type': 'cipd',
335 },
336
337 'src/third_party/objenesis': {
338 'packages': [
339 {
340 'package': 'chromium/third_party/objenesis',
341 'version': 'version:2.4-cr0',
342 },
343 ],
344 'condition': 'checkout_android',
345 'dep_type': 'cipd',
346 },
347
348 'src/third_party/ow2_asm': {
349 'packages': [
350 {
351 'package': 'chromium/third_party/ow2_asm',
352 'version': 'version:5.0.1-cr0',
353 },
354 ],
355 'condition': 'checkout_android',
356 'dep_type': 'cipd',
357 },
358
359 'src/third_party/robolectric': {
360 'packages': [
361 {
362 'package': 'chromium/third_party/robolectric',
363 'version': 'version:3.5.1',
364 },
365 ],
366 'condition': 'checkout_android',
367 'dep_type': 'cipd',
368 },
369
370 'src/third_party/sqlite4java': {
371 'packages': [
372 {
373 'package': 'chromium/third_party/sqlite4java',
374 'version': 'version:0.282-cr0',
375 },
376 ],
377 'condition': 'checkout_android',
378 'dep_type': 'cipd',
379 },
380
381 'src/third_party/xstream': {
382 'packages': [
383 {
384 'package': 'chromium/third_party/xstream',
385 'version': 'version:1.4.8-cr0',
386 },
387 ],
388 'condition': 'checkout_android',
389 'dep_type': 'cipd',
390 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000391}
kjellander200028f2017-08-17 09:54:12 -0700392
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000393hooks = [
394 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200395 # This clobbers when necessary (based on get_landmines.py). It should be
396 # an early hook but it will need to be run after syncing Chromium and
397 # setting up the links, so the script actually exists.
398 'name': 'landmines',
399 'pattern': '.',
400 'action': [
401 'python',
402 'src/build/landmines.py',
403 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200404 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200405 '--src-dir',
406 'src',
407 ],
408 },
oprypin40e7ebd2017-07-27 01:40:18 -0700409 {
410 # Ensure that the DEPS'd "depot_tools" has its self-update capability
411 # disabled.
412 'name': 'disable_depot_tools_selfupdate',
413 'pattern': '.',
414 'action': [
415 'python',
416 'src/third_party/depot_tools/update_depot_tools_toggle.py',
417 '--disable',
418 ],
419 },
kjellander24d812d2016-11-22 07:02:11 -0800420 {
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100421 'name': 'sysroot_arm',
kjellander24d812d2016-11-22 07:02:11 -0800422 'pattern': '.',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100423 'condition': 'checkout_linux and checkout_arm',
kjellander24d812d2016-11-22 07:02:11 -0800424 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100425 '--arch=arm'],
426 },
427 {
428 'name': 'sysroot_arm64',
429 'pattern': '.',
430 'condition': 'checkout_linux and checkout_arm64',
431 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
432 '--arch=arm64'],
433 },
434 {
435 'name': 'sysroot_x86',
436 'pattern': '.',
437 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
438 # TODO(mbonadei): change to --arch=x86.
439 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
440 '--arch=i386'],
441 },
442 {
443 'name': 'sysroot_mips',
444 'pattern': '.',
445 'condition': 'checkout_linux and checkout_mips',
446 # TODO(mbonadei): change to --arch=mips.
447 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
448 '--arch=mipsel'],
449 },
450 {
451 'name': 'sysroot_x64',
452 'pattern': '.',
453 'condition': 'checkout_linux and checkout_x64',
454 # TODO(mbonadei): change to --arch=x64.
455 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
456 '--arch=amd64'],
kjellander24d812d2016-11-22 07:02:11 -0800457 },
458 {
Mirko Bonadeia55bdc22018-02-12 13:22:50 +0100459 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
460 'name': 'ciopfs_linux',
461 'pattern': '.',
462 'condition': 'checkout_win and host_os == "linux"',
463 'action': [ 'python',
464 'src/third_party/depot_tools/download_from_google_storage.py',
465 '--no_resume',
466 '--no_auth',
467 '--bucket', 'chromium-browser-clang/ciopfs',
468 '-s', 'src/build/ciopfs.sha1',
469 ]
470 },
471 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200472 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800473 'name': 'win_toolchain',
474 'pattern': '.',
Mirko Bonadeif0707cb2018-02-13 11:29:09 +0100475 'condition': 'checkout_win',
476 'action': ['python', 'src/build/vs_toolchain.py', 'update', '--force'],
kjellander24d812d2016-11-22 07:02:11 -0800477 },
kjellanderec2c93e2017-09-08 10:52:17 -0700478 {
479 # Update the Mac toolchain if necessary.
480 'name': 'mac_toolchain',
481 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200482 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700483 'action': ['python', 'src/build/mac_toolchain.py'],
484 },
kjellander24d812d2016-11-22 07:02:11 -0800485 # Pull binutils for linux, enabled debug fission for faster linking /
486 # debugging when used with clang on Ubuntu Precise.
487 # https://code.google.com/p/chromium/issues/detail?id=352046
488 {
489 'name': 'binutils',
490 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200491 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800492 'action': [
493 'python',
494 'src/third_party/binutils/download.py',
495 ],
496 },
497 {
kjellander24d812d2016-11-22 07:02:11 -0800498 # Note: On Win, this should run after win_toolchain, as it may use it.
499 'name': 'clang',
500 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200501 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800502 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800503 {
504 # Update LASTCHANGE.
505 'name': 'lastchange',
506 'pattern': '.',
507 'action': ['python', 'src/build/util/lastchange.py',
508 '-o', 'src/build/util/LASTCHANGE'],
509 },
kjellander24d812d2016-11-22 07:02:11 -0800510 # Pull GN binaries.
511 {
512 'name': 'gn_win',
513 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200514 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800515 'action': [ 'download_from_google_storage',
516 '--no_resume',
517 '--platform=win32',
518 '--no_auth',
519 '--bucket', 'chromium-gn',
520 '-s', 'src/buildtools/win/gn.exe.sha1',
521 ],
522 },
523 {
524 'name': 'gn_mac',
525 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200526 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800527 'action': [ 'download_from_google_storage',
528 '--no_resume',
529 '--platform=darwin',
530 '--no_auth',
531 '--bucket', 'chromium-gn',
532 '-s', 'src/buildtools/mac/gn.sha1',
533 ],
534 },
535 {
536 'name': 'gn_linux64',
537 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200538 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800539 'action': [ 'download_from_google_storage',
540 '--no_resume',
541 '--platform=linux*',
542 '--no_auth',
543 '--bucket', 'chromium-gn',
544 '-s', 'src/buildtools/linux64/gn.sha1',
545 ],
546 },
547 # Pull clang-format binaries using checked-in hashes.
548 {
549 'name': 'clang_format_win',
550 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200551 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800552 'action': [ 'download_from_google_storage',
553 '--no_resume',
554 '--platform=win32',
555 '--no_auth',
556 '--bucket', 'chromium-clang-format',
557 '-s', 'src/buildtools/win/clang-format.exe.sha1',
558 ],
559 },
560 {
561 'name': 'clang_format_mac',
562 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200563 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800564 'action': [ 'download_from_google_storage',
565 '--no_resume',
566 '--platform=darwin',
567 '--no_auth',
568 '--bucket', 'chromium-clang-format',
569 '-s', 'src/buildtools/mac/clang-format.sha1',
570 ],
571 },
572 {
573 'name': 'clang_format_linux',
574 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200575 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800576 'action': [ 'download_from_google_storage',
577 '--no_resume',
578 '--platform=linux*',
579 '--no_auth',
580 '--bucket', 'chromium-clang-format',
581 '-s', 'src/buildtools/linux64/clang-format.sha1',
582 ],
583 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200584 # Pull rc binaries using checked-in hashes.
585 {
586 'name': 'rc_win',
587 'pattern': '.',
588 'condition': 'checkout_win and host_os == "win"',
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/win/rc.exe.sha1',
595 ],
596 },
597 {
598 'name': 'rc_mac',
599 'pattern': '.',
600 'condition': 'checkout_win and host_os == "mac"',
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/mac/rc.sha1',
607 ],
608 },
609 {
610 'name': 'rc_linux',
611 'pattern': '.',
612 'condition': 'checkout_win and host_os == "linux"',
613 'action': [ 'python',
614 'src/third_party/depot_tools/download_from_google_storage.py',
615 '--no_resume',
616 '--no_auth',
617 '--bucket', 'chromium-browser-clang/rc',
618 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
619 ],
620 },
kjellander24d812d2016-11-22 07:02:11 -0800621 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
622 {
623 'name': 'luci-go_win',
624 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200625 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800626 'action': [ 'download_from_google_storage',
627 '--no_resume',
628 '--platform=win32',
629 '--no_auth',
630 '--bucket', 'chromium-luci',
631 '-d', 'src/tools/luci-go/win64',
632 ],
633 },
634 {
635 'name': 'luci-go_mac',
636 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200637 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800638 'action': [ 'download_from_google_storage',
639 '--no_resume',
640 '--platform=darwin',
641 '--no_auth',
642 '--bucket', 'chromium-luci',
643 '-d', 'src/tools/luci-go/mac64',
644 ],
645 },
646 {
647 'name': 'luci-go_linux',
648 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200649 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800650 'action': [ 'download_from_google_storage',
651 '--no_resume',
652 '--platform=linux*',
653 '--no_auth',
654 '--bucket', 'chromium-luci',
655 '-d', 'src/tools/luci-go/linux64',
656 ],
657 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200658 # Pull the Syzygy binaries, used for optimization and instrumentation.
659 {
660 'name': 'syzygy-binaries',
661 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200662 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200663 'action': ['python',
664 'src/build/get_syzygy_binaries.py',
665 '--output-dir=src/third_party/syzygy/binaries',
666 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
667 '--overwrite',
668 ],
669 },
kjellander24d812d2016-11-22 07:02:11 -0800670 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200671 'name': 'msan_chained_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-chained-origins-trusty.tgz.sha1",
680 ],
681 },
682 {
683 'name': 'msan_no_origins',
684 'pattern': '.',
685 'condition': 'checkout_instrumented_libraries',
686 'action': [ 'python',
687 'src/third_party/depot_tools/download_from_google_storage.py',
688 "--no_resume",
689 "--no_auth",
690 "--bucket", "chromium-instrumented-libraries",
691 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
692 ],
kjellander24d812d2016-11-22 07:02:11 -0800693 },
694 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000695 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000696 'pattern': '.',
697 'action': ['download_from_google_storage',
698 '--directory',
699 '--recursive',
700 '--num_threads=10',
701 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800702 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000703 '--bucket', 'chromium-webrtc-resources',
704 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000705 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200706 {
707 # This downloads SDK extras and puts them in the
708 # third_party/android_tools/sdk/extras directory.
709 'name': 'sdkextras',
710 'pattern': '.',
711 'condition': 'checkout_android',
712 # When adding a new sdk extras package to download, add the package
713 # directory and zip file to .gitignore in third_party/android_tools.
714 'action': ['python',
715 'src/build/android/play_services/update.py',
716 'download'
717 ],
718 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000719]
kjellander200028f2017-08-17 09:54:12 -0700720
kjellander24d812d2016-11-22 07:02:11 -0800721recursedeps = [
722 # buildtools provides clang_format, libc++, and libc++abi.
723 'src/buildtools',
724 # android_tools manages the NDK.
725 'src/third_party/android_tools',
726]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200727
728# Define rules for which include paths are allowed in our source.
729include_rules = [
730 # Base is only used to build Android APK tests and may not be referenced by
731 # WebRTC production code.
732 "-base",
733 "-chromium",
734 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200735 "+libyuv",
Patrik Höglund5991ac92018-05-21 15:54:42 +0200736
737 # These should eventually move out of here.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200738 "+common_types.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200739 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200740
741 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200742 "+api",
743 "+modules/include",
744 "+rtc_base",
745 "+test",
746 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200747]