| # Note: The buildbots evaluate this file with CWD set to the parent | 
 | # directory and assume that the root of the checkout is in ./v8/, so | 
 | # all paths in here must match this assumption. | 
 |  | 
 | use_relative_paths = True | 
 |  | 
 | gclient_gn_args_file = 'build/config/gclient_args.gni' | 
 | gclient_gn_args = [ | 
 | ] | 
 |  | 
 | vars = { | 
 |   # Fetches only the SDK boot images which match at least one of the whitelist | 
 |   # entries in a comma-separated list. | 
 |   # | 
 |   # Available images: | 
 |   #   Emulation: | 
 |   #   - qemu.x64 (pulls terminal.qemu-x64-release) | 
 |   #   - qemu.arm64 (pulls terminal.qemu-arm64-release) | 
 |   #   - workstation.qemu-x64-release | 
 |   #   Hardware: | 
 |   #   - generic.x64 (pulls terminal.x64-debug) | 
 |   #   - generic.arm64 (pulls terminal.arm64-debug) | 
 |   #   - chromebook.x64 (pulls terminal.chromebook-x64-debug) | 
 |   # | 
 |   # Since the images are hundreds of MB, default to only downloading the image | 
 |   # most commonly useful for developers. Bots and developers that need to use | 
 |   # other images (e.g., qemu.arm64) can override this with additional images. | 
 |   'checkout_fuchsia_boot_images': "qemu.x64", | 
 |   'checkout_fuchsia_product_bundles': '"{checkout_fuchsia_boot_images}" != ""', | 
 |  | 
 |   'checkout_instrumented_libraries': False, | 
 |   'checkout_ittapi': False, | 
 |  | 
 |   # Fetch the prebuilt binaries for llvm-cov and llvm-profdata. Needed to | 
 |   # process the raw profiles produced by instrumented targets (built with | 
 |   # the gn arg 'use_clang_coverage'). | 
 |   'checkout_clang_coverage_tools': False, | 
 |  | 
 |   # Fetch clang-tidy into the same bin/ directory as our clang binary. | 
 |   'checkout_clang_tidy': False, | 
 |  | 
 |   # Fetch and build V8 builtins with PGO profiles | 
 |   'checkout_v8_builtins_pgo_profiles': False, | 
 |  | 
 |   'chromium_url': 'https://chromium.googlesource.com', | 
 |   'android_url': 'https://android.googlesource.com', | 
 |   'download_gcmole': False, | 
 |   'download_jsfunfuzz': False, | 
 |   'download_prebuilt_bazel': False, | 
 |   'check_v8_header_includes': False, | 
 |  | 
 |   # By default, download the fuchsia sdk from the public sdk directory. | 
 |   'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/gn/', | 
 |  | 
 |   # reclient CIPD package version | 
 |   'reclient_version': 're_client_version:0.96.2.d36a87c-gomaip', | 
 |  | 
 |   # GN CIPD package version. | 
 |   'gn_version': 'git_revision:77014c1590164715fff8f3f3d3c77e9ff01b4d70', | 
 |  | 
 |   # ninja CIPD package version | 
 |   # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja | 
 |   'ninja_version': 'version:2@1.11.1.chromium.6', | 
 |  | 
 |   # luci-go CIPD package version. | 
 |   'luci_go': 'git_revision:320bf3ed60cd4d24549d0ea9ee3a94394f2665ce', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling Fuchsia sdk | 
 |   # and whatever else without interference from each other. | 
 |   'fuchsia_version': 'version:12.20230316.3.1', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_build-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_build-tools_version': '-VRKr36Uw8L_iFqqo9nevIBgNMggND5iWxjidyjnCgsC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_emulator_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_emulator_version': '9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_extras_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_extras_version': 'bY55nDqO6FAm6FkGIj09sh2KW9oqAkCGKjYok5nUvBMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_patcher_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_patcher_version': 'I6FNMhrXlpB-E1lOhMlvld7xt9lBVNOO83KIluXDyA0C', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platform-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platform-tools_version': 'RSI3iwryh7URLGRgJHsCvUxj092woTPnKt4pwFcJ6L8C', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platforms_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platforms_version': 'eo5KvW6UVor92LwZai8Zulc624BQZoCu-yn7wa1z_YcC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_sources_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_sources_version': 'qfTSF99e29-w3eIVPpfcif0Em5etyvxuicTDTntWHQMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_tools-lint_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_cmdline-tools_version': '3Yn5Sn7BMObm8gsoZCF0loJMKg9_PpgU07G9DObCLdQC', | 
 | } | 
 |  | 
 | deps = { | 
 |   'base/trace_event/common': | 
 |     Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '147f65333c38ddd1ebf554e89965c243c8ce50b3', | 
 |   'build': | 
 |     Var('chromium_url') + '/chromium/src/build.git' + '@' + '38c0f80f0679af484d297d831a38050cff602483', | 
 |   'buildtools': | 
 |     Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + 'ac6f095ab3b7aba37198c736f7d7c929f9acdab0', | 
 |   'buildtools/clang_format/script': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + '@' + 'f97059df7f8b205064625cdb5f97b56668a125ef', | 
 |   'buildtools/linux64': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/linux-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "linux" and host_cpu != "s390" and host_cpu != "ppc"', | 
 |   }, | 
 |   'buildtools/mac': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/mac-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "mac"', | 
 |   }, | 
 |   'buildtools/third_party/libc++/trunk': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + 'afb9e77fdffa8378151879469d7fa778c3dcac7d', | 
 |   'buildtools/third_party/libc++abi/trunk': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + 'de45956e5c401cf66b5b5c6e372e1eab7e757ee2', | 
 |   'buildtools/third_party/libunwind/trunk': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + '2b438f460b547d91578b78714b68476e0b7778eb', | 
 |   'buildtools/win': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/windows-amd64', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "win"', | 
 |   }, | 
 |   'buildtools/reclient': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/rbe/client/${{platform}}', | 
 |         'version': Var('reclient_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': '(host_os == "linux" or host_os == "mac" or host_os == "win") and host_cpu != "s390" and host_cpu != "ppc" and host_cpu != "arm64"', | 
 |   }, | 
 |   'test/benchmarks/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f', | 
 |   'test/mozilla/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', | 
 |   'test/test262/data': | 
 |     Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'd216cc197269fc41eb6eca14710529c3d6650535', | 
 |   'third_party/android_ndk': { | 
 |     'url': Var('chromium_url') + '/android_ndk.git' + '@' + '8388a2be5421311dc75c5f937aae13d821a27f3d', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/android_platform': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + '1bf9b932433ebb78828bf3c8cd0ccc86b9ef4787', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/android_sdk/public': { | 
 |       'packages': [ | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/build-tools/33.0.0', | 
 |               'version': Var('android_sdk_build-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/emulator', | 
 |               'version': Var('android_sdk_emulator_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/extras', | 
 |               'version': Var('android_sdk_extras_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/patcher', | 
 |               'version': Var('android_sdk_patcher_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platform-tools', | 
 |               'version': Var('android_sdk_platform-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platforms/android-33', | 
 |               'version': Var('android_sdk_platforms_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/sources/android-30', | 
 |               'version': Var('android_sdk_sources_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/cmdline-tools', | 
 |               'version': Var('android_sdk_cmdline-tools_version'), | 
 |           }, | 
 |       ], | 
 |       'condition': 'checkout_android', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/catapult': { | 
 |     'url': Var('chromium_url') + '/catapult.git' + '@' + '4ca6b4649b46902814bf6cebc5c56912a63ea301', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/colorama/src': { | 
 |     'url': Var('chromium_url') + '/external/colorama.git' + '@' + '3de9f013df4b470069d03d250224062e8cf15c49', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/depot_tools': | 
 |     Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '3f3e2f789e27d41d3c20a555fd60a39ebd631e15', | 
 |   'third_party/fuchsia-sdk/sdk': { | 
 |     'packages': [ | 
 |         { | 
 |             'package': Var('fuchsia_sdk_cipd_prefix') + '${{platform}}', | 
 |             'version': Var('fuchsia_version'), | 
 |         }, | 
 |     ], | 
 |     'condition': 'checkout_fuchsia', | 
 |     'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/google_benchmark/src': { | 
 |     'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + 'e8baf2622591569a27615b31372d1e9cc046af10', | 
 |   }, | 
 |   'third_party/googletest/src': | 
 |     Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'af29db7ec28d6df1c7f0f745186884091e602e07', | 
 |   'third_party/icu': | 
 |     Var('chromium_url') + '/chromium/deps/icu.git' + '@' + '1e49ac26ddc712b1ab702f69023cbc57e9ae6628', | 
 |   'third_party/instrumented_libraries': | 
 |     Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + '0f536d22dbed454b1254c7e6d7130eab28fba1fa', | 
 |   'third_party/ittapi': { | 
 |     # Force checkout ittapi libraries to pass v8 header includes check on | 
 |     # bots that has check_v8_header_includes enabled. | 
 |     'url': Var('chromium_url') + '/external/github.com/intel/ittapi' + '@' + 'a3911fff01a775023a06af8754f9ec1e5977dd97', | 
 |     'condition': "checkout_ittapi or check_v8_header_includes", | 
 |   }, | 
 |   'third_party/jinja2': | 
 |     Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + '264c07d7e64f2874434a3b8039e101ddf1b01e7e', | 
 |   'third_party/jsoncpp/source': | 
 |     Var('chromium_url') + '/external/github.com/open-source-parsers/jsoncpp.git'+ '@' + '42e892d96e47b1f6e29844cc705e148ec4856448', | 
 |   'third_party/logdog/logdog': | 
 |     Var('chromium_url') + '/infra/luci/luci-py/client/libs/logdog' + '@' + '0b2078a90f7a638d576b3a7c407d136f2fb62399', | 
 |   'third_party/markupsafe': | 
 |     Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '13f4e8c9e206567eeb13bf585406ddc574005748', | 
 |   'third_party/ninja': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/3pp/tools/ninja/${{platform}}', | 
 |         'version': Var('ninja_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_cpu != "s390" and host_cpu != "ppc"' | 
 |   }, | 
 |   'third_party/perfetto': | 
 |     Var('android_url') + '/platform/external/perfetto.git' + '@' + '0d180f46481a96cbe8340734fa5cdce3bba636c8', | 
 |   'third_party/protobuf': | 
 |     Var('chromium_url') + '/external/github.com/google/protobuf'+ '@' + '6a59a2ad1f61d9696092f79b6d74368b4d7970a3', | 
 |   'third_party/requests': { | 
 |       'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + 'refs/tags/v2.23.0', | 
 |       'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/zlib': | 
 |     Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + '5edb52d4302d7aef232d585ec9ae27ef5c3c5438', | 
 |   'tools/clang': | 
 |     Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + '998617f817d50216e4e31c6d90692555573f717d', | 
 |   'tools/luci-go': { | 
 |       'packages': [ | 
 |         { | 
 |           'package': 'infra/tools/luci/isolate/${{platform}}', | 
 |           'version': Var('luci_go'), | 
 |         }, | 
 |         { | 
 |           'package': 'infra/tools/luci/swarming/${{platform}}', | 
 |           'version': Var('luci_go'), | 
 |         }, | 
 |       ], | 
 |       'condition': 'host_cpu != "s390" and host_os != "aix"', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 | } | 
 |  | 
 | include_rules = [ | 
 |   # Everybody can use some things. | 
 |   '+include', | 
 |   '+unicode', | 
 |   '+third_party/fdlibm', | 
 |   '+third_party/ittapi/include', | 
 |   # Abseil features are allow-listed. Please use your best judgement when adding | 
 |   # to this set -- if in doubt, email v8-dev@. For general guidance, refer to | 
 |   # the Chromium guidelines (though note that some requirements in V8 may be | 
 |   # different to Chromium's): | 
 |   # https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md | 
 |   '+absl/types/optional.h', | 
 |   '+absl/types/variant.h', | 
 |   '+absl/status', | 
 |   # Some abseil features are explicitly banned. | 
 |   '-absl/types/any.h', # Requires RTTI. | 
 |   '-absl/types/flags', # Requires RTTI. | 
 | ] | 
 |  | 
 | # checkdeps.py shouldn't check for includes in these directories: | 
 | skip_child_includes = [ | 
 |   'build', | 
 |   'third_party', | 
 | ] | 
 |  | 
 | hooks = [ | 
 |   { | 
 |     # Ensure that the DEPS'd "depot_tools" has its self-update capability | 
 |     # disabled. | 
 |     'name': 'disable_depot_tools_selfupdate', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'third_party/depot_tools/update_depot_tools_toggle.py', | 
 |         '--disable', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # This clobbers when necessary (based on get_landmines.py). It must be the | 
 |     # first hook so that other things that get/generate into the output | 
 |     # directory will not subsequently be clobbered. | 
 |     'name': 'landmines', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'build/landmines.py', | 
 |         '--landmine-scripts', | 
 |         'tools/get_landmines.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'bazel', | 
 |     'pattern': '.', | 
 |     'condition': 'download_prebuilt_bazel', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chromium-v8-prebuilt-bazel/linux', | 
 |                 '--no_resume', | 
 |                 '-s', 'tools/bazel/bazel.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   # Pull dsymutil binaries using checked-in hashes. | 
 |   { | 
 |     'name': 'dsymutil_mac_arm64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.arm64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'dsymutil_mac_x64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.x64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   # Pull clang-format binaries using checked-in hashes. | 
 |   { | 
 |     'name': 'clang_format_win', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "win"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-clang-format', | 
 |                 '-s', 'buildtools/win/clang-format.exe.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'clang_format_mac_x64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-clang-format', | 
 |                 '-s', 'buildtools/mac/clang-format.x64.sha1', | 
 |                 '-o', 'buildtools/mac/clang-format', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'clang_format_mac_arm64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-clang-format', | 
 |                 '-s', 'buildtools/mac/clang-format.arm64.sha1', | 
 |                 '-o', 'buildtools/mac/clang-format', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'clang_format_linux', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "linux"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-clang-format', | 
 |                 '-s', 'buildtools/linux64/clang-format.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'gcmole', | 
 |     'pattern': '.', | 
 |     'condition': 'download_gcmole', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-gcmole', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/gcmole/gcmole-tools.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'jsfunfuzz', | 
 |     'pattern': '.', | 
 |     'condition': 'download_jsfunfuzz', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-jsfunfuzz', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_spec_tests', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-spec-tests/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_js', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-js/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'sysroot_arm', | 
 |     'pattern': '.', | 
 |     'condition': '(checkout_linux and checkout_arm)', | 
 |     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', | 
 |                '--arch=arm'], | 
 |   }, | 
 |   { | 
 |     'name': 'sysroot_arm64', | 
 |     'pattern': '.', | 
 |     'condition': '(checkout_linux and checkout_arm64)', | 
 |     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', | 
 |                '--arch=arm64'], | 
 |   }, | 
 |   { | 
 |     'name': 'sysroot_x86', | 
 |     'pattern': '.', | 
 |     'condition': '(checkout_linux and (checkout_x86 or checkout_x64))', | 
 |     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', | 
 |                '--arch=x86'], | 
 |   }, | 
 |   { | 
 |     'name': 'sysroot_x64', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_linux and checkout_x64', | 
 |     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', | 
 |                '--arch=x64'], | 
 |   }, | 
 |   { | 
 |     'name': 'msan_chained_origins_focal', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_instrumented_libraries', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-instrumented-libraries', | 
 |                 '-s', 'third_party/instrumented_libraries/binaries/msan-chained-origins-focal.tgz.sha1', | 
 |               ], | 
 |   }, | 
 |   { | 
 |     'name': 'msan_no_origins_focal', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_instrumented_libraries', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-instrumented-libraries', | 
 |                 '-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-focal.tgz.sha1', | 
 |               ], | 
 |   }, | 
 |   { | 
 |     # Case-insensitivity for the Win SDK. Must run before win_toolchain below. | 
 |     'name': 'ciopfs_linux', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win and host_os == "linux"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang/ciopfs', | 
 |                 '-s', 'build/ciopfs.sha1', | 
 |     ] | 
 |   }, | 
 |   { | 
 |     # Update the Windows toolchain if necessary. | 
 |     'name': 'win_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win', | 
 |     'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'], | 
 |   }, | 
 |   { | 
 |     # Update the Mac toolchain if necessary. | 
 |     'name': 'mac_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_mac', | 
 |     'action': ['python3', 'build/mac_toolchain.py'], | 
 |   }, | 
 |   { | 
 |     # Note: On Win, this should run after win_toolchain, as it may use it. | 
 |     'name': 'clang', | 
 |     'pattern': '.', | 
 |     # clang not supported on aix | 
 |     'condition': 'host_os != "aix"', | 
 |     'action': ['python3', 'tools/clang/scripts/update.py'], | 
 |   }, | 
 |   { | 
 |     # This is supposed to support the same set of platforms as 'clang' above. | 
 |     'name': 'clang_coverage', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_clang_coverage_tools', | 
 |     'action': ['python3', 'tools/clang/scripts/update.py', | 
 |                '--package=coverage_tools'], | 
 |   }, | 
 |   { | 
 |     'name': 'clang_tidy', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_clang_tidy', | 
 |     'action': ['python3', 'tools/clang/scripts/update.py', | 
 |                '--package=clang-tidy'], | 
 |   }, | 
 |   { | 
 |     # Update LASTCHANGE. | 
 |     'name': 'lastchange', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'build/util/lastchange.py', | 
 |                '-o', 'build/util/LASTCHANGE'], | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia system images', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_fuchsia and checkout_fuchsia_product_bundles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'build/fuchsia/update_product_bundles.py', | 
 |       '{checkout_fuchsia_boot_images}', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Mac does not have llvm-objdump, download it for cross builds in Fuchsia. | 
 |     'name': 'llvm-objdump', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and checkout_fuchsia', | 
 |     'action': ['python3', 'tools/clang/scripts/update.py', | 
 |                '--package=objdump'], | 
 |   }, | 
 |   { | 
 |     'name': 'vpython3_common', | 
 |     'pattern': '.', | 
 |     'action': [ 'vpython3', | 
 |                 '-vpython-spec', '.vpython3', | 
 |                 '-vpython-tool', 'install', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'check_v8_header_includes', | 
 |     'pattern': '.', | 
 |     'condition': 'check_v8_header_includes', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/generate-header-include-checks.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'checkout_v8_builtins_pgo_profiles', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_v8_builtins_pgo_profiles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/builtins-pgo/download_profiles.py', | 
 |       'download', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Clean up build dirs for crbug.com/1337238. | 
 |     # After a libc++ roll and revert, .ninja_deps would get into a state | 
 |     # that breaks Ninja on Windows. | 
 |     # TODO(crbug.com/1337238): Remove in a month or so. | 
 |     'name': 'del_ninja_deps_cache', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "win"', | 
 |     'action': ['python3', 'build/del_ninja_deps_cache.py'], | 
 |   }, | 
 | ] |