| # Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
 | # for details. All rights reserved. Use of this source code is governed by a | 
 | # BSD-style license that can be found in the LICENSE file. | 
 |  | 
 | # IMPORTANT: | 
 | # Before adding or updating dependencies, please review the documentation here: | 
 | # https://github.com/dart-lang/sdk/tree/main/docs/Adding-and-Updating-Dependencies.md | 
 | # | 
 | # Packages can be rolled to the latest version with `tools/manage_deps.dart`. | 
 | # | 
 | # For example: | 
 | # | 
 | #     dart tools/manage_deps.dart bump third_party/pkg/dart_style | 
 |  | 
 | allowed_hosts = [ | 
 |   'android.googlesource.com', | 
 |   'boringssl.googlesource.com', | 
 |   'chrome-infra-packages.appspot.com', | 
 |   'chromium.googlesource.com', | 
 |   'dart.googlesource.com', | 
 |   'dart-internal.googlesource.com', | 
 |   'fuchsia.googlesource.com', | 
 |   'llvm.googlesource.com', | 
 | ] | 
 |  | 
 | vars = { | 
 |   # The dart_root is the root of our sdk checkout. This is normally | 
 |   # simply sdk, but if using special gclient specs it can be different. | 
 |   "dart_root": "sdk", | 
 |  | 
 |   # We use mirrors of all github repos to guarantee reproducibility and | 
 |   # consistency between what users see and what the bots see. | 
 |   # We need the mirrors to not have 100+ bots pulling github constantly. | 
 |   # We mirror our github repos on Dart's git servers. | 
 |   # DO NOT use this var if you don't see a mirror here: | 
 |   #   https://dart.googlesource.com/ | 
 |   "dart_git": "https://dart.googlesource.com/", | 
 |   "dart_internal_git": "https://dart-internal.googlesource.com", | 
 |   # If the repo you want to use is at github.com/dart-lang, but not at | 
 |   # dart.googlesource.com, please file an issue | 
 |   # on github and add the label 'area-infrastructure'. | 
 |   # When the repo is mirrored, you can add it to this DEPS file. | 
 |  | 
 |   # Chromium git | 
 |   "android_git": "https://android.googlesource.com", | 
 |   "chromium_git": "https://chromium.googlesource.com", | 
 |   "fuchsia_git": "https://fuchsia.googlesource.com", | 
 |   "llvm_git": "https://llvm.googlesource.com", | 
 |  | 
 |   # Checked-in SDK version. The checked-in SDK is a Dart SDK distribution | 
 |   # in a cipd package used to run Dart scripts in the build and test | 
 |   # infrastructure, which is automatically built on the release commits. | 
 |   "sdk_tag": "git_revision:4bb26ad346b166d759773e01ffc8247893b9681e", | 
 |  | 
 |   # co19 is a cipd package automatically generated for each co19 commit. | 
 |   # Use tests/co19/update.sh to update this hash. | 
 |   "co19_rev": "0486b097e09b1761d3d28317671e21496dd401c0", | 
 |  | 
 |   # The internal benchmarks to use. See go/dart-benchmarks-internal | 
 |   "benchmarks_internal_rev": "1fa5d33a45f7d4dd0093124706cdfa45d9270851", | 
 |   "checkout_benchmarks_internal": False, | 
 |  | 
 |   # Checkout the flute benchmark only when benchmarking. | 
 |   "checkout_flute": False, | 
 |  | 
 |   # Checkout Android dependencies only on Mac and Linux. | 
 |   "download_android_deps": | 
 |     "host_os == mac or (host_os == linux and host_cpu == x64)", | 
 |  | 
 |   # Checkout extra javascript engines for testing or benchmarking. You can | 
 |   # self-service update these by following the go/dart-engprod/browsers.md | 
 |   # instructions. d8, the V8 shell, is always checked out. | 
 |   "checkout_javascript_engines": False, | 
 |   "d8_tag": "version:13.8.26", | 
 |   "jsshell_tag": "version:138.0", | 
 |   "jsc_tag": "version:294346", | 
 |  | 
 |   # https://chrome-infra-packages.appspot.com/p/fuchsia/third_party/clang | 
 |   "clang_version": "git_revision:8c7a2ce01a77c96028fe2c8566f65c45ad9408d3", | 
 |  | 
 |   # https://chrome-infra-packages.appspot.com/p/gn/gn | 
 |   "gn_version": "git_revision:487f8353f15456474437df32bb186187b0940b45", | 
 |  | 
 |   "reclient_version": "git_revision:c7349324c93c6e0d85bc1e00b5d7526771006ea0", | 
 |   "download_reclient": True, | 
 |  | 
 |   # Update from https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core | 
 |   "fuchsia_sdk_version": "version:28.20250512.4.1", | 
 |   "download_fuchsia_deps": False, | 
 |  | 
 |   # Ninja, runs the build based on files generated by GN. | 
 |   "ninja_tag": "version:2@1.11.1.chromium.7", | 
 |  | 
 |   # Scripts that make 'git cl format' work. | 
 |   "clang_format_scripts_rev": "bb994c6f067340c1135eb43eed84f4b33cfa7397", | 
 |  | 
 |   ### /third_party/ dependencies | 
 |  | 
 |   # Prefer to use hashes of binaryen that have been reviewed & rolled into g3. | 
 |   "binaryen_rev" : "b4bdcc33115b31758c56b83bb9de4642c411a042", | 
 |   "boringssl_rev": "136284f8548bc7fb43e99e7f69e03fab57168e8b", | 
 |   "browser-compat-data_tag": "ac8cae697014da1ff7124fba33b0b4245cc6cd1b", # v1.0.22 | 
 |   "cpu_features_rev": "936b9ab5515dead115606559502e3864958f7f6e", | 
 |   "devtools_rev": "21132242f6e12b26e3d9c0f06109361f7e519608", | 
 |   "icu_rev": "43953f57b037778a1b8005564afabe214834f7bd", | 
 |   "jinja2_rev": "2222b31554f03e62600cd7e383376a7c187967a1", | 
 |   "libcxx_rev": "bd557f6f764d1e40b62528a13b124ce740624f8f", | 
 |   "libcxxabi_rev": "a4dda1589d37a7e4b4f7a81ebad01b1083f2e726", | 
 |   "libc_rev": "5af39a19a1ad51ce93972cdab206dcd3ff9b6afa", | 
 |   "libprotobuf_rev": "24487dd1045c7f3d64a21f38a3f0c06cc4cf2edb", | 
 |   "markupsafe_rev": "8f45f5cfa0009d2a70589bcda0349b8cb2b72783", | 
 |   "perfetto_rev": "13ce0c9e13b0940d2476cd0cff2301708a9a2e2b", | 
 |   "ply_rev": "604b32590ffad5cbb82e4afef1d305512d06ae93", | 
 |   "protobuf_gn_rev": "ca669f79945418f6229e4fef89b666b2a88cbb10", | 
 |   "WebCore_rev": "bcb10901266c884e7b3740abc597ab95373ab55c", | 
 |   "zlib_rev": "108fa50cda23ed4a712a098d058dccbbfd248206", | 
 |  | 
 |   # Note: Updates to dart_style have to be coordinated with the infrastructure | 
 |   # team so that the internal formatter `tools/sdks/dart-sdk/bin/dart format` | 
 |   # matches the version here. Please follow this process to make updates: | 
 |   # | 
 |   # * Create a commit that updates the version here to the desired version and | 
 |   #   adds any appropriate CHANGELOG text. | 
 |   # * Send that to eng-prod to review. They will update the checked-in SDK | 
 |   #   and land the review. | 
 |   # | 
 |   # For more details, see https://github.com/dart-lang/sdk/issues/30164. | 
 |   "dart_style_rev": "100db45075abdd66fd8788b205243e90ff0595df", # rolled manually | 
 |  | 
 |   ### /third_party/pkg dependencies | 
 |   # 'tools/rev_sdk_deps.dart' will rev pkg dependencies to their latest; put an | 
 |   # EOL comment after a dependency to instead pin at the current revision. | 
 |   "core_rev": "635dfa32c261ba078438b74de397f2207904ca78", # https://github.com/dart-lang/core/pull/734 | 
 |   "dartdoc_rev": "e38f392163a4738a21024acd370d104e0efe72f0", | 
 |   "ecosystem_rev": "815d4ba2e7d11f8695a26f6cbe1262e3b8ff8d0d", | 
 |   "flute_rev": "e4ea0459a7debae5e9592c85141707b01fac86c9", | 
 |   "http_rev": "e70a41b8b841ada9ba124b3b9e1a4d3c525b8bf9", | 
 |   "i18n_rev": "e44af5483a051d546716b6aa3a57e478c59a5d8d", | 
 |   "leak_tracker_rev": "f5620600a5ce1c44f65ddaa02001e200b096e14c", # rolled manually | 
 |   "material_color_utilities_rev": "799b6ba2f3f1c28c67cc7e0b4f18e0c7d7f3c03e", | 
 |   "native_rev": "6d51ecf34385e5872c43f1856d3fad6349200811", # rolled manually while native assets are experimental | 
 |   "protobuf_rev": "b7753f6fc29402679e05e9a510074002f0826d48", | 
 |   "pub_rev": "b2c03b448a47fdd52800609b9222cd737be3a934", # rolled manually | 
 |   "shelf_rev": "082d3ac2d13a98700d8148e8fad8f3e12a6fd0e1", | 
 |   "sync_http_rev": "dc54465f07d9652875deeade643256dafa2fbc6c", | 
 |   "tar_rev": "5a1ea943e70cdf3fa5e1102cdbb9418bd9b4b81a", | 
 |   "test_rev": "b9c59ea01ab0c055d120fd6542af663704c16938", | 
 |   "tools_rev": "36f5c9f9989e06e79323499914c50e78ab1a6621", | 
 |   "vector_math_rev": "13f185f7e97d559e003f5ac79201da12f9a01049", | 
 |   "web_rev": "f1becf07db9faa56559d2844c3c6d430dc9b37de", | 
 |   "webdev_rev": "5dbb30ebc695ad2ecc01fa8eae4e0494c199e1bc", | 
 |   "webdriver_rev": "f52afbf72895ae980bd4129d877305c2182d6cbc", | 
 |   "webkit_inspection_protocol_rev": "effa75205516757795683d527c3dea9546eb0c32", | 
 |  | 
 |   # Windows deps | 
 |   "crashpad_rev": "d256de317164c0eb362bdd9cbb4d259fe6d086f3", | 
 |   "minichromium_rev": "203a01130fac64bfdcc8cab2e1798c7b2c0619bf", | 
 |   "googletest_rev": "f854f1d27488996dc8a6db3c9453f80b02585e12", | 
 |  | 
 |   # Pinned browser versions used by the testing infrastructure. These are not | 
 |   # meant to be downloaded by users for local testing. You can self-service | 
 |   # update these by following the go/dart-engprod/browsers.md instructions. | 
 |   "download_chrome": False, | 
 |   "chrome_tag": "137.0.7151.15", | 
 |   "download_firefox": False, | 
 |   "firefox_tag": "138.0", | 
 |  | 
 |   # Emscripten is used in dart2wasm tests. | 
 |   "download_emscripten": False, | 
 |   "emsdk_rev": "e41b8c68a248da5f18ebd03bd0420953945d52ff", | 
 |   "emsdk_ver": "3.1.3", | 
 | } | 
 |  | 
 | gclient_gn_args_file = Var("dart_root") + '/build/config/gclient_args.gni' | 
 | gclient_gn_args = [ | 
 | ] | 
 |  | 
 | deps = { | 
 |   # Stuff needed for GN build. | 
 |   Var("dart_root") + "/buildtools/clang_format/script": | 
 |     Var("chromium_git") + "/chromium/llvm-project/cfe/tools/clang-format.git" + | 
 |     "@" + Var("clang_format_scripts_rev"), | 
 |  | 
 |   Var("dart_root") + "/benchmarks-internal": { | 
 |     "url": Var("dart_internal_git") + "/benchmarks-internal.git" + | 
 |            "@" + Var("benchmarks_internal_rev"), | 
 |     "condition": "checkout_benchmarks_internal", | 
 |   }, | 
 |   Var("dart_root") + "/tools/sdks/dart-sdk": { | 
 |       "packages": [{ | 
 |           "package": "dart/dart-sdk/${{platform}}", | 
 |           "version": Var("sdk_tag"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/d8/linux/x64": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/d8/linux-amd64", | 
 |           "version": Var("d8_tag"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/d8/linux/arm64": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/d8/linux-arm64", | 
 |           "version": Var("d8_tag"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/d8/macos/x64": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/d8/mac-amd64", | 
 |           "version": Var("d8_tag"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/d8/macos/arm64": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/d8/mac-arm64", | 
 |           "version": Var("d8_tag"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/d8/windows/x64": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/d8/windows-amd64", | 
 |           "version": Var("d8_tag"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/firefox_jsshell": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/jsshell/${{platform}}", | 
 |           "version": Var("jsshell_tag"), | 
 |       }], | 
 |       "condition": "checkout_javascript_engines", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/jsc": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/jsc/${{platform}}", | 
 |           "version": Var("jsc_tag"), | 
 |       }], | 
 |       "condition": "checkout_javascript_engines and host_os == 'linux' and host_cpu == 'x64'", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/devtools": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/flutter/devtools", | 
 |           "version": "git_revision:" + Var("devtools_rev"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/tests/co19/src": { | 
 |       "packages": [{ | 
 |           "package": "dart/third_party/co19", | 
 |           "version": "git_revision:" + Var("co19_rev"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/markupsafe": | 
 |       Var("chromium_git") + "/chromium/src/third_party/markupsafe.git" + | 
 |       "@" + Var("markupsafe_rev"), | 
 |   Var("dart_root") + "/third_party/zlib": | 
 |       Var("chromium_git") + "/chromium/src/third_party/zlib.git" + | 
 |       "@" + Var("zlib_rev"), | 
 |   Var("dart_root") + "/third_party/cpu_features/src": | 
 |       Var("chromium_git") + "/external/github.com/google/cpu_features.git" + | 
 |       "@" + Var("cpu_features_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/libcxx": | 
 |       Var("llvm_git") + "/llvm-project/libcxx" + "@" + Var("libcxx_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/libcxxabi": | 
 |       Var("llvm_git") + "/llvm-project/libcxxabi" + "@" + Var("libcxxabi_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/libc": | 
 |       Var("llvm_git") + "/llvm-project/libc" + "@" + Var("libc_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/boringssl/src": | 
 |       "https://boringssl.googlesource.com/boringssl.git" + | 
 |       "@" + Var("boringssl_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/binaryen/src" : | 
 |       Var("chromium_git") + "/external/github.com/WebAssembly/binaryen.git" + | 
 |       "@" + Var("binaryen_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/gsutil": { | 
 |       "packages": [{ | 
 |           "package": "infra/3pp/tools/gsutil", | 
 |           "version": "version:3@5.30", | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/third_party/emsdk": | 
 |       Var("dart_git") + "external/github.com/emscripten-core/emsdk.git" + | 
 |       "@" + Var("emsdk_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/jinja2": | 
 |       Var("chromium_git") + "/chromium/src/third_party/jinja2.git" + | 
 |       "@" + Var("jinja2_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/perfetto": | 
 |       Var("android_git") + "/platform/external/perfetto" + | 
 |       "@" + Var("perfetto_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/ply": | 
 |       Var("chromium_git") + "/chromium/src/third_party/ply.git" + | 
 |       "@" + Var("ply_rev"), | 
 |  | 
 |   Var("dart_root") + "/build/secondary/third_party/protobuf": | 
 |       Var("fuchsia_git") + "/protobuf-gn" + | 
 |       "@" + Var("protobuf_gn_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/protobuf": | 
 |       Var("fuchsia_git") + "/third_party/protobuf" + | 
 |       "@" + Var("libprotobuf_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/icu": | 
 |       Var("chromium_git") + "/chromium/deps/icu.git" + | 
 |       "@" + Var("icu_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/WebCore": | 
 |       Var("dart_git") + "webcore.git" + "@" + Var("WebCore_rev"), | 
 |  | 
 |   Var("dart_root") + "/third_party/mdn/browser-compat-data/src": | 
 |       Var('chromium_git') + '/external/github.com/mdn/browser-compat-data' + | 
 |       "@" + Var("browser-compat-data_tag"), | 
 |  | 
 |   Var("dart_root") + "/third_party/pkg/core": | 
 |       Var("dart_git") + "core.git" + "@" + Var("core_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/dart_style": | 
 |       Var("dart_git") + "dart_style.git" + "@" + Var("dart_style_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/dartdoc": | 
 |       Var("dart_git") + "dartdoc.git" + "@" + Var("dartdoc_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/ecosystem": | 
 |       Var("dart_git") + "ecosystem.git" + "@" + Var("ecosystem_rev"), | 
 |   Var("dart_root") + "/third_party/flute": { | 
 |     "url": Var("dart_git") + "flute.git" + "@" + Var("flute_rev"), | 
 |     "condition": "checkout_flute", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/third_party/pkg/http": | 
 |       Var("dart_git") + "http.git" + "@" + Var("http_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/i18n": | 
 |       Var("dart_git") + "i18n.git" + "@" + Var("i18n_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/leak_tracker": | 
 |       Var("dart_git") + "leak_tracker.git" + "@" + Var("leak_tracker_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/material_color_utilities": { | 
 |     "url": Var("dart_git") + | 
 |            "external/github.com/material-foundation/material-color-utilities.git" + | 
 |            "@" + Var("material_color_utilities_rev"), | 
 |     "condition": "checkout_flute", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/pkg/native": | 
 |       Var("dart_git") + "native.git" + "@" + Var("native_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/protobuf": | 
 |        Var("dart_git") + "protobuf.git" + "@" + Var("protobuf_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/pub": | 
 |       Var("dart_git") + "pub.git" + "@" + Var("pub_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/shelf": | 
 |       Var("dart_git") + "shelf.git" + "@" + Var("shelf_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/sync_http": | 
 |       Var("dart_git") + "sync_http.git" + "@" + Var("sync_http_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/tar": | 
 |       Var("dart_git") + "external/github.com/simolus3/tar.git" + | 
 |       "@" + Var("tar_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/test": | 
 |       Var("dart_git") + "test.git" + "@" + Var("test_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/tools": | 
 |       Var("dart_git") + "tools.git" + "@" + Var("tools_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/vector_math": | 
 |       Var("dart_git") + "external/github.com/google/vector_math.dart.git" + | 
 |       "@" + Var("vector_math_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/webdev": | 
 |       Var("dart_git") + "webdev.git" + "@" + Var("webdev_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/webdriver": | 
 |       Var("dart_git") + "external/github.com/google/webdriver.dart.git" + | 
 |       "@" + Var("webdriver_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/webkit_inspection_protocol": | 
 |       Var("dart_git") + "external/github.com/google/webkit_inspection_protocol.dart.git" + | 
 |       "@" + Var("webkit_inspection_protocol_rev"), | 
 |   Var("dart_root") + "/third_party/pkg/web": | 
 |       Var("dart_git") + "web.git" + "@" + Var("web_rev"), | 
 |  | 
 |   Var("dart_root") + "/buildtools/sysroot/linux": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "fuchsia/third_party/sysroot/linux", | 
 |               "version": "git_revision:fa7a5a9710540f30ff98ae48b62f2cdf72ed2acd", | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os == linux", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/buildtools/sysroot/focal": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "fuchsia/third_party/sysroot/focal", | 
 |               "version": "git_revision:fa7a5a9710540f30ff98ae48b62f2cdf72ed2acd", | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os == linux", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   # Keep consistent with pkg/test_runner/lib/src/options.dart. | 
 |   Var("dart_root") + "/buildtools/linux-x64/clang": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "fuchsia/third_party/clang/linux-amd64", | 
 |               "version": Var("clang_version"), | 
 |           }, | 
 |       ], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/buildtools/mac-x64/clang": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "fuchsia/third_party/clang/mac-amd64", | 
 |               "version": Var("clang_version"), | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os == mac", # On ARM64 Macs too because Goma doesn't support the host-arm64 toolchain. | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/buildtools/win-x64/clang": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "fuchsia/third_party/clang/windows-amd64", | 
 |               "version": Var("clang_version"), | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os == win", # On ARM64 Windows too because Fuchsia doesn't provide the host-arm64 toolchain. | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/buildtools/linux-arm64/clang": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "fuchsia/third_party/clang/linux-arm64", | 
 |               "version": Var("clang_version"), | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os == 'linux' and host_cpu == 'arm64'", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/buildtools/mac-arm64/clang": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "fuchsia/third_party/clang/mac-arm64", | 
 |               "version": Var("clang_version"), | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os == 'mac' and host_cpu == 'arm64'", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + '/buildtools/reclient': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/rbe/client/${{platform}}', | 
 |         'version': Var('reclient_version'), | 
 |       } | 
 |     ], | 
 |     # Download reclient only on the platforms where it has packages available. | 
 |     # Unfortunately windows-arm64 gclient uses x64 python which lies in | 
 |     # host_cpu, so we have to use a variable to not download reclient there. | 
 |     'condition': 'download_reclient and (((host_os == "linux" or host_os == "mac" or host_os == "win") and host_cpu == "x64") or (host_os == "mac" and host_cpu == "arm64"))', | 
 |     'dep_type': 'cipd', | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/third_party/webdriver/chrome": { | 
 |     "packages": [ | 
 |       { | 
 |         "package": "dart/third_party/chromedriver/${{platform}}", | 
 |         "version": "version:" + Var("chrome_tag"), | 
 |       } | 
 |     ], | 
 |     "condition": "download_chrome", | 
 |     "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/buildtools": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "gn/gn/${{platform}}", | 
 |               "version": Var("gn_version"), | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os != 'win'", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/buildtools/win": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "gn/gn/windows-amd64", | 
 |               "version": Var("gn_version"), | 
 |           }, | 
 |       ], | 
 |       "condition": "host_os == 'win'", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/buildtools/ninja": { | 
 |       "packages": [{ | 
 |           "package": "infra/3pp/tools/ninja/${{platform}}", | 
 |           "version": Var("ninja_tag"), | 
 |       }], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/third_party/android_tools/ndk": { | 
 |       "packages": [ | 
 |           { | 
 |             "package": "flutter/android/ndk/${{os}}-amd64", | 
 |             "version": "version:r27.0.10869015" | 
 |           } | 
 |       ], | 
 |       "condition": "download_android_deps", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/android_tools/sdk/platform-tools": { | 
 |       "packages": [ | 
 |           { | 
 |             "package": "flutter/android/sdk/platform-tools/linux-amd64", | 
 |             "version": "1tZc4sOxZS6FQIvT5i0wwdycmM8AO7QZY32FC9_HfR4C" | 
 |           } | 
 |       ], | 
 |       "condition": "download_android_deps", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/third_party/fuchsia/sdk/linux": { | 
 |     "packages": [ | 
 |       { | 
 |       "package": "fuchsia/sdk/core/${{platform}}", | 
 |       "version": Var("fuchsia_sdk_version"), | 
 |       } | 
 |     ], | 
 |     "condition": 'download_fuchsia_deps and host_os == "linux"', | 
 |     "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/third_party/fuchsia/test_scripts": { | 
 |     "packages": [ | 
 |       { | 
 |       "package": "chromium/fuchsia/test-scripts", | 
 |       "version": "L6SMsr0eTyQlN6KR4VWrJ1Kx7DLrq0yWL1u8XbmfzuAC", | 
 |       } | 
 |     ], | 
 |     "condition": 'download_fuchsia_deps', | 
 |     "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/third_party/fuchsia/gn-sdk": { | 
 |     "packages": [ | 
 |       { | 
 |       "package": "chromium/fuchsia/gn-sdk", | 
 |       "version": "jsZSHIOmQAs3URvWUa19VXM9ijCxdttNwanuXXmxltsC", | 
 |       } | 
 |     ], | 
 |     "condition": 'download_fuchsia_deps', | 
 |     "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   Var("dart_root") + "/pkg/front_end/test/types/benchmark_data": { | 
 |     "packages": [ | 
 |       { | 
 |         "package": "dart/cfe/benchmark_data", | 
 |         "version": "sha1sum:5b6e6dfa33b85c733cab4e042bf46378984d1544", | 
 |       } | 
 |     ], | 
 |     "dep_type": "cipd", | 
 |   }, | 
 |  | 
 |   # TODO(37531): Remove these cipd packages and build with sdk instead when | 
 |   # benchmark runner gets support for that. | 
 |   Var("dart_root") + "/benchmarks/FfiBoringssl/native/out/": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "dart/benchmarks/ffiboringssl", | 
 |               "version": "commit:a86c69888b9a416f5249aacb4690a765be064969", | 
 |           }, | 
 |       ], | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/benchmarks/FfiCall/native/out/": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "dart/benchmarks/fficall", | 
 |               "version": "ebF5aRXKDananlaN4Y8b0bbCNHT1MnkGbWqfpCpiND4C", | 
 |           }, | 
 |       ], | 
 |           "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/benchmarks/NativeCall/native/out/": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "dart/benchmarks/nativecall", | 
 |               "version": "w1JKzCIHSfDNIjqnioMUPq0moCXKwX67aUfhyrvw4E0C", | 
 |           }, | 
 |       ], | 
 |           "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/browsers/chrome": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "dart/browsers/chrome/${{platform}}", | 
 |               "version": "version:" + Var("chrome_tag"), | 
 |           }, | 
 |       ], | 
 |       "condition": "download_chrome", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 |   Var("dart_root") + "/third_party/browsers/firefox": { | 
 |       "packages": [ | 
 |           { | 
 |               "package": "dart/browsers/firefox/${{platform}}", | 
 |               "version": "version:" + Var("firefox_tag"), | 
 |           }, | 
 |       ], | 
 |       "condition": "download_firefox", | 
 |       "dep_type": "cipd", | 
 |   }, | 
 | } | 
 |  | 
 | deps_os = { | 
 |   "win": { | 
 |     Var("dart_root") + "/third_party/cygwin": | 
 |         Var("chromium_git") + "/chromium/deps/cygwin.git" + "@" + | 
 |         "c89e446b273697fadf3a10ff1007a97c0b7de6df", | 
 |     Var("dart_root") + "/third_party/crashpad/crashpad": | 
 |         Var("chromium_git") + "/crashpad/crashpad.git" + "@" + | 
 |         Var("crashpad_rev"), | 
 |     Var("dart_root") + "/third_party/mini_chromium/mini_chromium": | 
 |         Var("chromium_git") + "/chromium/mini_chromium" + "@" + | 
 |         Var("minichromium_rev"), | 
 |     Var("dart_root") + "/third_party/googletest": | 
 |         Var("fuchsia_git") + "/third_party/googletest" + "@" + | 
 |         Var("googletest_rev"), | 
 |   } | 
 | } | 
 |  | 
 | hooks = [ | 
 |   { | 
 |     # Generate the .dart_tool/package_confg.json file. | 
 |     'name': 'Generate .dart_tool/package_confg.json', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'sdk/tools/generate_package_config.py'], | 
 |   }, | 
 |   { | 
 |     # Generate the sdk/version file. | 
 |     'name': 'Generate sdk/version', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'sdk/tools/generate_sdk_version_file.py'], | 
 |   }, | 
 |   { | 
 |     'name': 'buildtools', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'sdk/tools/buildtools/update.py'], | 
 |   }, | 
 |   { | 
 |     # Update the Windows toolchain if necessary. | 
 |     'name': 'win_toolchain', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'sdk/build/vs_toolchain.py', 'update'], | 
 |     'condition': 'checkout_win' | 
 |   }, | 
 |   # Install and activate the empscripten SDK. | 
 |   { | 
 |     'name': 'install_emscripten', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'sdk/third_party/emsdk/emsdk.py', 'install', | 
 |         Var('emsdk_ver')], | 
 |     'condition': 'download_emscripten' | 
 |   }, | 
 |   { | 
 |     'name': 'activate_emscripten', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'sdk/third_party/emsdk/emsdk.py', 'activate', | 
 |         Var('emsdk_ver')], | 
 |     'condition': 'download_emscripten' | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia system images', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |       'python3', | 
 |       'sdk/build/fuchsia/with_envs.py', | 
 |       'sdk/third_party/fuchsia/test_scripts/update_product_bundles.py', | 
 |       'terminal.x64,terminal.qemu-arm64', | 
 |     ], | 
 |     'condition': 'download_fuchsia_deps' | 
 |   }, | 
 |   { | 
 |     'name': 'Generate Fuchsia GN build rules', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |       'python3', | 
 |       'sdk/build/fuchsia/with_envs.py', | 
 |       'sdk/third_party/fuchsia/test_scripts/gen_build_defs.py', | 
 |     ], | 
 |     'condition': 'download_fuchsia_deps' | 
 |   }, | 
 | ] |