# The dependencies referenced by the Flutter Engine.
#
# This file is referenced by the .gclient file at the root of the checkout.
# To preview changes to the dependencies, update this file and run
# `gclient sync`.
#
# When adding a new dependency, please update the top-level .gitignore file
# to list the dependency's destination directory.

vars = {
  'android_git': 'https://android.googlesource.com',
  'chromium_git': 'https://chromium.googlesource.com',
  'dart_git': 'https://dart.googlesource.com',
  'flutter_git': 'https://flutter.googlesource.com',
  'skia_git': 'https://skia.googlesource.com',
  'llvm_git': 'https://llvm.googlesource.com',
  'dart_ai_rev': '9c96bfe5f091c9451eff5b59c9bffeb2e806b875',
  'skia_revision': 'ea6781c5b6d191758958676cd8d0a4574e665c17',

  # Do not download the Emscripten SDK by default.
  # This prevents us from downloading the Emscripten toolchain for builds
  # which do not build for the web. This toolchain is needed to build CanvasKit
  # for the web engine.
  'download_emsdk': False,

  # For experimental features some dependencies may only be avaialable in the master/main
  # channels. This variable is being set when CI is checking out the repository.
  'release_candidate': False,

  # As Dart does, we use Fuchsia's GN and Clang toolchain. These revision
  # should be kept up to date with the revisions pulled by Dart.
  #
  # The list of revisions for these tools comes from Fuchsia, here:
  # https://fuchsia.googlesource.com/integration/+/HEAD/toolchain
  # If there are problems with the toolchain, contact fuchsia-toolchain@.
  #
  # Note, if you are *manually* rolling clang (i.e. the auto-roll is disabled)
  # you'll need to run post-submits (i.e. for Clang Tidy) in order to test that
  # updates to Clang Tidy will not turn the tree red.
  #
  # See https://github.com/flutter/flutter/wiki/Engine-pre‐submits-and-post‐submits#post-submit
  'clang_version': 'git_revision:07d67299a15ce03b053736e2d31a668ee0576987',

  'reclient_version': 're_client_version:0.185.0.db415f21-gomaip',

  'gcloud_version': 'version:2@444.0.0.chromium.3',

  'esbuild_version': '0.19.5',

  # When updating the Dart revision, ensure that all entries that are
  # dependencies of Dart are also updated to match the entries in the
  # Dart SDK's DEPS file for that revision of Dart. The DEPS file for
  # Dart is: https://github.com/dart-lang/sdk/blob/main/DEPS
  # You can use //tools/dart/create_updated_flutter_deps.py to produce
  # updated revision list of existing dependencies. You will need to
  # gclient sync before and after update deps to ensure all deps are updated.
  # updated revision list of existing dependencies.
  'dart_revision': '6b50116630d0296dd9efc0d2d65b6eeb9d12baf9',

  # WARNING: DO NOT EDIT MANUALLY
  # The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py
  'dart_binaryen_rev': '1c0c9f3836e858e01c4f94ac2e5a936d16a6ba1d',
  'dart_boringssl_rev': '5e1bfb45c353b2bb36bdf26b006ea8f5566c82d5',
  'dart_core_rev': '4d80610a878cdb3f9f10e6a16a2af6631251a3c6',
  'dart_devtools_rev': '85f945ac99379d64d4df6f67d9b011e4cc418e7e',
  'dart_ecosystem_rev': '622ef61a7edd5de7df38661e163e55c57606c96a',
  'dart_http_rev': '23f8574cdfce93c3bb0c6d83d92167d92b9824d5',
  'dart_i18n_rev': '1f5ea2fb2381bdf7bab054a43c0d69771f104561',
  'dart_perfetto_rev': '13ce0c9e13b0940d2476cd0cff2301708a9a2e2b',
  'dart_protobuf_rev': 'a73edc98c98fb25152aa3f12c1b9db91594c1369',
  'dart_pub_rev': 'eca8f8ada939be70f0be3189db31e421dd0be7fd',
  'dart_sync_http_rev': '6666fff944221891182e1f80bf56569338164d72',
  'dart_tools_rev': '2b54c71af39b1ec937237b842068fdef5a7c2523',
  'dart_vector_math_rev': 'cf3b5db7340d317dd3489e5a35434b408020a852',
  'dart_web_rev': '63e6662dc7022a54439d4da6016685c49a0d6018',
  'dart_webdriver_rev': '8e5c611ea242efdc9f597a8a37c38a9c586120ee',
  'dart_webkit_inspection_protocol_rev': '762115a971d1968bc940454ad1e88d506d8c5640',

  'ocmock_rev': 'c4ec0e3a7a9f56cfdbd0aa01f4f97bb4b75c5ef8', # v3.7.1

  # Download a prebuilt Dart SDK by default
  'download_dart_sdk': True,

  # Download a prebuilt esbuild by default
  'download_esbuild': True,

  # Checkout Android dependencies only on platforms where we build for Android targets.
  'download_android_deps': 'host_os == "mac" or (host_os == "linux" and host_cpu == "x64")',

  # Checkout Windows dependencies only if we are building on Windows.
  'download_windows_deps' : 'host_os == "win"',

  # Checkout Linux dependencies only when building on Linux.
  'download_linux_deps': 'host_os == "linux"',

  # Checkout Fuchsia dependencies only on Linux. This is the umbrella flag which
  # controls the behavior of all fuchsia related flags. I.e. any fuchsia related
  # logic or condition may not work if this flag is False.
  # TODO(zijiehe): Make this condition more strict to only download fuchsia
  # dependencies when necessary: b/40935282
  'download_fuchsia_deps': 'host_os == "linux" and host_cpu == "x64"',
  # Downloads the fuchsia SDK as listed in fuchsia_sdk_path var. This variable
  # is currently only used for the Fuchsia LSC process and is not intended for
  # local development.
  'download_fuchsia_sdk': False,
  'fuchsia_sdk_path': '',
  # Whether to download and run the Fuchsia emulator locally to test Fuchsia
  # builds.
  'run_fuchsia_emu': False,

  # An LLVM backend needs LLVM binaries and headers. To avoid build time
  # increases we can use prebuilts. We don't want to download this on every
  # CQ/CI bot nor do we want the average Dart developer to incur that cost.
  # So by default we will not download prebuilts. This variable is needed in
  # the flutter engine to ensure that Dart gn has access to it as well.
  "checkout_llvm": False,

  # Use prebuilt Dart DevTools sources.
  'build_devtools_from_sources': False,

  # Setup Git hooks by default.
  'setup_githooks': True,

  # When this is true, the Flutter Engine's configuration files and scripts for
  # RBE will be downloaded from CIPD. This option is only usable by Googlers.
  'use_rbe': False,

  # Upstream URLs for third party dependencies, used in
  # determining common ancestor commit for vulnerability scanning
  # prefixed with 'upstream_' in order to be identified by parsing tool.
  # The vulnerability database being used in this scan can be browsed
  # using this UI https://osv.dev/list
  # If a new dependency needs to be added, the upstream (non-mirrored)
  # git URL for that dependency should be added to this list
  # with the key-value pair being:
  # 'upstream_[dep name from last slash and before .git in URL]':'[git URL]'
  # example:
  "upstream_abseil-cpp": "https://github.com/abseil/abseil-cpp.git",
  "upstream_angle": "https://github.com/google/angle.git",
  "upstream_archive": "https://github.com/brendan-duncan/archive.git",
  "upstream_benchmark": "https://github.com/google/benchmark.git",
  "upstream_boringssl": "https://github.com/openssl/openssl.git",
  "upstream_brotli": "https://github.com/google/brotli.git",
  "upstream_dart_style": "https://github.com/dart-lang/dart_style.git",
  "upstream_dartdoc": "https://github.com/dart-lang/dartdoc.git",
  "upstream_equatable": "https://github.com/felangel/equatable.git",
  "upstream_ffi": "https://github.com/dart-lang/ffi.git",
  "upstream_flatbuffers": "https://github.com/google/flatbuffers.git",
  "upstream_freetype2": "https://gitlab.freedesktop.org/freetype/freetype.git",
  "upstream_gcloud": "https://github.com/dart-lang/gcloud.git",
  "upstream_glfw": "https://github.com/glfw/glfw.git",
  "upstream_googleapis": "https://github.com/google/googleapis.dart.git",
  "upstream_googletest": "https://github.com/google/googletest.git",
  "upstream_gtest-parallel": "https://github.com/google/gtest-parallel.git",
  "upstream_harfbuzz": "https://github.com/harfbuzz/harfbuzz.git",
  "upstream_http": "https://github.com/dart-lang/http.git",
  "upstream_icu": "https://github.com/unicode-org/icu.git",
  "upstream_imgui": "https://github.com/ocornut/imgui.git",
  "upstream_inja": "https://github.com/pantor/inja.git",
  "upstream_json": "https://github.com/nlohmann/json.git",
  "upstream_libcxx": "https://github.com/llvm-mirror/libcxx.git",
  "upstream_libcxxabi": "https://github.com/llvm-mirror/libcxxabi.git",
  "upstream_libexpat": "https://github.com/libexpat/libexpat.git",
  "upstream_libjpeg-turbo": "https://github.com/libjpeg-turbo/libjpeg-turbo.git",
  "upstream_libpng": "https://github.com/glennrp/libpng.git",
  "upstream_libtess2": "https://github.com/memononen/libtess2.git",
  "upstream_libwebp": "https://chromium.googlesource.com/webm/libwebp.git",
  "upstream_leak_tracker": "https://github.com/dart-lang/leak_tracker.git",
  "upstream_mockito": "https://github.com/dart-lang/mockito.git",
  "upstream_ocmock": "https://github.com/erikdoe/ocmock.git",
  "upstream_packages": "https://github.com/flutter/packages.git",
  "upstream_process_runner": "https://github.com/google/process_runner.git",
  "upstream_process": "https://github.com/google/process.dart.git",
  "upstream_protobuf": "https://github.com/google/protobuf.dart.git",
  "upstream_pub_semver": "https://github.com/dart-lang/pub_semver.git",
  "upstream_pub": "https://github.com/dart-lang/pub.git",
  "upstream_pyyaml": "https://github.com/yaml/pyyaml.git",
  "upstream_quiver-dart": "https://github.com/google/quiver-dart.git",
  "upstream_rapidjson": "https://github.com/Tencent/rapidjson.git",
  "upstream_sdk": "https://github.com/dart-lang/sdk.git",
  "upstream_shaderc": "https://github.com/google/shaderc.git",
  "upstream_shelf": "https://github.com/dart-lang/shelf.git",
  "upstream_skia": "https://skia.googlesource.com/skia.git",
  "upstream_sqlite": "https://github.com/sqlite/sqlite.git",
  "upstream_tar": "https://github.com/simolus3/tar.git",
  "upstream_test": "https://github.com/dart-lang/test.git",
  "upstream_usage": "https://github.com/dart-lang/usage.git",
  "upstream_vector_math": "https://github.com/google/vector_math.dart.git",
  "upstream_VulkanMemoryAllocator": "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git",
  "upstream_webdev": "https://github.com/dart-lang/webdev.git",
  "upstream_webkit_inspection_protocol": "https://github.com/google/webkit_inspection_protocol.dart.git",
  "upstream_wuffs-mirror-release-c": "https://github.com/google/wuffs-mirror-release-c.git",
  "upstream_yapf": "https://github.com/google/yapf.git",
  "upstream_zlib": "https://github.com/madler/zlib.git",

  # The version / instance id of the cipd:chromium/fuchsia/test-scripts which
  # will be used altogether with fuchsia-sdk to setup the build / test
  # environment.
  'fuchsia_test_scripts_version': 'V-qQL4158Nw6L-QLiLqhf1sDX4XlaikvsYpbpAZevSEC',

  # The version / instance id of the cipd:chromium/fuchsia/gn-sdk which will be
  # used altogether with fuchsia-sdk to generate gn based build rules.
  'fuchsia_gn_sdk_version': 'PDJz3b3CL31uoLOkDb0mm8FidqJ1eCJryoRFd9iVmbIC',
}

gclient_gn_args_file = 'engine/src/flutter/third_party/dart/build/config/gclient_args.gni'
gclient_gn_args = [
  'checkout_llvm',
  'build_devtools_from_sources',
]

# Only these hosts are allowed for dependencies in this DEPS file.
# If you need to add a new host, contact chrome infrastructure team.
allowed_hosts = [
  'boringssl.googlesource.com',
  'chrome-infra-packages.appspot.com',
  'chromium.googlesource.com',
  'dart.googlesource.com',
  'flutter.googlesource.com',
  'llvm.googlesource.com',
  'skia.googlesource.com',
]

deps = {
  'engine/src/flutter/third_party/depot_tools':
  Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '580b4ff3f5cd0dcaa2eacda28cefe0f45320e8f7',

  'engine/src/flutter/third_party/rapidjson':
   Var('flutter_git') + '/third_party/rapidjson' + '@' + '47253cab97e9cfe99dbd6b90836fc11589d7d802',

  'engine/src/flutter/third_party/harfbuzz':
   Var('flutter_git') + '/third_party/harfbuzz' + '@' + '49844c32a7a3f6be371355a1213c952a3f4a44e7',

  'engine/src/flutter/third_party/libcxx':
   Var('llvm_git') + '/llvm-project/libcxx' + '@' + 'bd557f6f764d1e40b62528a13b124ce740624f8f',

  'engine/src/flutter/third_party/libcxxabi':
   Var('llvm_git') + '/llvm-project/libcxxabi' + '@' + 'a4dda1589d37a7e4b4f7a81ebad01b1083f2e726',

  'engine/src/flutter/third_party/llvm_libc':
   Var('llvm_git') + '/llvm-project/libc' + '@' + '5af39a19a1ad51ce93972cdab206dcd3ff9b6afa',

  'engine/src/flutter/third_party/glfw':
   Var('flutter_git') + '/third_party/glfw' + '@' + '9352d8fe93cd443be18157abe81f16500549aec0',

  'engine/src/flutter/third_party/shaderc':
   Var('flutter_git') + '/third_party/shaderc' + '@' + '70b1130380fcbf1d1e9719ee78ba7202a5161424',

  # Flutter checks out the Chromium vulkan-deps parent package to get licenses
  # and other metadata.
  # But Flutter does not include vulkan-deps in the recursedeps list because it
  # now imports each of the vulkan-deps subpackages separately.  This makes it
  # possible to individually update the version of each subpackage and fetch
  # subpackages from Flutter mirrors that can include custom patches.
  'engine/src/flutter/third_party/vulkan-deps':
   Var('chromium_git') + '/vulkan-deps' + '@' + '0582f446e54aa4ea389c89cd027067ee0f5459aa',

  'engine/src/flutter/third_party/vulkan-deps/glslang/src':
   Var('flutter_git') + '/third_party/glslang' + '@' + 'fdbdca9263a4c09dbfb4a51c76e3e9d9f52bc504',

  'engine/src/flutter/third_party/vulkan-deps/lunarg-vulkantools/src':
   Var('chromium_git') + '/external/github.com/LunarG/VulkanTools' + '@' + 'be9744eb74f522c6829c5e8d842cc29dce8259bd',

  'engine/src/flutter/third_party/vulkan-deps/spirv-cross/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/SPIRV-Cross' + '@' + 'b8fcf307f1f347089e3c46eb4451d27f32ebc8d3',

  'engine/src/flutter/third_party/vulkan-deps/spirv-headers/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/SPIRV-Headers' + '@' + 'c63848ecf2200425511319fd8bf2c17b751e501e',

  'engine/src/flutter/third_party/vulkan-deps/spirv-tools/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/SPIRV-Tools' + '@' + '58fe144fdc8847b303be51d4f8fcc9e7da17056e',

  'engine/src/flutter/third_party/vulkan-deps/vulkan-headers/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/Vulkan-Headers' + '@' + '0307c70bfbf0646d56a604384b2a91525cefea15',

  'engine/src/flutter/third_party/vulkan-deps/vulkan-loader/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/Vulkan-Loader' + '@' + 'ddaf5c7c2302b07ef2385727c9a54b073ebb563e',

  'engine/src/flutter/third_party/vulkan-deps/vulkan-tools/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/Vulkan-Tools' + '@' + 'b7ae55b37cda76d16368c302f37cb0c7ea2f8409',

  'engine/src/flutter/third_party/vulkan-deps/vulkan-utility-libraries/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/Vulkan-Utility-Libraries' + '@' + '8183a0b86632bf1107553eab1e69d7b85d455477',

  'engine/src/flutter/third_party/vulkan-deps/vulkan-validation-layers/src':
   Var('chromium_git') + '/external/github.com/KhronosGroup/Vulkan-ValidationLayers' + '@' + '9a47aeb53821f5fe54b715fa9fc9d74b66077c46',

  'engine/src/flutter/third_party/flatbuffers':
   Var('chromium_git') + '/external/github.com/google/flatbuffers' + '@' + '067bfdbde9b10c1beb5d6b02d67ae9db8b96f736',

  'engine/src/flutter/third_party/icu':
   Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '5aa526207171ecadf31597f0980a7b7ad8872f33',

   'engine/src/flutter/third_party/gtest-parallel':
   Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + '38191e2733d7cbaeaef6a3f1a942ddeb38a2ad14',

  'engine/src/flutter/third_party/benchmark':
   Var('chromium_git') + '/external/github.com/google/benchmark' + '@' + '431abd149fd76a072f821913c0340137cc755f36',

  'engine/src/flutter/third_party/googletest':
   Var('chromium_git') + '/external/github.com/google/googletest' + '@' + 'e9907112b47255d50b4d343e7e2160bce8dc85d1',

  'engine/src/flutter/third_party/re2':
   Var('chromium_git') + '/external/github.com/google/re2' + '@' + 'c84a140c93352cdabbfb547c531be34515b12228',

  'engine/src/flutter/third_party/brotli':
   Var('skia_git') + '/external/github.com/google/brotli.git' + '@' + '350100a5bb9d9671aca85213b2ec7a70a361b0cd',

  'engine/src/flutter/third_party/yapf':
  Var('flutter_git') + '/third_party/yapf' + '@' + '212c5b5ad8e172d2d914ae454c121c89cccbcb35',

  'engine/src/flutter/third_party/boringssl/src':
  'https://boringssl.googlesource.com/boringssl.git' + '@' + Var('dart_boringssl_rev'),

  'engine/src/flutter/third_party/ai':
   Var('dart_git') + '/ai.git' + '@' + Var('dart_ai_rev'),

  'engine/src/flutter/third_party/dart':
   Var('dart_git') + '/sdk.git' + '@' + Var('dart_revision'),

  # WARNING: Unused Dart dependencies in the list below till "WARNING:" marker are removed automatically - see create_updated_flutter_deps.py.

  'engine/src/flutter/third_party/dart/third_party/binaryen/src':
   Var('chromium_git') + '/external/github.com/WebAssembly/binaryen.git' + '@' + Var('dart_binaryen_rev'),

  'engine/src/flutter/third_party/dart/third_party/devtools':
   {'dep_type': 'cipd', 'packages': [{'package': 'dart/third_party/flutter/devtools', 'version': 'git_revision:85f945ac99379d64d4df6f67d9b011e4cc418e7e'}]},

  'engine/src/flutter/third_party/dart/third_party/perfetto/src':
   Var('chromium_git') + '/external/github.com/google/perfetto' + '@' + Var('dart_perfetto_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/core':
   Var('dart_git') + '/core.git' + '@' + Var('dart_core_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/dart_style':
   Var('dart_git') + '/dart_style.git@76978d23bfb3d225c81ce3f119ab7055a2a57136',

  'engine/src/flutter/third_party/dart/third_party/pkg/dartdoc':
   Var('dart_git') + '/dartdoc.git@e1859cfc70702d65476b087b0d577db18c67abfa',

  'engine/src/flutter/third_party/dart/third_party/pkg/ecosystem':
   Var('dart_git') + '/ecosystem.git' + '@' + Var('dart_ecosystem_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/http':
   Var('dart_git') + '/http.git' + '@' + Var('dart_http_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/i18n':
   Var('dart_git') + '/i18n.git' + '@' + Var('dart_i18n_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/leak_tracker':
   Var('dart_git') + '/leak_tracker.git@f5620600a5ce1c44f65ddaa02001e200b096e14c',

  'engine/src/flutter/third_party/dart/third_party/pkg/native':
   Var('dart_git') + '/native.git@10515afcaedcac567c53958550ceb982e9d1565d',

  'engine/src/flutter/third_party/dart/third_party/pkg/protobuf':
   Var('dart_git') + '/protobuf.git' + '@' + Var('dart_protobuf_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/pub':
   Var('dart_git') + '/pub.git' + '@' + Var('dart_pub_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/shelf':
   Var('dart_git') + '/shelf.git@b2cb503d3ba2f0ce6320b820f2b3b0c2b1777485',

  'engine/src/flutter/third_party/dart/third_party/pkg/sync_http':
   Var('dart_git') + '/sync_http.git' + '@' + Var('dart_sync_http_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/tar':
   Var('dart_git') + '/external/github.com/simolus3/tar.git@13479f7c2a18f499e840ad470cfcca8c579f6909',

  'engine/src/flutter/third_party/dart/third_party/pkg/test':
   Var('dart_git') + '/test.git@30acb69eb30369a1b9ad2adc4a86224393c197ef',

  'engine/src/flutter/third_party/dart/third_party/pkg/tools':
   Var('dart_git') + '/tools.git' + '@' + Var('dart_tools_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/vector_math':
   Var('dart_git') + '/external/github.com/google/vector_math.dart.git' + '@' + Var('dart_vector_math_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/web':
   Var('dart_git') + '/web.git' + '@' + Var('dart_web_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/webdriver':
   Var('dart_git') + '/external/github.com/google/webdriver.dart.git' + '@' + Var('dart_webdriver_rev'),

  'engine/src/flutter/third_party/dart/third_party/pkg/webkit_inspection_protocol':
   Var('dart_git') + '/external/github.com/google/webkit_inspection_protocol.dart.git' + '@' + Var('dart_webkit_inspection_protocol_rev'),

  'engine/src/flutter/third_party/dart/tools/sdks/dart-sdk':
   {'dep_type': 'cipd', 'packages': [{'package': 'dart/dart-sdk/${{platform}}', 'version': 'version:3.14.0-226.0.dev'}]},

  # WARNING: end of dart dependencies list that is cleaned up automatically - see create_updated_flutter_deps.py.

  # Prebuilt Dart SDK of the same revision as the Dart SDK source checkout
  'engine/src/flutter/prebuilts/linux-x64/dart-sdk': {
    'packages': [
      {
        'package': 'flutter/dart-sdk/linux-amd64',
        'version': 'git_revision:'+Var('dart_revision')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "linux" and download_dart_sdk'
  },
  'engine/src/flutter/prebuilts/linux-arm64/dart-sdk': {
    'packages': [
      {
        'package': 'flutter/dart-sdk/linux-arm64',
        'version': 'git_revision:'+Var('dart_revision')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "linux" and download_dart_sdk'
  },
  'engine/src/flutter/prebuilts/macos-x64/dart-sdk': {
    'packages': [
      {
        'package': 'flutter/dart-sdk/mac-amd64',
        'version': 'git_revision:'+Var('dart_revision')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "mac" and download_dart_sdk'
  },
  'engine/src/flutter/prebuilts/macos-arm64/dart-sdk': {
    'packages': [
      {
        'package': 'flutter/dart-sdk/mac-arm64',
        'version': 'git_revision:'+Var('dart_revision')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "mac" and download_dart_sdk'
  },
  'engine/src/flutter/prebuilts/windows-x64/dart-sdk': {
    'packages': [
      {
        'package': 'flutter/dart-sdk/windows-amd64',
        'version': 'git_revision:'+Var('dart_revision')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "win" and download_dart_sdk'
  },
  'engine/src/flutter/prebuilts/windows-arm64/dart-sdk': {
    'packages': [
      {
        'package': 'flutter/dart-sdk/windows-arm64',
        'version': 'git_revision:'+Var('dart_revision')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "win" and download_dart_sdk'
  },

  # esbuild download
  'engine/src/flutter/prebuilts/linux-x64/esbuild': {
    'packages': [
      {
        'package': 'flutter/tools/esbuild/linux-amd64',
        'version': Var('esbuild_version')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "linux" and download_esbuild'
  },
  'engine/src/flutter/prebuilts/macos-x64/esbuild': {
    'packages': [
      {
        'package': 'flutter/tools/esbuild/mac-amd64',
        'version': Var('esbuild_version')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "mac" and download_esbuild'
  },
  'engine/src/flutter/prebuilts/macos-arm64/esbuild': {
    'packages': [
      {
        'package': 'flutter/tools/esbuild/mac-arm64',
        'version': Var('esbuild_version')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "mac" and download_esbuild'
  },
  'engine/src/flutter/prebuilts/windows-x64/esbuild': {
    'packages': [
      {
        'package': 'flutter/tools/esbuild/windows-amd64',
        'version': Var('esbuild_version')
      }
    ],
    'dep_type': 'cipd',
    'condition': 'host_os == "win" and download_esbuild'
  },

  'engine/src/flutter/third_party/expat':
   Var('chromium_git') + '/external/github.com/libexpat/libexpat.git' + '@' + '8e49998f003d693213b538ef765814c7d21abada',

  'engine/src/flutter/third_party/freetype2':
   Var('flutter_git') + '/third_party/freetype2' + '@' + 'db7276fd53cda30c7f0fcd6b11e2e8f43b4b5e82',

  'engine/src/flutter/third_party/skia':
   Var('skia_git') + '/skia.git' + '@' +  Var('skia_revision'),

  'engine/src/flutter/third_party/ocmock':
   Var('flutter_git') + '/third_party/ocmock' + '@' +  Var('ocmock_rev'),

  'engine/src/flutter/third_party/libjpeg-turbo/src':
   Var('flutter_git') + '/third_party/libjpeg-turbo' + '@' + '0fb821f3b2e570b2783a94ccd9a2fb1f4916ae9f',

  'engine/src/flutter/third_party/libpng':
   Var('flutter_git') + '/third_party/libpng' + '@' + 'ced6b6c0c1e24716423a417b399d3c7d4623890d',

  'engine/src/flutter/third_party/libwebp':
   Var('chromium_git') + '/webm/libwebp.git' + '@' + 'ca332209cb5567c9b249c86788cb2dbf8847e760', # 1.3.2

  'engine/src/flutter/third_party/wuffs':
   Var('skia_git') + '/external/github.com/google/wuffs-mirror-release-c.git' + '@' + '600cd96cf47788ee3a74b40a6028b035c9fd6a61',

  'engine/src/flutter/third_party/zlib':
   Var('chromium_git') + '/chromium/src/third_party/zlib.git' + '@' + '7eda07b1e067ef3fd7eea0419c88b5af45c9a776',

  'engine/src/flutter/third_party/cpu_features/src':
   Var('chromium_git') + '/external/github.com/google/cpu_features.git' + '@' + '936b9ab5515dead115606559502e3864958f7f6e',

  'engine/src/flutter/third_party/inja':
   Var('flutter_git') + '/third_party/inja' + '@' + '88bd6112575a80d004e551c98cf956f88ff4d445',

  'engine/src/flutter/third_party/libtess2':
   Var('flutter_git') + '/third_party/libtess2' + '@' + '725e5e08ec8751477565f1d603fd7eb9058c277c',

  'engine/src/flutter/third_party/sqlite':
   Var('flutter_git') + '/third_party/sqlite' + '@' + '0f61bd2023ba94423b4e4c8cfb1a23de1fe6a21c',

  'engine/src/flutter/third_party/pyyaml':
   Var('flutter_git') + '/third_party/pyyaml.git' + '@' + '03c67afd452cdff45b41bfe65e19a2fb5b80a0e8',

  'engine/src/flutter/third_party/swiftshader':
  Var('flutter_git') + '/third_party/swiftshader.git' + '@' + '1be9f83618f8ba258431c0c13d7a083eb193df11',

  'engine/src/flutter/third_party/angle':
  Var('flutter_git') + '/third_party/angle' + '@' + 'a8d74ca3e5e9e4ffa241330ceedcbe302443e472',

  'engine/src/flutter/third_party/vulkan_memory_allocator':
  Var('chromium_git') + '/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator' + '@' + 'c788c52156f3ef7bc7ab769cb03c110a53ac8fcb',

  'engine/src/third_party/abseil-cpp':
  Var('chromium_git') + '/chromium/src/third_party/abseil-cpp' + '@' + 'ff6e8ce3e932c16cebd1611c8fc42c45080a0e55',

   # Dart packages
  'engine/src/flutter/third_party/pkg/archive':
  Var('chromium_git') + '/external/github.com/brendan-duncan/archive.git' + '@' + 'f1d164f8f5d8aea0be620a9b1e8d300b75a29388', # 3.6.1

  'engine/src/flutter/third_party/pkg/equatable':
  Var('flutter_git') + '/third_party/equatable.git' + '@' + '2117551ff3054f8edb1a58f63ffe1832a8d25623', # 2.0.5

  'engine/src/flutter/third_party/pkg/flutter_packages':
  Var('flutter_git') + '/mirrors/packages' + '@' + '25454e63851fe7933f04d025606e68c1eac4fe0f', # various

  'engine/src/flutter/third_party/pkg/gcloud':
  Var('flutter_git') + '/third_party/gcloud.git' + '@' + 'a5276b85c4714378e84b1fb478b8feeeb686ac26', # 0.8.6-dev

  'engine/src/flutter/third_party/pkg/googleapis':
  Var('flutter_git') + '/third_party/googleapis.dart.git' + '@' + '526011f56d98eab183cc6075ee1392e8303e43e2', # various

  'engine/src/flutter/third_party/pkg/io':
  Var('flutter_git') + '/third_party/io.git' + '@' + '997a6243aad20af4238147d9ec00bf638b9169af', # 1.0.5-wip

  'engine/src/flutter/third_party/pkg/node_preamble':
  Var('flutter_git') + '/third_party/node_preamble.dart.git' + '@' + '47245865175929ec452d8058e563c267b64c3d64', # 2.0.2

  'engine/src/flutter/third_party/pkg/process':
  Var('dart_git') + '/process.dart' + '@' + '0c9aeac86dcc4e3a6cf760b76fed507107e244d5', # 4.2.1

  'engine/src/flutter/third_party/pkg/process_runner':
  Var('flutter_git') + '/third_party/process_runner.git' + '@' + 'f24c69efdcaf109168f23d381fa281453d2bc9b1', # 4.1.2

  'engine/src/flutter/third_party/pkg/vector_math':
  Var('dart_git') + '/external/github.com/google/vector_math.dart.git' + '@' + '0a5fd95449083d404df9768bc1b321b88a7d2eef', # 2.1.0

  'engine/src/flutter/third_party/imgui':
  Var('flutter_git') + '/third_party/imgui.git' + '@' + '2a1b69f05748ad909f03acf4533447cac1331611',

  'engine/src/flutter/third_party/json':
  Var('flutter_git') + '/third_party/json.git' + '@' + '17d9eacd248f58b73f4d1be518ef649fe2295642',

  'engine/src/flutter/third_party/gradle': {
    'packages': [
      {
        # See tools/gradle/README.md for update instructions.
        # Version here means the CIPD tag.
        'version': 'version:9.5.0',
        'package': 'flutter/gradle'
      }
    ],
    'condition': 'download_android_deps',
    'dep_type': 'cipd'
  },

  'engine/src/flutter/third_party/android_tools/trace_to_text': {
    'packages': [
      {
        # 25.0 downloads for both mac-amd64 and mac-arm64
        # 26.1 is not found with either platform
        # 27.1 is the latest release of perfetto
        'version': 'git_tag:v25.0',
        'package': 'perfetto/trace_to_text/${{platform}}'
      }
    ],
    'condition': 'download_android_deps',
    'dep_type': 'cipd'
  },

   'engine/src/flutter/third_party/android_tools/google-java-format': {
     'packages': [
       {
        'package': 'flutter/android/google-java-format',
        'version': 'version:1.7-1'
       }
     ],
     # We want to be able to format these as part of CI, and the CI step that
     # checks formatting runs without downloading the rest of the Android build
     # tooling. Therefore unlike all the other Android-related tools, we want to
     # download this every time.
     'dep_type': 'cipd',
   },

  'engine/src/flutter/third_party/android_tools': {
     'packages': [
       {
        'package': 'flutter/android/sdk/all/${{platform}}',
        'version': 'version:37v2'
       }
     ],
     'condition': 'download_android_deps',
     'dep_type': 'cipd',
   },

  'engine/src/flutter/third_party/android_embedding_dependencies': {
     'packages': [
       {
        'package': 'flutter/android/embedding_bundle',
        'version': 'last_updated:2025-10-15T09:53:03-0700'
       }
     ],
     'condition': 'download_android_deps',
     'dep_type': 'cipd',
   },

  'engine/src/flutter/third_party/java/openjdk': {
     'packages': [
       {
        'package': 'flutter/java/openjdk/${{platform}}',
        'version': 'version:25.0.2'
       }
     ],
     'condition': 'not (host_os == "linux" and host_cpu == "arm64")',
     # Always download the JDK since java is required for running the formatter.
     'dep_type': 'cipd',
   },

  'engine/src/flutter/third_party/gn': {
    'packages': [
      {
        'package': 'gn/gn/${{platform}}',
        'version': 'git_revision:81b24e01531ecf0eff12ec9359a555ec3944ec4e'
      },
    ],
    'dep_type': 'cipd',
  },
  'third_party/ninja': {
    'packages': [
      {
        'package': 'infra/3pp/tools/ninja/${{platform}}',
        'version': 'version:2@1.11.1.chromium.4',
      }
    ],
    'dep_type': 'cipd',
  },

  'engine/src/flutter/prebuilts/emsdk': {
   'url': Var('skia_git') + '/external/github.com/emscripten-core/emsdk.git' + '@' + '2514ec738de72cebbba7f4fdba0cf2fabcb779a5',
   'condition': 'download_emsdk',
  },

  # Clang on mac and linux are expected to typically be the same revision.
  # They are separated out so that the autoroller can more easily manage them.
  'engine/src/flutter/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',
  },

  'engine/src/flutter/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',
  },

  'engine/src/flutter/buildtools/linux-x64/clang': {
    'packages': [
      {
        'package': 'fuchsia/third_party/clang/linux-amd64',
        'version': Var('clang_version'),
      }
    ],
    'condition': 'host_os == "linux" or host_os == "mac"',
    'dep_type': 'cipd',
  },

  'engine/src/flutter/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',
  },

  'engine/src/flutter/buildtools/windows-x64/clang': {
    'packages': [
      {
        'package': 'fuchsia/third_party/clang/windows-amd64',
        'version': Var('clang_version'),
      }
    ],
    'condition': 'download_windows_deps',
    'dep_type': 'cipd',
  },

  # RBE binaries and configs.
  'engine/src/flutter/buildtools/linux-x64/reclient': {
    'packages': [
      {
        'package': 'infra/rbe/client/${{platform}}',
        'version': Var('reclient_version'),
      }
    ],
    'condition': 'use_rbe and host_os == "linux" and host_cpu == "x64"',
    'dep_type': 'cipd',
  },

  'engine/src/flutter/buildtools/mac-arm64/reclient': {
    'packages': [
      {
        'package': 'infra/rbe/client/${{platform}}',
        'version': Var('reclient_version'),
      }
    ],
    'condition': 'use_rbe and host_os == "mac" and host_cpu == "arm64"',
    'dep_type': 'cipd',
  },

  'engine/src/flutter/buildtools/mac-x64/reclient': {
    'packages': [
      {
        'package': 'infra/rbe/client/${{platform}}',
        'version': Var('reclient_version'),
      }
    ],
    'condition': 'use_rbe and host_os == "mac" and host_cpu == "x64"',
    'dep_type': 'cipd',
  },

  'engine/src/flutter/buildtools/windows-x64/reclient': {
    'packages': [
      {
        'package': 'infra/rbe/client/${{platform}}',
        'version': Var('reclient_version'),
      }
    ],
    'condition': 'use_rbe and download_windows_deps',
    'dep_type': 'cipd',
  },

  'engine/src/flutter/build/rbe': {
    'packages': [
      {
        'package': 'flutter_internal/rbe/reclient_cfgs',
        'version': 'Vk7WiSKwQdBHbCrZ9PtRl3po2WpRFQZSag9M6-sxF_0C',
      }
    ],
    'condition': 'use_rbe',
    'dep_type': 'cipd',
  },

  # gcloud
  'engine/src/flutter/buildtools/linux-x64/gcloud': {
    'packages': [
      {
        'package': 'infra/3pp/tools/gcloud/${{platform}}',
        'version': Var('gcloud_version'),
      }
    ],
    'condition': 'use_rbe and host_os == "linux" and host_cpu == "x64"',
    'dep_type': 'cipd',
  },

  'engine/src/flutter/buildtools/mac-arm64/gcloud': {
    'packages': [
      {
        'package': 'infra/3pp/tools/gcloud/${{platform}}',
        'version': Var('gcloud_version'),
      }
    ],
    'condition': 'use_rbe and host_os == "mac" and host_cpu == "arm64"',
    'dep_type': 'cipd',
  },

  # Get the SDK from https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core at the 'latest' tag
  # Get the toolchain from https://chrome-infra-packages.appspot.com/p/fuchsia/clang at the 'goma' tag
  'engine/src/third_party/fuchsia-sdk/sdk': {
     'packages': [
       {
        'package': 'fuchsia/sdk/core/linux-amd64',
        'version': 'QdgqP02_cYpRQQQNNuRjshiknJeDe5ZKXyqGq2YkqKkC'
       }
     ],
     'condition': 'download_fuchsia_deps and not download_fuchsia_sdk',
     'dep_type': 'cipd',
   },

  'engine/src/flutter/tools/fuchsia/test_scripts': {
     'packages': [
       {
        'package': 'chromium/fuchsia/test-scripts',
        'version': Var('fuchsia_test_scripts_version'),
       }
     ],
     'condition': 'download_fuchsia_deps',
     'dep_type': 'cipd',
   },

  'engine/src/flutter/tools/fuchsia/gn-sdk': {
     'packages': [
       {
        'package': 'chromium/fuchsia/gn-sdk',
        'version': Var('fuchsia_gn_sdk_version'),
       }
     ],
     'condition': 'download_fuchsia_deps',
     'dep_type': 'cipd',
   },

  'engine/src/flutter/third_party/google_fonts_for_unit_tests': {
      'packages': [
        {
          'package': 'flutter/flutter_font_fallbacks',
          'version': 'eafae0f49fbf9af7858049ad666b7223bdd7588162d8a687ec7870eb5952055d'
        }
      ],
      'dep_type': 'cipd',
  }
}

hooks = [
  {
    # Generate the Dart SDK's .dart_tool/package_confg.json file.
    'name': 'Generate .dart_tool/package_confg.json',
    'pattern': '.',
    'action': ['python3', 'engine/src/flutter/third_party/dart/tools/generate_package_config.py'],
  },
  {
    # Generate the sdk/version file.
    'name': 'Generate sdk/version',
    'pattern': '.',
    'action': ['python3', 'engine/src/flutter/third_party/dart/tools/generate_sdk_version_file.py'],
  },
  {
    # Update the Windows toolchain if necessary.
    'name': 'win_toolchain',
    'condition': 'download_windows_deps',
    'pattern': '.',
    'action': ['python3', 'engine/src/build/vs_toolchain.py', 'update'],
  },
  {
    'name': 'dia_dll',
    'pattern': '.',
    'condition': 'download_windows_deps',
    'action': [
      'python3',
      'engine/src/flutter/tools/dia_dll.py',
    ],
  },
  {
    'name': 'linux_sysroot_x64',
    'pattern': '.',
    'condition': 'download_linux_deps',
    'action': [
      'python3',
      'engine/src/build/linux/sysroot_scripts/install-sysroot.py',
      '--arch=x64'],
  },
  {
    'name': 'linux_sysroot_arm64',
    'pattern': '.',
    'condition': 'download_linux_deps',
    'action': [
      'python3',
      'engine/src/build/linux/sysroot_scripts/install-sysroot.py',
      '--arch=arm64'],
  },
  {
    'name': 'linux_sysroot_riscv64',
    'pattern': '.',
    'condition': 'download_linux_deps',
    'action': [
      'python3',
      'engine/src/build/linux/sysroot_scripts/install-sysroot.py',
      '--arch=riscv64'],
  },
  {
    'name': 'pub get --offline',
    'pattern': '.',
    'action': [
      'python3',
      'engine/src/flutter/tools/pub_get_offline.py',
    ]
  },
  {
    'name': 'Download Fuchsia SDK',
    'pattern': '.',
    'condition': 'download_fuchsia_deps and download_fuchsia_sdk',
    'action': [
      'python3',
      'engine/src/flutter/tools/download_fuchsia_sdk.py',
      '--fail-loudly',
      '--verbose',
      '--host-os',
      Var('host_os'),
      '--fuchsia-sdk-path',
      Var('fuchsia_sdk_path'),
    ]
  },
  {
    'name': 'Activate Emscripten SDK',
    'pattern': '.',
    'condition': 'download_emsdk',
    'action': [
      'python3',
      'engine/src/flutter/tools/activate_emsdk.py',
    ]
  },
  {
    'name': 'Setup githooks',
    'pattern': '.',
    'condition': 'setup_githooks',
    'action': [
      'python3',
      'engine/src/flutter/tools/githooks/setup.py',
    ]
  },
  {
    'name': 'Download Fuchsia system images',
    'pattern': '.',
    'condition': 'run_fuchsia_emu',
    'action': [
      'env',
      'DOWNLOAD_FUCHSIA_SDK={download_fuchsia_sdk}',
      'FUCHSIA_SDK_PATH={fuchsia_sdk_path}',
      'python3',
      'engine/src/flutter/tools/fuchsia/with_envs.py',
      'engine/src/flutter/tools/fuchsia/test_scripts/update_product_bundles.py',
      'terminal.x64,terminal.qemu-arm64',
    ]
  },
  # The following script checks if it is running in the LUCI environment,
  # and does nothing if so. This is because Xcode is not yet installed in CI
  # when this hook is run.
  {
    'name': 'Find the iOS and macOS SDKs',
    'pattern': '.',
    'condition': 'host_os == "mac"',
    'action': [
      'python3',
      'engine/src/build/mac/darwin_sdk.py',
      '--as-gclient-hook'
    ]
  },
  {
    'name': 'Generate Fuchsia GN build rules',
    'pattern': '.',
    'condition': 'download_fuchsia_deps',
    'action': [
      'python3',
      'engine/src/flutter/tools/fuchsia/with_envs.py',
      'engine/src/flutter/tools/fuchsia/test_scripts/gen_build_defs.py',
    ],
  },
]
