1vars = {
2  'chromium_git': 'https://chromium.googlesource.com',
3  'chromium_revision': '80f0c5570649c35a869429b2ab8c381a0a7246cb',
4  'swarming_revision': '88229872dd17e71658fe96763feaa77915d8cbd6',
5  # Three lines of non-changing comments so that
6  # the commit queue can handle CLs rolling lss
7  # and whatever else without interference from each other.
8  'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
9  # Three lines of non-changing comments so that
10  # the commit queue can handle CLs rolling catapult
11  # and whatever else without interference from each other.
12  'catapult_revision': 'e7298f36f7912f2caa122086cfbe71734d04b73f',
13}
14
15deps = {
16  'src/build':
17    Var('chromium_git') + '/chromium/src/build' + '@' + '39738e75b27f39d4c0030a0b11d5d2ddd34715f7',
18  'src/buildtools':
19    Var('chromium_git') + '/chromium/buildtools.git' + '@' + 'a09e064635a49f08e585e3b173d5fbc3dd3f485e',
20  'src/testing':
21    Var('chromium_git') + '/chromium/src/testing' + '@' + '5f7e36cad6434fd3d65674af96653a23ecc9f694',
22  'src/third_party':
23    Var('chromium_git') + '/chromium/src/third_party' + '@' + '2c0ced3ddbf84ce1c0759b277d9538da42f23650',
24  'src/third_party/catapult':
25    Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
26  'src/third_party/colorama/src':
27    Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
28  'src/third_party/googletest/src':
29    Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '0062e4869f07a3ef235703ddf63af604b712446c',
30  'src/third_party/libjpeg_turbo':
31    Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
32  'src/third_party/yasm/source/patched-yasm':
33    Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
34  'src/tools':
35    Var('chromium_git') + '/chromium/src/tools' + '@' + '6202b67fc46a9984097caf237e12e3b8f7a9f7da',
36  'src/tools/gyp':
37    Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
38   'src/tools/swarming_client':
39     Var('chromium_git') + '/infra/luci/client-py.git' + '@' +  Var('swarming_revision'),
40
41  # libyuv-only dependencies (not present in Chromium).
42  'src/third_party/gflags':
43    Var('chromium_git') + '/external/webrtc/deps/third_party/gflags' + '@' + '892576179b45861b53e04a112996a738309cf364',
44  'src/third_party/gflags/src':
45    Var('chromium_git') + '/external/github.com/gflags/gflags' + '@' + '03bebcb065c83beff83d50ae025a55a4bf94dfca',
46  'src/third_party/gtest-parallel':
47    Var('chromium_git') + '/external/webrtc/deps/third_party/gtest-parallel' + '@' + '1dad0e9f6d82ff994130b529d7d814b40eb32b0e',
48
49  'src/third_party/lss': {
50    'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
51    'condition': 'checkout_android or checkout_linux',
52  },
53
54  # Android deps:
55  'src/third_party/auto/src': {
56    'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '8a81a858ae7b78a1aef71ac3905fade0bbd64e82',
57    'condition': 'checkout_android',
58  },
59  'src/third_party/auto/src': {
60    'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '8a81a858ae7b78a1aef71ac3905fade0bbd64e82',
61    'condition': 'checkout_android',
62  },
63  'src/base': {
64    'url': Var('chromium_git') + '/chromium/src/base' + '@' + 'ac3d2b81181b085a9952cb83dba748420eefe691',
65    'condition': 'checkout_android',
66  },
67  'src/third_party/android_ndk': {
68    'url': Var('chromium_git') + '/android_ndk.git' + '@' + 'e951c37287c7d8cd915bf8d4149fd4a06d808b55',
69    'condition': 'checkout_android',
70  },
71  'src/third_party/android_tools': {
72    'url': Var('chromium_git') + '/android_tools.git' + '@' + '9a70d48fcdd68cd0e7e968f342bd767ee6323bd1',
73    'condition': 'checkout_android',
74  },
75  'src/third_party/ced/src': {
76    'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
77    'condition': 'checkout_android',
78  },
79  'src/third_party/errorprone/lib': {
80      'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + 'ecc57c2b00627667874744b9ad8efe10734d97a8',
81      'condition': 'checkout_android',
82  },
83  'src/third_party/findbugs': {
84    'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
85    'condition': 'checkout_android',
86  },
87  'src/third_party/icu': {
88    'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'd888fd2a1be890f4d35e43f68d6d79f42519a357',
89  },
90  'src/third_party/jsr-305/src': {
91    'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
92    'condition': 'checkout_android',
93  },
94  'src/third_party/junit/src': {
95    'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
96    'condition': 'checkout_android',
97  },
98  'src/third_party/mockito/src': {
99    'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
100    'condition': 'checkout_android',
101  },
102  'src/third_party/requests/src': {
103    'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
104    'condition': 'checkout_android',
105  },
106  'src/third_party/robolectric/robolectric': {
107    'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
108    'condition': 'checkout_android',
109  },
110  'src/third_party/ub-uiautomator/lib': {
111    'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
112    'condition': 'checkout_android',
113  },
114
115  # iOS deps:
116  'src/ios': {
117    'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '299ef76e844a74a1f2f4ce7f06d101861fb49aba',
118    'condition': 'checkout_ios'
119  },
120
121  # Win deps:
122  # Dependencies used by libjpeg-turbo
123  'src/third_party/yasm/binaries': {
124    'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
125    'condition': 'checkout_win',
126  },
127}
128
129# Define rules for which include paths are allowed in our source.
130include_rules = [ '+gflags' ]
131
132pre_deps_hooks = [
133  {
134    # Remove any symlinks from before 177567c518b121731e507e9b9c4049c4dc96e4c8.
135    # TODO(kjellander): Remove this in March 2017.
136    'name': 'cleanup_links',
137    'pattern': '.',
138    'action': ['python', 'src/cleanup_links.py'],
139  },
140]
141
142hooks = [
143  {
144    # This clobbers when necessary (based on get_landmines.py). It should be
145    # an early hook but it will need to be run after syncing Chromium and
146    # setting up the links, so the script actually exists.
147    'name': 'landmines',
148    'pattern': '.',
149    'action': [
150        'python',
151        'src/build/landmines.py',
152        '--landmine-scripts',
153        'src/tools_libyuv/get_landmines.py',
154        '--src-dir',
155        'src',
156    ],
157  },
158  # Downloads the current stable linux sysroot to build/linux/ if needed.
159  {
160    'name': 'sysroot_arm',
161    'pattern': '.',
162    'condition': 'checkout_linux and checkout_arm',
163    'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
164               '--arch=arm'],
165  },
166  {
167    'name': 'sysroot_arm64',
168    'pattern': '.',
169    'condition': 'checkout_linux and checkout_arm64',
170    'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
171               '--arch=arm64'],
172  },
173  {
174    'name': 'sysroot_x86',
175    'pattern': '.',
176    'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
177    'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
178               '--arch=x86'],
179  },
180  {
181    'name': 'sysroot_mips',
182    'pattern': '.',
183    'condition': 'checkout_linux and checkout_mips',
184    'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
185               '--arch=mips'],
186  },
187  {
188    'name': 'sysroot_x64',
189    'pattern': '.',
190    'condition': 'checkout_linux and checkout_x64',
191    'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
192               '--arch=x64'],
193  },
194  {
195    # Update the Windows toolchain if necessary.
196    'name': 'win_toolchain',
197    'pattern': '.',
198    'action': ['python', 'src/build/vs_toolchain.py', 'update'],
199  },
200  # Pull binutils for linux, enabled debug fission for faster linking /
201  # debugging when used with clang on Ubuntu Precise.
202  # https://code.google.com/p/chromium/issues/detail?id=352046
203  {
204    'name': 'binutils',
205    'pattern': 'src/third_party/binutils',
206    'action': [
207        'python',
208        'src/third_party/binutils/download.py',
209    ],
210  },
211  {
212    # Pull clang if needed or requested via GYP_DEFINES.
213    # Note: On Win, this should run after win_toolchain, as it may use it.
214    'name': 'clang',
215    'pattern': '.',
216    'action': ['python', 'src/tools/clang/scripts/update.py', '--if-needed'],
217  },
218  {
219    # Update LASTCHANGE.
220    'name': 'lastchange',
221    'pattern': '.',
222    'action': ['python', 'src/build/util/lastchange.py',
223               '-o', 'src/build/util/LASTCHANGE'],
224  },
225  # Pull GN binaries.
226  {
227    'name': 'gn_win',
228    'pattern': '.',
229    'action': [ 'download_from_google_storage',
230                '--no_resume',
231                '--platform=win32',
232                '--no_auth',
233                '--bucket', 'chromium-gn',
234                '-s', 'src/buildtools/win/gn.exe.sha1',
235    ],
236  },
237  {
238    'name': 'gn_mac',
239    'pattern': '.',
240    'action': [ 'download_from_google_storage',
241                '--no_resume',
242                '--platform=darwin',
243                '--no_auth',
244                '--bucket', 'chromium-gn',
245                '-s', 'src/buildtools/mac/gn.sha1',
246    ],
247  },
248  {
249    'name': 'gn_linux64',
250    'pattern': '.',
251    'action': [ 'download_from_google_storage',
252                '--no_resume',
253                '--platform=linux*',
254                '--no_auth',
255                '--bucket', 'chromium-gn',
256                '-s', 'src/buildtools/linux64/gn.sha1',
257    ],
258  },
259  # Pull clang-format binaries using checked-in hashes.
260  {
261    'name': 'clang_format_win',
262    'pattern': '.',
263    'action': [ 'download_from_google_storage',
264                '--no_resume',
265                '--platform=win32',
266                '--no_auth',
267                '--bucket', 'chromium-clang-format',
268                '-s', 'src/buildtools/win/clang-format.exe.sha1',
269    ],
270  },
271  {
272    'name': 'clang_format_mac',
273    'pattern': '.',
274    'action': [ 'download_from_google_storage',
275                '--no_resume',
276                '--platform=darwin',
277                '--no_auth',
278                '--bucket', 'chromium-clang-format',
279                '-s', 'src/buildtools/mac/clang-format.sha1',
280    ],
281  },
282  {
283    'name': 'clang_format_linux',
284    'pattern': '.',
285    'action': [ 'download_from_google_storage',
286                '--no_resume',
287                '--platform=linux*',
288                '--no_auth',
289                '--bucket', 'chromium-clang-format',
290                '-s', 'src/buildtools/linux64/clang-format.sha1',
291    ],
292  },
293  # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
294  {
295    'name': 'luci-go_win',
296    'pattern': '.',
297    'action': [ 'download_from_google_storage',
298                '--no_resume',
299                '--platform=win32',
300                '--no_auth',
301                '--bucket', 'chromium-luci',
302                '-d', 'src/tools/luci-go/win64',
303    ],
304  },
305  {
306    'name': 'luci-go_mac',
307    'pattern': '.',
308    'action': [ 'download_from_google_storage',
309                '--no_resume',
310                '--platform=darwin',
311                '--no_auth',
312                '--bucket', 'chromium-luci',
313                '-d', 'src/tools/luci-go/mac64',
314    ],
315  },
316  {
317    'name': 'luci-go_linux',
318    'pattern': '.',
319    'action': [ 'download_from_google_storage',
320                '--no_resume',
321                '--platform=linux*',
322                '--no_auth',
323                '--bucket', 'chromium-luci',
324                '-d', 'src/tools/luci-go/linux64',
325    ],
326  },
327  {
328    'name': 'Android CIPD Ensure',
329    'pattern': '.',
330    'condition': 'checkout_android',
331    'action': ['src/build/cipd/cipd_wrapper.py',
332               '--chromium-root', 'src',
333               '--ensure-file', 'src/build/cipd/android/android.ensure',
334    ],
335  },
336  # Android dependencies. Many are downloaded using Google Storage these days.
337  # They're copied from https://cs.chromium.org/chromium/src/DEPS for all
338  # such dependencies we share with Chromium.
339  {
340    # This downloads SDK extras and puts them in the
341    # third_party/android_tools/sdk/extras directory.
342    'name': 'sdkextras',
343    'pattern': '.',
344    # When adding a new sdk extras package to download, add the package
345    # directory and zip file to .gitignore in third_party/android_tools.
346    'action': ['python',
347               'src/build/android/play_services/update.py',
348               'download'
349    ],
350  },
351]
352
353recursedeps = [
354  # buildtools provides clang_format, libc++, and libc++abi.
355  'src/buildtools',
356  # android_tools manages the NDK.
357  'src/third_party/android_tools',
358]
359