blob: 7a50227de5eb2c85da92f7789d3910fad6e5afef [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',
Autoroller2f510ad2018-01-15 07:44:21 -080010 'chromium_revision': '97bf3ad18eb9c822964de681b94f7f880711c932',
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.
Autoroller2f510ad2018-01-15 07:44:21 -080015 'swarming_revision': '88229872dd17e71658fe96763feaa77915d8cbd6',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010016 # Three lines of non-changing comments so that
17 # the commit queue can handle CLs rolling openmax_dl
18 # and whatever else without interference from each other.
Autoroller5a943622017-12-13 17:46:26 -080019 'openmax_dl_revision': 'b611996df3b8f6b151339d22c12c21f167009cb6',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010020 # Three lines of non-changing comments so that
21 # the commit queue can handle CLs rolling BoringSSL
22 # and whatever else without interference from each other.
Oleh Prypin44b67622018-01-15 14:20:13 +010023 'boringssl_revision': '94cd196a80252c98e329e979870f2a462cc4f402',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010024 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010025 # the commit queue can handle CLs rolling lss
26 # and whatever else without interference from each other.
Oleh Prypin3ebed362017-10-27 10:14:45 +020027 'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010028 # Three lines of non-changing comments so that
29 # the commit queue can handle CLs rolling catapult
30 # and whatever else without interference from each other.
Autoroller2f510ad2018-01-15 07:44:21 -080031 'catapult_revision': '785486272fdd040ffc53214deaa8d30a293df6f2',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010032 # Three lines of non-changing comments so that
33 # the commit queue can handle CLs rolling libFuzzer
34 # and whatever else without interference from each other.
Autorollerb5070022017-12-15 12:46:39 -080035 'libfuzzer_revision': 'ba2c1cd6f87accb32b5dbce297387c56a2e53a2f',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000036}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000037deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010038 # TODO(kjellander): Move this to be Android-only once the libevent dependency
39 # in base/third_party/libevent is solved.
40 'src/base':
Autoroller2f510ad2018-01-15 07:44:21 -080041 Var('chromium_git') + '/chromium/src/base' + '@' + 'dc7e66bd14356929c632bd3ebf304092ae9a07fa',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010042 'src/build':
Autoroller2f510ad2018-01-15 07:44:21 -080043 Var('chromium_git') + '/chromium/src/build' + '@' + '2c4f0d08ec19c5be2c3bcb2e35c5bcebd6a61fc3',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010044 'src/buildtools':
Autoroller2f510ad2018-01-15 07:44:21 -080045 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '6fe4a3251488f7af86d64fc25cf442e817cf6133',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020046 'src/ios': {
Autoroller2f510ad2018-01-15 07:44:21 -080047 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '406d7b7ac94709f7b8ee20dd6feebe8c722a78af',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020048 'condition': 'checkout_ios',
49 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010050 'src/testing':
Autoroller2f510ad2018-01-15 07:44:21 -080051 Var('chromium_git') + '/chromium/src/testing' + '@' + 'e3baccadac00d406bb2c6011c3c80531204af782',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010052 'src/third_party':
Autoroller2f510ad2018-01-15 07:44:21 -080053 Var('chromium_git') + '/chromium/src/third_party' + '@' + 'f01e063dc62a220110fa5a0250fd60b0ed18ab95',
Edward Lemur55536f22018-01-11 14:14:26 +010054 'src/third_party/android_ndk': {
55 'url': Var('chromium_git') + '/android_ndk.git' + '@' + 'e951c37287c7d8cd915bf8d4149fd4a06d808b55',
56 'condition': 'checkout_android',
57 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020058 'src/third_party/android_tools': {
Autorollerd4d92b62018-01-10 13:46:10 -080059 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c78b25872734e0038ae2a333edc645cd96bc232d',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020060 'condition': 'checkout_android',
61 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080062 'src/third_party/auto/src': {
63 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '71802f2ae74dae2744abd999f8434e13055c4ee3',
64 'condition': 'checkout_android',
65 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010066 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020067 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010068 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020069 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
70 'src/third_party/ced/src': {
71 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
72 'condition': 'checkout_android',
73 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010074 'src/third_party/colorama/src':
75 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070076 'src/third_party/depot_tools':
Autoroller2f510ad2018-01-15 07:44:21 -080077 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '5d6b00fac64a829cca5637bb76abe618291b8b60',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020078 'src/third_party/errorprone/lib': {
Autoroller2f510ad2018-01-15 07:44:21 -080079 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + 'ecc57c2b00627667874744b9ad8efe10734d97a8',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020080 'condition': 'checkout_android',
81 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010082 'src/third_party/ffmpeg':
Autoroller2f510ad2018-01-15 07:44:21 -080083 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + 'b64dedac9d1d70148a50791d127eede2e7eb93ba',
Oleh Prypine39c3792017-11-14 23:09:08 +010084 'src/third_party/findbugs': {
85 'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
86 'condition': 'checkout_android',
87 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020088 # WebRTC-only dependency (not present in Chromium).
89 'src/third_party/gtest-parallel':
Autorollere06570b2017-12-06 12:47:07 -080090 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + '180c2f52341c065fd4d8418a238375ab6c91b336',
kjellander3dae7052017-05-03 06:44:36 -070091 'src/third_party/googletest/src':
Oleh Prypin44b67622018-01-15 14:20:13 +010092 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '0062e4869f07a3ef235703ddf63af604b712446c',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020093 'src/third_party/icu': {
Autoroller5fcc7b52018-01-09 07:45:28 -080094 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'f3d25bcc2e542a10248d5a272219ed7695fe3252',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020095 },
96 'src/third_party/jsr-305/src': {
97 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
98 'condition': 'checkout_android',
99 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100100 'src/third_party/jsoncpp/source':
101 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200102 'src/third_party/junit/src': {
103 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
104 'condition': 'checkout_android',
105 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100106 # Used for building libFuzzers (only supports Linux).
107 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700108 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100109 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700110 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100111 'src/third_party/libsrtp':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200112 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '1d45b8e599dc2db6ea3ae22dbc94a8c504652423',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100113 'src/third_party/libvpx/source/libvpx':
Autoroller65d9b542018-01-08 14:46:25 -0800114 Var('chromium_git') + '/webm/libvpx.git' + '@' + 'bed28a55f593efd3a71a3a9d05cf8bb25d15fa44',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100115 'src/third_party/libyuv':
Autoroller65d9b542018-01-08 14:46:25 -0800116 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '50f9e618fa4bcb0561622fd709bee5da922b0fd4',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200117 'src/third_party/lss': {
118 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
119 'condition': 'checkout_android or checkout_linux',
120 },
121 'src/third_party/mockito/src': {
122 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
123 'condition': 'checkout_android',
124 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100125 'src/third_party/openh264/src':
Autoroller5fcc7b52018-01-09 07:45:28 -0800126 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '5a5c4f14f471b9f434a55c39e942153453f25661',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100127 'src/third_party/openmax_dl':
Henrik Kjellandera9d4da82017-09-14 07:28:10 +0200128 Var('webrtc_git') + '/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200129 'src/third_party/requests/src': {
130 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
131 'condition': 'checkout_android',
132 },
133 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800134 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200135 'condition': 'checkout_android',
136 },
137 'src/third_party/ub-uiautomator/lib': {
138 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
139 'condition': 'checkout_android',
140 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100141 'src/third_party/usrsctp/usrsctplib':
Autoroller153eebd2017-12-08 14:47:01 -0800142 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '0e076261b832121cf120ddc04aaff87ac3a34d30',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200143 # WebRTC-only dependency (not present in Chromium).
144 'src/third_party/winsdk_samples': {
145 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + '2d31a1cbecc86359e6ec041fb9ff6c082babd073',
146 'condition': 'checkout_win',
147 },
148 # Dependency used by libjpeg-turbo.
149 'src/third_party/yasm/binaries': {
150 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
151 'condition': 'checkout_win',
152 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100153 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700154 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100155 'src/tools':
Autoroller2f510ad2018-01-15 07:44:21 -0800156 Var('chromium_git') + '/chromium/src/tools' + '@' + 'c2699036532f9ce005eb549703b2d64518cabd7a',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100157 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -0700158 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -0700159 'src/tools/swarming_client':
160 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000161}
kjellander200028f2017-08-17 09:54:12 -0700162
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000163hooks = [
164 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200165 # This clobbers when necessary (based on get_landmines.py). It should be
166 # an early hook but it will need to be run after syncing Chromium and
167 # setting up the links, so the script actually exists.
168 'name': 'landmines',
169 'pattern': '.',
170 'action': [
171 'python',
172 'src/build/landmines.py',
173 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200174 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200175 '--src-dir',
176 'src',
177 ],
178 },
oprypin40e7ebd2017-07-27 01:40:18 -0700179 {
180 # Ensure that the DEPS'd "depot_tools" has its self-update capability
181 # disabled.
182 'name': 'disable_depot_tools_selfupdate',
183 'pattern': '.',
184 'action': [
185 'python',
186 'src/third_party/depot_tools/update_depot_tools_toggle.py',
187 '--disable',
188 ],
189 },
kjellander24d812d2016-11-22 07:02:11 -0800190 {
191 # Downloads the current stable linux sysroot to build/linux/ if needed.
192 # This sysroot updates at about the same rate that the chrome build deps
193 # change. This script is a no-op except for linux users who are doing
194 # official chrome builds or cross compiling.
195 'name': 'sysroot',
196 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200197 'condition': 'checkout_linux',
kjellander24d812d2016-11-22 07:02:11 -0800198 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
199 '--running-as-hook'],
200 },
201 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200202 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800203 'name': 'win_toolchain',
204 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200205 # TODO(thakis): Put some condition here. Not just host_os == 'win', because
206 # we also need this for (mac|linux) -> win cross builds.
kjellander24d812d2016-11-22 07:02:11 -0800207 'action': ['python', 'src/build/vs_toolchain.py', 'update'],
208 },
kjellanderec2c93e2017-09-08 10:52:17 -0700209 {
210 # Update the Mac toolchain if necessary.
211 'name': 'mac_toolchain',
212 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200213 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700214 'action': ['python', 'src/build/mac_toolchain.py'],
215 },
kjellander24d812d2016-11-22 07:02:11 -0800216 # Pull binutils for linux, enabled debug fission for faster linking /
217 # debugging when used with clang on Ubuntu Precise.
218 # https://code.google.com/p/chromium/issues/detail?id=352046
219 {
220 'name': 'binutils',
221 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200222 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800223 'action': [
224 'python',
225 'src/third_party/binutils/download.py',
226 ],
227 },
228 {
kjellander24d812d2016-11-22 07:02:11 -0800229 # Note: On Win, this should run after win_toolchain, as it may use it.
230 'name': 'clang',
231 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200232 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800233 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800234 {
235 # Update LASTCHANGE.
236 'name': 'lastchange',
237 'pattern': '.',
238 'action': ['python', 'src/build/util/lastchange.py',
239 '-o', 'src/build/util/LASTCHANGE'],
240 },
kjellander24d812d2016-11-22 07:02:11 -0800241 # Pull GN binaries.
242 {
243 'name': 'gn_win',
244 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200245 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800246 'action': [ 'download_from_google_storage',
247 '--no_resume',
248 '--platform=win32',
249 '--no_auth',
250 '--bucket', 'chromium-gn',
251 '-s', 'src/buildtools/win/gn.exe.sha1',
252 ],
253 },
254 {
255 'name': 'gn_mac',
256 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200257 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800258 'action': [ 'download_from_google_storage',
259 '--no_resume',
260 '--platform=darwin',
261 '--no_auth',
262 '--bucket', 'chromium-gn',
263 '-s', 'src/buildtools/mac/gn.sha1',
264 ],
265 },
266 {
267 'name': 'gn_linux64',
268 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200269 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800270 'action': [ 'download_from_google_storage',
271 '--no_resume',
272 '--platform=linux*',
273 '--no_auth',
274 '--bucket', 'chromium-gn',
275 '-s', 'src/buildtools/linux64/gn.sha1',
276 ],
277 },
278 # Pull clang-format binaries using checked-in hashes.
279 {
280 'name': 'clang_format_win',
281 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200282 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800283 'action': [ 'download_from_google_storage',
284 '--no_resume',
285 '--platform=win32',
286 '--no_auth',
287 '--bucket', 'chromium-clang-format',
288 '-s', 'src/buildtools/win/clang-format.exe.sha1',
289 ],
290 },
291 {
292 'name': 'clang_format_mac',
293 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200294 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800295 'action': [ 'download_from_google_storage',
296 '--no_resume',
297 '--platform=darwin',
298 '--no_auth',
299 '--bucket', 'chromium-clang-format',
300 '-s', 'src/buildtools/mac/clang-format.sha1',
301 ],
302 },
303 {
304 'name': 'clang_format_linux',
305 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200306 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800307 'action': [ 'download_from_google_storage',
308 '--no_resume',
309 '--platform=linux*',
310 '--no_auth',
311 '--bucket', 'chromium-clang-format',
312 '-s', 'src/buildtools/linux64/clang-format.sha1',
313 ],
314 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200315 # Pull rc binaries using checked-in hashes.
316 {
317 'name': 'rc_win',
318 'pattern': '.',
319 'condition': 'checkout_win and host_os == "win"',
320 'action': [ 'python',
321 'src/third_party/depot_tools/download_from_google_storage.py',
322 '--no_resume',
323 '--no_auth',
324 '--bucket', 'chromium-browser-clang/rc',
325 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
326 ],
327 },
328 {
329 'name': 'rc_mac',
330 'pattern': '.',
331 'condition': 'checkout_win and host_os == "mac"',
332 'action': [ 'python',
333 'src/third_party/depot_tools/download_from_google_storage.py',
334 '--no_resume',
335 '--no_auth',
336 '--bucket', 'chromium-browser-clang/rc',
337 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
338 ],
339 },
340 {
341 'name': 'rc_linux',
342 'pattern': '.',
343 'condition': 'checkout_win and host_os == "linux"',
344 'action': [ 'python',
345 'src/third_party/depot_tools/download_from_google_storage.py',
346 '--no_resume',
347 '--no_auth',
348 '--bucket', 'chromium-browser-clang/rc',
349 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
350 ],
351 },
kjellander24d812d2016-11-22 07:02:11 -0800352 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
353 {
354 'name': 'luci-go_win',
355 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200356 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800357 'action': [ 'download_from_google_storage',
358 '--no_resume',
359 '--platform=win32',
360 '--no_auth',
361 '--bucket', 'chromium-luci',
362 '-d', 'src/tools/luci-go/win64',
363 ],
364 },
365 {
366 'name': 'luci-go_mac',
367 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200368 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800369 'action': [ 'download_from_google_storage',
370 '--no_resume',
371 '--platform=darwin',
372 '--no_auth',
373 '--bucket', 'chromium-luci',
374 '-d', 'src/tools/luci-go/mac64',
375 ],
376 },
377 {
378 'name': 'luci-go_linux',
379 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200380 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800381 'action': [ 'download_from_google_storage',
382 '--no_resume',
383 '--platform=linux*',
384 '--no_auth',
385 '--bucket', 'chromium-luci',
386 '-d', 'src/tools/luci-go/linux64',
387 ],
388 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200389 # Pull the Syzygy binaries, used for optimization and instrumentation.
390 {
391 'name': 'syzygy-binaries',
392 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200393 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200394 'action': ['python',
395 'src/build/get_syzygy_binaries.py',
396 '--output-dir=src/third_party/syzygy/binaries',
397 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
398 '--overwrite',
399 ],
400 },
kjellander24d812d2016-11-22 07:02:11 -0800401 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200402 'name': 'msan_chained_origins',
403 'pattern': '.',
404 'condition': 'checkout_instrumented_libraries',
405 'action': [ 'python',
406 'src/third_party/depot_tools/download_from_google_storage.py',
407 "--no_resume",
408 "--no_auth",
409 "--bucket", "chromium-instrumented-libraries",
410 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
411 ],
412 },
413 {
414 'name': 'msan_no_origins',
415 'pattern': '.',
416 'condition': 'checkout_instrumented_libraries',
417 'action': [ 'python',
418 'src/third_party/depot_tools/download_from_google_storage.py',
419 "--no_resume",
420 "--no_auth",
421 "--bucket", "chromium-instrumented-libraries",
422 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
423 ],
kjellander24d812d2016-11-22 07:02:11 -0800424 },
425 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000426 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000427 'pattern': '.',
428 'action': ['download_from_google_storage',
429 '--directory',
430 '--recursive',
431 '--num_threads=10',
432 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800433 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000434 '--bucket', 'chromium-webrtc-resources',
435 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000436 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200437 {
Edward Lemur82752c42017-11-08 19:08:54 +0100438 'name': 'Android CIPD Ensure',
439 'pattern': '.',
440 'condition': 'checkout_android',
441 'action': ['src/build/cipd/cipd_wrapper.py',
442 '--chromium-root', 'src',
443 '--ensure-file', 'src/build/cipd/android/android.ensure',
444 ],
445 },
446 {
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200447 # This downloads SDK extras and puts them in the
448 # third_party/android_tools/sdk/extras directory.
449 'name': 'sdkextras',
450 'pattern': '.',
451 'condition': 'checkout_android',
452 # When adding a new sdk extras package to download, add the package
453 # directory and zip file to .gitignore in third_party/android_tools.
454 'action': ['python',
455 'src/build/android/play_services/update.py',
456 'download'
457 ],
458 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000459]
kjellander200028f2017-08-17 09:54:12 -0700460
kjellander24d812d2016-11-22 07:02:11 -0800461recursedeps = [
462 # buildtools provides clang_format, libc++, and libc++abi.
463 'src/buildtools',
464 # android_tools manages the NDK.
465 'src/third_party/android_tools',
466]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200467
468# Define rules for which include paths are allowed in our source.
469include_rules = [
470 # Base is only used to build Android APK tests and may not be referenced by
471 # WebRTC production code.
472 "-base",
473 "-chromium",
474 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200475 "+libyuv",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200476 # Individual headers that will be moved out of here, see webrtc:4243.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200477 "+call/rtp_config.h",
478 "+common_types.h",
479 "+transport.h",
480 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200481
482 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200483 "+api",
484 "+modules/include",
485 "+rtc_base",
486 "+test",
487 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200488]
489
490# The below rules will be removed when webrtc:4243 is fixed.
491specific_include_rules = {
492 "video_receive_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200493 "+call/video_receive_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200494 ],
495 "video_send_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200496 "+call/video_send_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200497 ],
498}