xref: /aosp_15_r20/external/pdfium/DEPS (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1use_relative_paths = True
2
3gclient_gn_args_file = 'build/config/gclient_args.gni'
4gclient_gn_args = [
5  'checkout_skia',
6]
7
8vars = {
9  # By default, we should check out everything needed to run on the main
10  # pdfium waterfalls. This var can be also be set to 'small', in order to skip
11  # things are not strictly needed to build pdfium for development purposes,
12  # by adding the following line to the .gclient file inside a solutions entry:
13  #      "custom_vars": { "checkout_configuration": "small" },
14  # Similarly, this var can be set to 'minimal' to also skip the Skia and V8
15  # checkouts for the smallest possible checkout, where some features will not
16  # work.
17  'checkout_configuration': 'default',
18
19  'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration != "small" and checkout_configuration != "minimal"',
20
21  'checkout_skia': 'checkout_configuration != "minimal"',
22
23  'checkout_testing_corpus': 'checkout_configuration != "small" and checkout_configuration != "minimal"',
24
25  'checkout_v8': 'checkout_configuration != "minimal"',
26
27  # By default, download the fuchsia sdk from the public sdk directory.
28  'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/core/',
29
30  # Fetch configuration files required for the 'use_remoteexec' gn arg
31  'download_remoteexec_cfg': False,
32  # RBE instance to use for running remote builds
33  'rbe_instance': Str('projects/rbe-chrome-untrusted/instances/default_instance'),
34  # RBE project to download rewrapper config files for. Only needed if
35  # different from the project used in 'rbe_instance'
36  'rewrapper_cfg_project': Str(''),
37  # reclient CIPD package
38  'reclient_package': 'infra/rbe/client/',
39  # reclient CIPD package version
40  'reclient_version': 're_client_version:0.109.0.927890d-gomaip',
41
42  'chromium_git': 'https://chromium.googlesource.com',
43  'pdfium_git': 'https://pdfium.googlesource.com',
44  'skia_git': 'https://skia.googlesource.com',
45
46  # Three lines of non-changing comments so that
47  # the commit queue can handle CLs rolling abseil
48  # and whatever else without interference from each other.
49  'abseil_revision': '2288062eef9624e8b48070ed2447139d3fd4a1c5',
50  # Three lines of non-changing comments so that
51  # the commit queue can handle CLs rolling android_toolchain
52  # and whatever else without interference from each other.
53  'android_toolchain_version': 'R_8suM8m0oHbZ1awdxGXvKEFpAOETscbfZxkkMthyk8C',
54  # Three lines of non-changing comments so that
55  # the commit queue can handle CLs rolling build
56  # and whatever else without interference from each other.
57  'build_revision': '336e34d44c88d1160d150bd6c8d93e203a424b42',
58  # Three lines of non-changing comments so that
59  # the commit queue can handle CLs rolling buildtools
60  # and whatever else without interference from each other.
61  'buildtools_revision': '16be42a9ff1f7e4a3e53b93b3adc181fa7ff9161',
62  # Three lines of non-changing comments so that
63  # the commit queue can handle CLs rolling catapult
64  # and whatever else without interference from each other.
65  'catapult_revision': '220cbb13b5a7485be09813e7da4123088419a76a',
66  # Three lines of non-changing comments so that
67  # the commit queue can handle CLs rolling clang format
68  # and whatever else without interference from each other.
69  'clang_format_revision': 'e5337933f2951cacd3aeacd238ce4578163ca0b9',
70  # Three lines of non-changing comments so that
71  # the commit queue can handle CLs rolling clang
72  # and whatever else without interference from each other.
73  'clang_revision': '236e66ffd61f3bd710d20d20a67e71a1f1f55cba',
74  # Three lines of non-changing comments so that
75  # the commit queue can handle CLs rolling code_coverage
76  # and whatever else without interference from each other.
77  'code_coverage_revision': 'bce4cdc2309e9a7f1e0ff1d9310e0d0302aa67e0',
78  # Three lines of non-changing comments so that
79  # the commit queue can handle CLs rolling code_coverage
80  # and whatever else without interference from each other.
81  'cpu_features_revision': '936b9ab5515dead115606559502e3864958f7f6e',
82  # Three lines of non-changing comments so that
83  # the commit queue can handle CLs rolling depot_tools
84  # and whatever else without interference from each other.
85  'depot_tools_revision': '59e10115417ac77f47e42c3f13a4f6b58ebe70c2',
86  # Three lines of non-changing comments so that
87  # the commit queue can handle CLs rolling freetype
88  # and whatever else without interference from each other.
89  'freetype_revision': 'b2584c738f1a92e6369890cff0504cc044315b38',
90  # Three lines of non-changing comments so that
91  # the commit queue can handle CLs rolling freetype
92  # and whatever else without interference from each other.
93  'fuchsia_gn_sdk_revision': '0d6902558d92fe3d49ba9a8f638ddea829be595b',
94  # Three lines of non-changing comments so that
95  # the commit queue can handle CLs rolling Fuchsia sdk
96  # and whatever else without interference from each other.
97  'fuchsia_version': 'version:14.20230727.2.1',
98  # Three lines of non-changing comments so that
99  # the commit queue can handle CLs rolling GN CIPD package version
100  # and whatever else without interference from each other.
101  'gn_version': 'git_revision:3fccef9033b950e8935e8debeba9fbd71617bc74',
102  # Three lines of non-changing comments so that
103  # the commit queue can handle CLs rolling gtest
104  # and whatever else without interference from each other.
105  'gtest_revision': 'af29db7ec28d6df1c7f0f745186884091e602e07',
106  # Three lines of non-changing comments so that
107  # the commit queue can handle CLs rolling icu
108  # and whatever else without interference from each other.
109  'icu_revision': 'de4ce0071eb47ed54cbda54869001210cf3a8ae5',
110  # Three lines of non-changing comments so that
111  # the commit queue can handle CLs rolling instrumented_lib
112  # and whatever else without interference from each other.
113  'instrumented_lib_revision': '032e9c850ab975f7c088a625dcf2256917dbdfa6',
114  # Three lines of non-changing comments so that
115  # the commit queue can handle CLs rolling jinja2
116  # and whatever else without interference from each other.
117  'jinja2_revision': '515dd10de9bf63040045902a4a310d2ba25213a0',
118  # Three lines of non-changing comments so that
119  # the commit queue can handle CLs rolling jpeg_turbo
120  # and whatever else without interference from each other.
121  'jpeg_turbo_revision': '30bdb85e302ecfc52593636b2f44af438e05e784',
122  # Three lines of non-changing comments so that
123  # the commit queue can handle CLs rolling libc++
124  # and whatever else without interference from each other.
125  # If you change this, also update the libc++ revision in
126  # //buildtools/deps_revisions.gni.
127  'libcxx_revision': '84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80',
128  # Three lines of non-changing comments so that
129  # the commit queue can handle CLs rolling libc++abi
130  # and whatever else without interference from each other.
131  'libcxxabi_revision': 'd4760c0af99ccc9bce077960d5ddde4d66146c05',
132  # Three lines of non-changing comments so that
133  # the commit queue can handle CLs rolling libpng
134  # and whatever else without interference from each other.
135  'libpng_revision': '805df541c44099bb20d425ac47c666e29b1f7a80',
136  # Three lines of non-changing comments so that
137  # the commit queue can handle CLs rolling libunwind
138  # and whatever else without interference from each other.
139  'libunwind_revision': 'e5a9c50e5e0b620a8886df1c4677b12404620fb6',
140  # Three lines of non-changing comments so that
141  # the commit queue can handle CLs rolling markupsafe
142  # and whatever else without interference from each other.
143  'markupsafe_revision': '006709ba3ed87660a17bd4548c45663628f5ed85',
144  # Three lines of non-changing comments so that
145  # the commit queue can handle CLs rolling nasm_source
146  # and whatever else without interference from each other.
147  'nasm_source_revision': '7fc833e889d1afda72c06220e5bed8fb43b2e5ce',
148  # Three lines of non-changing comments so that
149  # the commit queue can handle CLs rolling Ninja CIPD package version
150  # and whatever else without interference from each other.
151  'ninja_version': 'version:[email protected]',
152  # Three lines of non-changing comments so that
153  # the commit queue can handle CLs rolling partition_allocator
154  # and whatever else without interference from each other.
155  'partition_allocator_revision': 'f91d5ba232cbe61b9740b4101a5b5bea3cd631ed',
156  # Three lines of non-changing comments so that
157  # the commit queue can handle CLs rolling pdfium_tests
158  # and whatever else without interference from each other.
159  'pdfium_tests_revision': 'dc2cd9afdd1bad8666072416c340ad1c6a01e388',
160  # Three lines of non-changing comments so that
161  # the commit queue can handle CLs rolling resultdb
162  # and whatever else without interference from each other.
163  'resultdb_version': 'git_revision:ebc74d10fa0d64057daa6f128e89f3672eeeec95',
164  # Three lines of non-changing comments so that
165  # the commit queue can handle CLs rolling skia
166  # and whatever else without interference from each other.
167  'skia_revision': '6119b059f50a1858f882068cc6738571240b4f5d',
168  # Three lines of non-changing comments so that
169  # the commit queue can handle CLs rolling test_fonts
170  # and whatever else without interference from each other.
171  'test_fonts_revision': '7f51783942943e965cd56facf786544ccfc07713',
172  # Three lines of non-changing comments so that
173  # the commit queue can handle CLs rolling tools_memory
174  # and whatever else without interference from each other.
175  'tools_memory_revision': '2a4c4ba1f4a94231b01280a0c63d3fe4404cc9c2',
176  # Three lines of non-changing comments so that
177  # the commit queue can handle CLs rolling trace_event
178  # and whatever else without interference from each other.
179  'trace_event_revision': '147f65333c38ddd1ebf554e89965c243c8ce50b3',
180  # Three lines of non-changing comments so that
181  # the commit queue can handle CLs rolling v8
182  # and whatever else without interference from each other.
183  'v8_revision': '41ff48bd620584b425618e7f8b51617c46c4d67f',
184  # Three lines of non-changing comments so that
185  # the commit queue can handle CLs rolling zlib
186  # and whatever else without interference from each other.
187  'zlib_revision': '526382e41c9c5275dc329db4328b54e4f344a204',
188}
189
190# Only these hosts are allowed for dependencies in this DEPS file.
191# If you need to add a new host, and the new host is not in Chromium's DEPS
192# file's allowed_hosts list, contact Chrome infrastructure team.
193allowed_hosts = [
194  'chromium.googlesource.com',
195  'pdfium.googlesource.com',
196  'skia.googlesource.com',
197]
198
199deps = {
200  'base/allocator/partition_allocator':
201    Var('chromium_git') +
202        '/chromium/src/base/allocator/partition_allocator.git@' +
203        Var('partition_allocator_revision'),
204
205  'base/trace_event/common':
206    Var('chromium_git') + '/chromium/src/base/trace_event/common.git@' +
207        Var('trace_event_revision'),
208
209  'build':
210    Var('chromium_git') + '/chromium/src/build.git@' + Var('build_revision'),
211
212  'buildtools':
213    Var('chromium_git') + '/chromium/src/buildtools.git@' +
214        Var('buildtools_revision'),
215
216  'buildtools/clang_format/script':
217    Var('chromium_git') +
218        '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' +
219        Var('clang_format_revision'),
220
221  'buildtools/linux64': {
222    'packages': [
223      {
224        'package': 'gn/gn/linux-amd64',
225        'version': Var('gn_version'),
226      }
227    ],
228    'dep_type': 'cipd',
229    'condition': 'host_os == "linux"',
230  },
231
232  'buildtools/mac': {
233    'packages': [
234      {
235        'package': 'gn/gn/mac-${{arch}}',
236        'version': Var('gn_version'),
237      }
238    ],
239    'dep_type': 'cipd',
240    'condition': 'host_os == "mac"',
241  },
242
243  'buildtools/reclient': {
244    'packages': [
245      {
246        'package': Var('reclient_package') + '${{platform}}',
247        'version': Var('reclient_version'),
248      }
249    ],
250    'dep_type': 'cipd',
251  },
252
253  # TODO(chromium:1458042): Remove these paths, when chromium builds files
254  # have moved to third_party/lib*/src paths.
255  'buildtools/third_party/libc++/trunk':
256    Var('chromium_git') +
257        '/external/github.com/llvm/llvm-project/libcxx.git@' +
258        Var('libcxx_revision'),
259
260  'buildtools/third_party/libc++abi/trunk':
261    Var('chromium_git') +
262        '/external/github.com/llvm/llvm-project/libcxxabi.git@' +
263        Var('libcxxabi_revision'),
264
265  'buildtools/third_party/libunwind/trunk':
266    Var('chromium_git') +
267        '/external/github.com/llvm/llvm-project/libunwind.git@' +
268        Var('libunwind_revision'),
269
270  'buildtools/win': {
271    'packages': [
272      {
273        'package': 'gn/gn/windows-amd64',
274        'version': Var('gn_version'),
275      }
276    ],
277    'dep_type': 'cipd',
278    'condition': 'host_os == "win"',
279  },
280
281  'testing/corpus': {
282    'url': Var('pdfium_git') + '/pdfium_tests@' + Var('pdfium_tests_revision'),
283    'condition': 'checkout_testing_corpus',
284  },
285
286  'third_party/abseil-cpp':
287    Var('chromium_git') + '/chromium/src/third_party/abseil-cpp.git@' +
288        Var('abseil_revision'),
289
290  'third_party/android_toolchain': {
291    'packages': [
292      {
293        'package': 'chromium/third_party/android_toolchain/android_toolchain',
294        'version': Var('android_toolchain_version'),
295      },
296    ],
297    'condition': 'checkout_android_native_support',
298    'dep_type': 'cipd',
299  },
300
301  'third_party/catapult': {
302    'url': Var('chromium_git') + '/catapult.git@' + Var('catapult_revision'),
303    'condition': 'checkout_android',
304  },
305
306  'third_party/cpu_features/src': {
307    'url': Var('chromium_git') +
308        '/external/github.com/google/cpu_features.git@' +
309        Var('cpu_features_revision'),
310    'condition': 'checkout_android',
311  },
312
313  'third_party/depot_tools':
314    Var('chromium_git') + '/chromium/tools/depot_tools.git@' +
315        Var('depot_tools_revision'),
316
317  'third_party/freetype/src':
318    Var('chromium_git') + '/chromium/src/third_party/freetype2.git@' +
319        Var('freetype_revision'),
320
321  'third_party/fuchsia-gn-sdk': {
322    'url': Var('chromium_git') +
323        '/chromium/src/third_party/fuchsia-gn-sdk.git@' +
324        Var('fuchsia_gn_sdk_revision'),
325    'condition': 'checkout_fuchsia',
326  },
327
328  'third_party/googletest/src':
329    Var('chromium_git') + '/external/github.com/google/googletest.git@' +
330        Var('gtest_revision'),
331
332  'third_party/icu':
333    Var('chromium_git') + '/chromium/deps/icu.git@' + Var('icu_revision'),
334
335  'third_party/instrumented_libraries':
336    Var('chromium_git') +
337        '/chromium/src/third_party/instrumented_libraries.git@' +
338        Var('instrumented_lib_revision'),
339
340  'third_party/jinja2':
341    Var('chromium_git') + '/chromium/src/third_party/jinja2.git@' +
342        Var('jinja2_revision'),
343
344  'third_party/libc++/src':
345    Var('chromium_git') +
346        '/external/github.com/llvm/llvm-project/libcxx.git@' +
347        Var('libcxx_revision'),
348
349  'third_party/libc++abi/src':
350    Var('chromium_git') +
351        '/external/github.com/llvm/llvm-project/libcxxabi.git@' +
352        Var('libcxxabi_revision'),
353
354  'third_party/libunwind/src':
355    Var('chromium_git') +
356        '/external/github.com/llvm/llvm-project/libunwind.git@' +
357        Var('libunwind_revision'),
358
359  'third_party/libjpeg_turbo':
360    Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git@' +
361        Var('jpeg_turbo_revision'),
362
363  'third_party/libpng':
364    Var('chromium_git') + '/chromium/src/third_party/libpng.git@' +
365        Var('libpng_revision'),
366
367  'third_party/markupsafe':
368    Var('chromium_git') + '/chromium/src/third_party/markupsafe.git@' +
369        Var('markupsafe_revision'),
370
371  'third_party/nasm':
372    Var('chromium_git') + '/chromium/deps/nasm.git@' +
373        Var('nasm_source_revision'),
374
375  'third_party/ninja': {
376    'packages': [
377      {
378        # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
379        'package': 'infra/3pp/tools/ninja/${{platform}}',
380        'version': Var('ninja_version'),
381      }
382    ],
383    'dep_type': 'cipd',
384  },
385
386  'third_party/skia': {
387    'url': Var('skia_git') + '/skia.git@' + Var('skia_revision'),
388    'condition': 'checkout_skia',
389  },
390
391  'third_party/test_fonts':
392    Var('chromium_git') + '/chromium/src/third_party/test_fonts.git@' +
393        Var('test_fonts_revision'),
394
395  'third_party/zlib':
396    Var('chromium_git') + '/chromium/src/third_party/zlib.git@' +
397        Var('zlib_revision'),
398
399  'tools/clang':
400    Var('chromium_git') + '/chromium/src/tools/clang@' + Var('clang_revision'),
401
402  'tools/code_coverage':
403    Var('chromium_git') + '/chromium/src/tools/code_coverage.git@' +
404        Var('code_coverage_revision'),
405
406  'tools/memory':
407    Var('chromium_git') + '/chromium/src/tools/memory@' +
408        Var('tools_memory_revision'),
409
410  'tools/resultdb': {
411    'packages': [
412      {
413        'package': 'infra/tools/result_adapter/${{platform}}',
414        'version': Var('resultdb_version'),
415      },
416    ],
417    'dep_type': 'cipd',
418  },
419
420  # TODO(crbug.com/pdfium/1650): Set up autorollers for goldctl.
421  'tools/skia_goldctl/linux': {
422    'packages': [
423      {
424        'package': 'skia/tools/goldctl/linux-amd64',
425        'version': 'eZ3k373CYgRxlu4JKph6e-_7xkP02swy_jePFFMiyIQC',
426      }
427    ],
428    'dep_type': 'cipd',
429    'condition': 'checkout_linux',
430  },
431
432  'tools/skia_goldctl/mac_amd64': {
433    'packages': [
434      {
435        'package': 'skia/tools/goldctl/mac-amd64',
436        'version': 'nHUjLIViYsLxRjv-zDdmzqT8p1R3VoyHq5gdGkKeMYwC',
437      }
438    ],
439    'dep_type': 'cipd',
440    'condition': 'checkout_mac',
441  },
442
443  'tools/skia_goldctl/mac_arm64': {
444    'packages': [
445      {
446        'package': 'skia/tools/goldctl/mac-arm64',
447        'version': '-mc865SGfJAqreLZM6fkn8tgCJ7u5QLk5zm7r-ZRJ9gC',
448      }
449    ],
450    'dep_type': 'cipd',
451    'condition': 'checkout_mac',
452  },
453
454  'tools/skia_goldctl/win': {
455    'packages': [
456      {
457        'package': 'skia/tools/goldctl/windows-amd64',
458        'version': 'iEqqRADI7znrc6pG-MVnc5pBZwD25koILREPC6x2AFAC',
459      }
460    ],
461    'dep_type': 'cipd',
462    'condition': 'checkout_win',
463  },
464
465  'v8': {
466    'url': Var('chromium_git') + '/v8/v8.git@' + Var('v8_revision'),
467    'condition': 'checkout_v8',
468  },
469
470}
471
472recursedeps = []
473
474include_rules = [
475  # Basic stuff that everyone can use.
476  # Note: public is not here because core cannot depend on public.
477  '+build/build_config.h',
478  '+constants',
479  '+testing',
480  '+third_party/base',
481
482  # Abseil features must be allowlisted explicitly for now. See Chromium's
483  # //styleguide/c++/c++11.html. Allowed features' headers will be listed
484  # explicitly here.
485  '-absl',
486  '-third_party/abseil-cpp',
487  '+third_party/abseil-cpp/absl/types/optional.h',
488  '+third_party/abseil-cpp/absl/types/variant.h',
489]
490
491specific_include_rules = {
492  # Allow embedder tests to use public APIs.
493  '(.*embeddertest\.cpp)': [
494    '+public',
495  ]
496}
497
498hooks = [
499  {
500    # Ensure that the DEPS'd "depot_tools" has its self-update capability
501    # disabled.
502    'name': 'disable_depot_tools_selfupdate',
503    'pattern': '.',
504    'action': [ 'python3',
505                'third_party/depot_tools/update_depot_tools_toggle.py',
506                '--disable',
507    ],
508  },
509  {
510    # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
511    'name': 'ciopfs_linux',
512    'pattern': '.',
513    'condition': 'checkout_win and host_os == "linux"',
514    'action': [ 'python3',
515                'third_party/depot_tools/download_from_google_storage.py',
516                '--no_resume',
517                '--no_auth',
518                '--bucket', 'chromium-browser-clang/ciopfs',
519                '-s', 'build/ciopfs.sha1',
520    ]
521  },
522  {
523    # Update the Windows toolchain if necessary.  Must run before 'clang' below.
524    'name': 'win_toolchain',
525    'pattern': '.',
526    'condition': 'checkout_win',
527    'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
528  },
529  {
530    # Update the Mac toolchain if necessary.
531    'name': 'mac_toolchain',
532    'pattern': '.',
533    'condition': 'checkout_mac',
534    'action': ['python3', 'build/mac_toolchain.py'],
535  },
536  # Pull dsymutil binaries using checked-in hashes.
537  {
538    'name': 'dsymutil_mac_arm64',
539    'pattern': '.',
540    'condition': 'host_os == "mac" and host_cpu == "arm64"',
541    'action': [ 'python3',
542                'third_party/depot_tools/download_from_google_storage.py',
543                '--no_resume',
544                '--no_auth',
545                '--bucket', 'chromium-browser-clang',
546                '-s', 'tools/clang/dsymutil/bin/dsymutil.arm64.sha1',
547                '-o', 'tools/clang/dsymutil/bin/dsymutil',
548    ],
549  },
550  {
551    'name': 'dsymutil_mac_x64',
552    'pattern': '.',
553    'condition': 'host_os == "mac" and host_cpu == "x64"',
554    'action': [ 'python3',
555                'third_party/depot_tools/download_from_google_storage.py',
556                '--no_resume',
557                '--no_auth',
558                '--bucket', 'chromium-browser-clang',
559                '-s', 'tools/clang/dsymutil/bin/dsymutil.x64.sha1',
560                '-o', 'tools/clang/dsymutil/bin/dsymutil',
561    ],
562  },
563  # Pull clang-format binaries using checked-in hashes.
564  {
565    'name': 'clang_format_win',
566    'pattern': '.',
567    'condition': 'host_os == "win"',
568    'action': [ 'python3',
569                'third_party/depot_tools/download_from_google_storage.py',
570                '--no_resume',
571                '--no_auth',
572                '--bucket', 'chromium-clang-format',
573                '-s', 'buildtools/win/clang-format.exe.sha1',
574    ],
575  },
576  {
577    'name': 'clang_format_mac_x64',
578    'pattern': '.',
579    'condition': 'host_os == "mac" and host_cpu == "x64"',
580    'action': [ 'python3',
581                'third_party/depot_tools/download_from_google_storage.py',
582                '--no_resume',
583                '--no_auth',
584                '--bucket', 'chromium-clang-format',
585                '-s', 'buildtools/mac/clang-format.x64.sha1',
586                '-o', 'buildtools/mac/clang-format',
587    ],
588  },
589  {
590    'name': 'clang_format_mac_arm64',
591    'pattern': '.',
592    'condition': 'host_os == "mac" and host_cpu == "arm64"',
593    'action': [ 'python3',
594                'third_party/depot_tools/download_from_google_storage.py',
595                '--no_resume',
596                '--no_auth',
597                '--bucket', 'chromium-clang-format',
598                '-s', 'buildtools/mac/clang-format.arm64.sha1',
599                '-o', 'buildtools/mac/clang-format',
600    ],
601  },
602  {
603    'name': 'clang_format_linux',
604    'pattern': '.',
605    'condition': 'host_os == "linux"',
606    'action': [ 'python3',
607                'third_party/depot_tools/download_from_google_storage.py',
608                '--no_resume',
609                '--no_auth',
610                '--bucket', 'chromium-clang-format',
611                '-s', 'buildtools/linux64/clang-format.sha1',
612    ],
613  },
614  {
615    # Note: On Win, this should run after win_toolchain, as it may use it.
616    'name': 'clang',
617    'pattern': '.',
618    'action': ['python3',
619               'tools/clang/scripts/update.py'
620    ],
621  },
622  {
623    'name': 'sysroot_arm',
624    'pattern': '.',
625    'condition': 'checkout_linux and checkout_arm',
626    'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
627               '--arch=arm'],
628  },
629  {
630    'name': 'sysroot_arm64',
631    'pattern': '.',
632    'condition': 'checkout_linux and checkout_arm64',
633    'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
634               '--arch=arm64'],
635  },
636  {
637    'name': 'sysroot_x86',
638    'pattern': '.',
639    'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
640    'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
641               '--arch=x86'],
642  },
643  {
644    'name': 'sysroot_mips',
645    'pattern': '.',
646    'condition': 'checkout_linux and checkout_mips',
647    'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
648               '--arch=mips'],
649  },
650  {
651    'name': 'sysroot_x64',
652    'pattern': '.',
653    'condition': 'checkout_linux and checkout_x64',
654    'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
655               '--arch=x64'],
656  },
657  {
658    'name': 'test_fonts',
659    'pattern': '.',
660    'action': [ 'python3',
661                'third_party/depot_tools/download_from_google_storage.py',
662                '--no_resume',
663                '--extract',
664                '--no_auth',
665                '--bucket', 'chromium-fonts',
666                '-s', 'third_party/test_fonts/test_fonts.tar.gz.sha1',
667    ],
668  },
669  {
670    'name': 'msan_chained_origins_focal',
671    'pattern': '.',
672    'condition': 'checkout_instrumented_libraries',
673    'action': [ 'python3',
674                'third_party/depot_tools/download_from_google_storage.py',
675                '--no_resume',
676                '--no_auth',
677                '--bucket', 'chromium-instrumented-libraries',
678                '-s', 'third_party/instrumented_libraries/binaries/msan-chained-origins-focal.tgz.sha1',
679              ],
680  },
681  {
682    'name': 'msan_no_origins_focal',
683    'pattern': '.',
684    'condition': 'checkout_instrumented_libraries',
685    'action': [ 'python3',
686                'third_party/depot_tools/download_from_google_storage.py',
687                '--no_resume',
688                '--no_auth',
689                '--bucket', 'chromium-instrumented-libraries',
690                '-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-focal.tgz.sha1',
691              ],
692  },
693  {
694    # Update LASTCHANGE.
695    'name': 'lastchange',
696    'pattern': '.',
697    'action': ['python3', 'build/util/lastchange.py',
698               '-o', 'build/util/LASTCHANGE'],
699  },
700  {
701    'name': 'Download Fuchsia SDK from GCS',
702    'pattern': '.',
703    'condition': 'checkout_fuchsia',
704    'action': [
705      'python3',
706      'build/fuchsia/update_sdk.py',
707      '--cipd-prefix={fuchsia_sdk_cipd_prefix}',
708      '--version={fuchsia_version}',
709    ],
710  },
711  # Download remote exec cfg files
712  {
713    'name': 'fetch_reclient_cfgs',
714    'pattern': '.',
715    'condition': 'download_remoteexec_cfg',
716    'action': ['python3',
717               'buildtools/reclient_cfgs/fetch_reclient_cfgs.py',
718               '--rbe_instance',
719               Var('rbe_instance'),
720               '--reproxy_cfg_template',
721               'reproxy.cfg.template',
722               '--rewrapper_cfg_project',
723               Var('rewrapper_cfg_project'),
724               '--quiet',
725               '--hook',
726               ],
727  },
728]
729