blob: 6bfabeb4e864c0c8e0b50a242f4eec587c9b387b [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',
Autorollerd4d92b62018-01-10 13:46:10 -080010 'chromium_revision': 'ec629e65bf168556afd1a6ecaa958e23a8009752',
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.
Autoroller43bd7052018-01-09 14:46:44 -080015 'swarming_revision': '36e0979a4f2f36cd19d0dafe4a8a828a7d42de35',
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.
Autoroller7be31af2018-01-08 04:46:00 -080023 'boringssl_revision': 'ef16f19ef2ea7364a3645c8c48d68f91855305c7',
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.
Autorollerd4d92b62018-01-10 13:46:10 -080031 'catapult_revision': '21f0b3554207e6e8178fa4e8f0c91b1249aeec79',
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':
Autorollerd4d92b62018-01-10 13:46:10 -080041 Var('chromium_git') + '/chromium/src/base' + '@' + '6cee9361d9150fbae491442f1d3da456fd287a34',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010042 'src/build':
Autorollerd4d92b62018-01-10 13:46:10 -080043 Var('chromium_git') + '/chromium/src/build' + '@' + '911efbe9e9f51d93a149dd40609508e17c134f85',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010044 'src/buildtools':
Autorollerd4d92b62018-01-10 13:46:10 -080045 Var('chromium_git') + '/chromium/buildtools.git' + '@' + 'd3ad6b3bbb444a7df1dee6edacccd7fd9c40827e',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020046 'src/ios': {
Autorollerd4d92b62018-01-10 13:46:10 -080047 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '9a6bddc9a217eb6f541238ae7989d3483c5bb4c9',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020048 'condition': 'checkout_ios',
49 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010050 'src/testing':
Autorollerd4d92b62018-01-10 13:46:10 -080051 Var('chromium_git') + '/chromium/src/testing' + '@' + '8caab93d7e90458ffebdd1bd433cdd3978a1e27d',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010052 'src/third_party':
Autorollerd4d92b62018-01-10 13:46:10 -080053 Var('chromium_git') + '/chromium/src/third_party' + '@' + '7bb272614570fc27db02e8d0972858146f04feb4',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020054 'src/third_party/android_tools': {
Autorollerd4d92b62018-01-10 13:46:10 -080055 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c78b25872734e0038ae2a333edc645cd96bc232d',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020056 'condition': 'checkout_android',
57 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080058 'src/third_party/auto/src': {
59 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '71802f2ae74dae2744abd999f8434e13055c4ee3',
60 'condition': 'checkout_android',
61 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010062 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020063 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010064 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020065 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
66 'src/third_party/ced/src': {
67 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
68 'condition': 'checkout_android',
69 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010070 'src/third_party/colorama/src':
71 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070072 'src/third_party/depot_tools':
Autorollerd4d92b62018-01-10 13:46:10 -080073 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '31c14787e48c1d032e8780a11aa1ddd4d63861b7',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020074 'src/third_party/errorprone/lib': {
Autorollerf8409522017-12-20 15:46:23 -080075 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + '0fce89415c910ed2196f4bddf601ffddd90504fa',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020076 'condition': 'checkout_android',
77 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010078 'src/third_party/ffmpeg':
Autoroller8c0cdd02017-11-30 21:46:30 -080079 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '423f74fab02ff573b52abd542eb5dfdadaa05cf4',
Oleh Prypine39c3792017-11-14 23:09:08 +010080 'src/third_party/findbugs': {
81 'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
82 'condition': 'checkout_android',
83 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020084 # WebRTC-only dependency (not present in Chromium).
85 'src/third_party/gtest-parallel':
Autorollere06570b2017-12-06 12:47:07 -080086 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + '180c2f52341c065fd4d8418a238375ab6c91b336',
kjellander3dae7052017-05-03 06:44:36 -070087 'src/third_party/googletest/src':
Autoroller2fb64502017-12-06 07:45:33 -080088 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '247a3d8e5e5d403f7fcacdb8ccc71e5059f15daa',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020089 'src/third_party/icu': {
Autoroller5fcc7b52018-01-09 07:45:28 -080090 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'f3d25bcc2e542a10248d5a272219ed7695fe3252',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020091 },
92 'src/third_party/jsr-305/src': {
93 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
94 'condition': 'checkout_android',
95 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010096 'src/third_party/jsoncpp/source':
97 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020098 'src/third_party/junit/src': {
99 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
100 'condition': 'checkout_android',
101 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100102 # Used for building libFuzzers (only supports Linux).
103 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700104 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100105 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700106 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100107 'src/third_party/libsrtp':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200108 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '1d45b8e599dc2db6ea3ae22dbc94a8c504652423',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100109 'src/third_party/libvpx/source/libvpx':
Autoroller65d9b542018-01-08 14:46:25 -0800110 Var('chromium_git') + '/webm/libvpx.git' + '@' + 'bed28a55f593efd3a71a3a9d05cf8bb25d15fa44',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100111 'src/third_party/libyuv':
Autoroller65d9b542018-01-08 14:46:25 -0800112 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '50f9e618fa4bcb0561622fd709bee5da922b0fd4',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200113 'src/third_party/lss': {
114 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
115 'condition': 'checkout_android or checkout_linux',
116 },
117 'src/third_party/mockito/src': {
118 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
119 'condition': 'checkout_android',
120 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100121 'src/third_party/openh264/src':
Autoroller5fcc7b52018-01-09 07:45:28 -0800122 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '5a5c4f14f471b9f434a55c39e942153453f25661',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100123 'src/third_party/openmax_dl':
Henrik Kjellandera9d4da82017-09-14 07:28:10 +0200124 Var('webrtc_git') + '/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200125 'src/third_party/requests/src': {
126 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
127 'condition': 'checkout_android',
128 },
129 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800130 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200131 'condition': 'checkout_android',
132 },
133 'src/third_party/ub-uiautomator/lib': {
134 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
135 'condition': 'checkout_android',
136 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100137 'src/third_party/usrsctp/usrsctplib':
Autoroller153eebd2017-12-08 14:47:01 -0800138 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '0e076261b832121cf120ddc04aaff87ac3a34d30',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200139 # WebRTC-only dependency (not present in Chromium).
140 'src/third_party/winsdk_samples': {
141 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + '2d31a1cbecc86359e6ec041fb9ff6c082babd073',
142 'condition': 'checkout_win',
143 },
144 # Dependency used by libjpeg-turbo.
145 'src/third_party/yasm/binaries': {
146 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
147 'condition': 'checkout_win',
148 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100149 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700150 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100151 'src/tools':
Autorollerd4d92b62018-01-10 13:46:10 -0800152 Var('chromium_git') + '/chromium/src/tools' + '@' + 'c348ac8cae55369fcc9b35ba728b8ee99491be1a',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100153 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -0700154 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -0700155 'src/tools/swarming_client':
156 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000157}
kjellander200028f2017-08-17 09:54:12 -0700158
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000159hooks = [
160 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200161 # This clobbers when necessary (based on get_landmines.py). It should be
162 # an early hook but it will need to be run after syncing Chromium and
163 # setting up the links, so the script actually exists.
164 'name': 'landmines',
165 'pattern': '.',
166 'action': [
167 'python',
168 'src/build/landmines.py',
169 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200170 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200171 '--src-dir',
172 'src',
173 ],
174 },
oprypin40e7ebd2017-07-27 01:40:18 -0700175 {
176 # Ensure that the DEPS'd "depot_tools" has its self-update capability
177 # disabled.
178 'name': 'disable_depot_tools_selfupdate',
179 'pattern': '.',
180 'action': [
181 'python',
182 'src/third_party/depot_tools/update_depot_tools_toggle.py',
183 '--disable',
184 ],
185 },
kjellander24d812d2016-11-22 07:02:11 -0800186 {
187 # Downloads the current stable linux sysroot to build/linux/ if needed.
188 # This sysroot updates at about the same rate that the chrome build deps
189 # change. This script is a no-op except for linux users who are doing
190 # official chrome builds or cross compiling.
191 'name': 'sysroot',
192 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200193 'condition': 'checkout_linux',
kjellander24d812d2016-11-22 07:02:11 -0800194 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
195 '--running-as-hook'],
196 },
197 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200198 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800199 'name': 'win_toolchain',
200 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200201 # TODO(thakis): Put some condition here. Not just host_os == 'win', because
202 # we also need this for (mac|linux) -> win cross builds.
kjellander24d812d2016-11-22 07:02:11 -0800203 'action': ['python', 'src/build/vs_toolchain.py', 'update'],
204 },
kjellanderec2c93e2017-09-08 10:52:17 -0700205 {
206 # Update the Mac toolchain if necessary.
207 'name': 'mac_toolchain',
208 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200209 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700210 'action': ['python', 'src/build/mac_toolchain.py'],
211 },
kjellander24d812d2016-11-22 07:02:11 -0800212 # Pull binutils for linux, enabled debug fission for faster linking /
213 # debugging when used with clang on Ubuntu Precise.
214 # https://code.google.com/p/chromium/issues/detail?id=352046
215 {
216 'name': 'binutils',
217 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200218 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800219 'action': [
220 'python',
221 'src/third_party/binutils/download.py',
222 ],
223 },
224 {
kjellander24d812d2016-11-22 07:02:11 -0800225 # Note: On Win, this should run after win_toolchain, as it may use it.
226 'name': 'clang',
227 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200228 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800229 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800230 {
231 # Update LASTCHANGE.
232 'name': 'lastchange',
233 'pattern': '.',
234 'action': ['python', 'src/build/util/lastchange.py',
235 '-o', 'src/build/util/LASTCHANGE'],
236 },
kjellander24d812d2016-11-22 07:02:11 -0800237 # Pull GN binaries.
238 {
239 'name': 'gn_win',
240 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200241 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800242 'action': [ 'download_from_google_storage',
243 '--no_resume',
244 '--platform=win32',
245 '--no_auth',
246 '--bucket', 'chromium-gn',
247 '-s', 'src/buildtools/win/gn.exe.sha1',
248 ],
249 },
250 {
251 'name': 'gn_mac',
252 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200253 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800254 'action': [ 'download_from_google_storage',
255 '--no_resume',
256 '--platform=darwin',
257 '--no_auth',
258 '--bucket', 'chromium-gn',
259 '-s', 'src/buildtools/mac/gn.sha1',
260 ],
261 },
262 {
263 'name': 'gn_linux64',
264 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200265 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800266 'action': [ 'download_from_google_storage',
267 '--no_resume',
268 '--platform=linux*',
269 '--no_auth',
270 '--bucket', 'chromium-gn',
271 '-s', 'src/buildtools/linux64/gn.sha1',
272 ],
273 },
274 # Pull clang-format binaries using checked-in hashes.
275 {
276 'name': 'clang_format_win',
277 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200278 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800279 'action': [ 'download_from_google_storage',
280 '--no_resume',
281 '--platform=win32',
282 '--no_auth',
283 '--bucket', 'chromium-clang-format',
284 '-s', 'src/buildtools/win/clang-format.exe.sha1',
285 ],
286 },
287 {
288 'name': 'clang_format_mac',
289 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200290 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800291 'action': [ 'download_from_google_storage',
292 '--no_resume',
293 '--platform=darwin',
294 '--no_auth',
295 '--bucket', 'chromium-clang-format',
296 '-s', 'src/buildtools/mac/clang-format.sha1',
297 ],
298 },
299 {
300 'name': 'clang_format_linux',
301 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200302 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800303 'action': [ 'download_from_google_storage',
304 '--no_resume',
305 '--platform=linux*',
306 '--no_auth',
307 '--bucket', 'chromium-clang-format',
308 '-s', 'src/buildtools/linux64/clang-format.sha1',
309 ],
310 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200311 # Pull rc binaries using checked-in hashes.
312 {
313 'name': 'rc_win',
314 'pattern': '.',
315 'condition': 'checkout_win and host_os == "win"',
316 'action': [ 'python',
317 'src/third_party/depot_tools/download_from_google_storage.py',
318 '--no_resume',
319 '--no_auth',
320 '--bucket', 'chromium-browser-clang/rc',
321 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
322 ],
323 },
324 {
325 'name': 'rc_mac',
326 'pattern': '.',
327 'condition': 'checkout_win and host_os == "mac"',
328 'action': [ 'python',
329 'src/third_party/depot_tools/download_from_google_storage.py',
330 '--no_resume',
331 '--no_auth',
332 '--bucket', 'chromium-browser-clang/rc',
333 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
334 ],
335 },
336 {
337 'name': 'rc_linux',
338 'pattern': '.',
339 'condition': 'checkout_win and host_os == "linux"',
340 'action': [ 'python',
341 'src/third_party/depot_tools/download_from_google_storage.py',
342 '--no_resume',
343 '--no_auth',
344 '--bucket', 'chromium-browser-clang/rc',
345 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
346 ],
347 },
kjellander24d812d2016-11-22 07:02:11 -0800348 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
349 {
350 'name': 'luci-go_win',
351 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200352 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800353 'action': [ 'download_from_google_storage',
354 '--no_resume',
355 '--platform=win32',
356 '--no_auth',
357 '--bucket', 'chromium-luci',
358 '-d', 'src/tools/luci-go/win64',
359 ],
360 },
361 {
362 'name': 'luci-go_mac',
363 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200364 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800365 'action': [ 'download_from_google_storage',
366 '--no_resume',
367 '--platform=darwin',
368 '--no_auth',
369 '--bucket', 'chromium-luci',
370 '-d', 'src/tools/luci-go/mac64',
371 ],
372 },
373 {
374 'name': 'luci-go_linux',
375 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200376 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800377 'action': [ 'download_from_google_storage',
378 '--no_resume',
379 '--platform=linux*',
380 '--no_auth',
381 '--bucket', 'chromium-luci',
382 '-d', 'src/tools/luci-go/linux64',
383 ],
384 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200385 # Pull the Syzygy binaries, used for optimization and instrumentation.
386 {
387 'name': 'syzygy-binaries',
388 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200389 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200390 'action': ['python',
391 'src/build/get_syzygy_binaries.py',
392 '--output-dir=src/third_party/syzygy/binaries',
393 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
394 '--overwrite',
395 ],
396 },
kjellander24d812d2016-11-22 07:02:11 -0800397 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200398 'name': 'msan_chained_origins',
399 'pattern': '.',
400 'condition': 'checkout_instrumented_libraries',
401 'action': [ 'python',
402 'src/third_party/depot_tools/download_from_google_storage.py',
403 "--no_resume",
404 "--no_auth",
405 "--bucket", "chromium-instrumented-libraries",
406 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
407 ],
408 },
409 {
410 'name': 'msan_no_origins',
411 'pattern': '.',
412 'condition': 'checkout_instrumented_libraries',
413 'action': [ 'python',
414 'src/third_party/depot_tools/download_from_google_storage.py',
415 "--no_resume",
416 "--no_auth",
417 "--bucket", "chromium-instrumented-libraries",
418 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
419 ],
kjellander24d812d2016-11-22 07:02:11 -0800420 },
421 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000422 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000423 'pattern': '.',
424 'action': ['download_from_google_storage',
425 '--directory',
426 '--recursive',
427 '--num_threads=10',
428 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800429 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000430 '--bucket', 'chromium-webrtc-resources',
431 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000432 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200433 {
Edward Lemur82752c42017-11-08 19:08:54 +0100434 'name': 'Android CIPD Ensure',
435 'pattern': '.',
436 'condition': 'checkout_android',
437 'action': ['src/build/cipd/cipd_wrapper.py',
438 '--chromium-root', 'src',
439 '--ensure-file', 'src/build/cipd/android/android.ensure',
440 ],
441 },
442 {
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200443 # This downloads SDK extras and puts them in the
444 # third_party/android_tools/sdk/extras directory.
445 'name': 'sdkextras',
446 'pattern': '.',
447 'condition': 'checkout_android',
448 # When adding a new sdk extras package to download, add the package
449 # directory and zip file to .gitignore in third_party/android_tools.
450 'action': ['python',
451 'src/build/android/play_services/update.py',
452 'download'
453 ],
454 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000455]
kjellander200028f2017-08-17 09:54:12 -0700456
kjellander24d812d2016-11-22 07:02:11 -0800457recursedeps = [
458 # buildtools provides clang_format, libc++, and libc++abi.
459 'src/buildtools',
460 # android_tools manages the NDK.
461 'src/third_party/android_tools',
462]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200463
464# Define rules for which include paths are allowed in our source.
465include_rules = [
466 # Base is only used to build Android APK tests and may not be referenced by
467 # WebRTC production code.
468 "-base",
469 "-chromium",
470 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200471 "+libyuv",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200472 # Individual headers that will be moved out of here, see webrtc:4243.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200473 "+call/rtp_config.h",
474 "+common_types.h",
475 "+transport.h",
476 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200477
478 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200479 "+api",
480 "+modules/include",
481 "+rtc_base",
482 "+test",
483 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200484]
485
486# The below rules will be removed when webrtc:4243 is fixed.
487specific_include_rules = {
488 "video_receive_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200489 "+call/video_receive_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200490 ],
491 "video_send_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200492 "+call/video_send_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200493 ],
494}