blob: c0d50317e85121f7667f91526c4b0ada8f029783 [file]
# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
use_relative_paths = True
git_dependencies = 'SYNC'
gclient_gn_args_file = 'build/config/gclient_args.gni'
gclient_gn_args = [
]
vars = {
'build_with_chromium': False,
'build_url': 'https://chromium.googlesource.com/chromium/src/build.git',
'build_revision': 'bc700b75bb3683073f473d045d65b68e63eeaf96',
'buildtools_url': 'https://chromium.googlesource.com/chromium/src/buildtools.git',
'buildtools_revision': '885ac5702f0f3dbba26cc494e8ac82ad19206710',
'depot_tools_url': 'https://chromium.googlesource.com/chromium/tools/depot_tools.git',
'depot_tools_revision': '006c1455f9ac26d03cafdf337003fdc3144dbff3',
'inspector_protocol_url': 'https://chromium.googlesource.com/deps/inspector_protocol',
'inspector_protocol_revision': 'e7943497823b2371b2b012986f36d5c9b94b8fc5',
# Keeping track of the last time we rolled the browser protocol files.
'chromium_browser_protocol_revision' : 'b00d6cf8da7aceb173db8721210cd810c03d2ce4',
'clang_format_url': 'https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git',
'clang_format_revision': '9f796802e5d633c96dbe97e0b6683d5e62594f9f',
# GN CIPD package version.
'gn_version': 'git_revision:ed7fee04cb30b96ed40ef188acfad5417349e399',
'cmake_version': 'version:2@3.21.3',
'llvm_url': 'https://chromium.googlesource.com/external/github.com/llvm/llvm-project/',
'llvm_revision': '3c51ea3619e488db19cd26840ed46d58cfc7062f',
'lldb_eval_url': 'https://chromium.googlesource.com/external/github.com/google/lldb-eval.git',
'lldb_eval_revision': 'e87123a7e639bf1d86f24c37079570fb7fa00b72',
# ninja CIPD package version.
# https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
'ninja_version': 'version:3@1.12.1.chromium.4',
# Chrome version used for tests. It should be regularly updated to
# match the Canary version listed here:
# https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json
# Note: This var is no longer referenced in the body of this DEPS file.
# However it is used by the roll script (scripts/deps/roll_deps.py) to ease
# version resolution. DO NOT REMOVE!
'chrome': '159.0.8141.0',
# 'magic' text to tell depot_tools that git submodules should be accepted but
# but parity with DEPS file is expected.
'SUBMODULE_MIGRATION': 'True',
# condition to allowlist deps for non-git-source processing.
'non_git_source': 'True',
# CPython 3 CIPD package version for Siso hermetic toolchain.
'cpython3_version': 'version:3@3.11.9.chromium.38',
# siso CIPD package version
'siso_version': 'git_revision:c508213533aa5cd425b69cb0f66e53522d77022d',
# Fetches the AI Evals testing data.
'checkout_devtools_ai_evals': False,
}
# 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 = [
'chromium.googlesource.com',
'chrome-infra-packages.appspot.com',
# TODO(b/337061377): Move into a separate allowed gcs bucket list.
'chromium-nodejs',
'webassembly',
]
deps = {
'test/ai_evals/eval_data': {
'packages': [
{
'package': 'experimental/finnur/chrome-devtools-evals',
'version': 'latest',
},
],
'dep_type': 'cipd',
'condition': 'checkout_devtools_ai_evals == True',
},
'third_party/clang-format/script': {
'url': Var('clang_format_url') + '@' + Var('clang_format_revision'),
'condition': 'build_with_chromium == False',
},
'third_party/cmake': {
'packages': [{
'package': 'infra/3pp/tools/cmake/${{platform}}',
'version': Var('cmake_version')
}],
'dep_type':
'cipd',
'condition': 'checkout_cxx_debugging_extension_deps == True',
},
'extensions/cxx_debugging/third_party/llvm/src': {
'url': Var('llvm_url') + '@' + Var('llvm_revision'),
'condition': 'checkout_cxx_debugging_extension_deps == True',
},
'extensions/cxx_debugging/third_party/lldb-eval/src': {
'url': Var('lldb_eval_url') + '@' + Var('lldb_eval_revision'),
'condition': 'checkout_cxx_debugging_extension_deps == True',
},
'buildtools': {
'url': Var('buildtools_url') + '@' + Var('buildtools_revision'),
'condition': 'build_with_chromium == False',
},
'buildtools/linux64': {
'packages': [
{
'package': 'gn/gn/linux-${{arch}}',
'version': Var('gn_version'),
}
],
'dep_type': 'cipd',
'condition': 'host_os == "linux" and build_with_chromium == False',
},
'buildtools/mac': {
'packages': [
{
'package': 'gn/gn/mac-${{arch}}',
'version': Var('gn_version'),
}
],
'dep_type': 'cipd',
'condition': 'host_os == "mac" and build_with_chromium == False',
},
'buildtools/win': {
'packages': [
{
'package': 'gn/gn/windows-amd64',
'version': Var('gn_version'),
}
],
'dep_type': 'cipd',
'condition': 'host_os == "win" and build_with_chromium == False',
},
'third_party/esbuild': {
'packages': [
{
'package': 'infra/3pp/tools/esbuild/${{platform}}',
'version': 'version:3@0.28.2.chromium.2',
}
],
'dep_type': 'cipd',
'condition': 'non_git_source',
},
# Pre-built emscripten-releases toolchain. Provides wasm-as and llvm-readobj
# for building the wasm test modules, and emscripten for the C/C++ debugging
# extension. Only `non_git_source`: devtools-frontend is in Chromium's
# recursedeps, so this one entry serves standalone and Chromium checkouts
# alike. To roll, update the emscripten-releases revision in all object
# names, together with their sha256sum, size_bytes and generation.
# The extension also needs the `setup_emscripten` hook below.
'third_party/emscripten-releases': {
'dep_type': 'gcs',
'bucket': 'webassembly',
'condition': 'non_git_source',
'objects': [
{
'object_name': 'emscripten-releases-builds/linux/ade9d780ff17c88d81aa13860361743e3c1e1396/wasm-binaries.tbz2',
'sha256sum': 'e2c43068fb1985592db42183a13f85bbd9518b3747746e0003d70c7d770a0b2f',
'size_bytes': 348308473,
'generation': 1655696981812700,
'output_file': 'wasm-binaries.tbz2',
'condition': 'host_os == "linux" and host_cpu == "x64"',
},
{
'object_name': 'emscripten-releases-builds/mac/ade9d780ff17c88d81aa13860361743e3c1e1396/wasm-binaries.tbz2',
'sha256sum': '567e9548f3fa7c1aa717821af4aaa7849a0f7217cb55eb7f66a06c898808fd96',
'size_bytes': 339345467,
'generation': 1655699997031998,
'output_file': 'wasm-binaries.tbz2',
'condition': 'host_os == "mac" and host_cpu != "arm64"',
},
{
'object_name': 'emscripten-releases-builds/mac/ade9d780ff17c88d81aa13860361743e3c1e1396/wasm-binaries-arm64.tbz2',
'sha256sum': 'df8319aba8bc0d0c40ebec3c8f45e507c2a51a57df24826d4cab6f6cd75017ac',
'size_bytes': 305105474,
'generation': 1655703107254645,
'output_file': 'wasm-binaries-arm64.tbz2',
'condition': 'host_os == "mac" and host_cpu == "arm64"',
},
{
'object_name': 'emscripten-releases-builds/win/ade9d780ff17c88d81aa13860361743e3c1e1396/wasm-binaries.zip',
'sha256sum': '6bfec6bf6a01e483a57e91f7223340a425f6ff711cbd32a08ed78002810d7882',
'size_bytes': 412761468,
'generation': 1655697148069102,
'output_file': 'wasm-binaries.zip',
'condition': 'host_os == "win"',
},
],
},
# Always download Linux x64 package regardless of host OS for RBE workers.
'third_party/cpython3/linux-amd64': {
'packages': [
{
'package': 'infra/3pp/tools/cpython3/linux-amd64',
'version': Var('cpython3_version'),
},
],
'condition': 'build_with_chromium == False and non_git_source',
'dep_type': 'cipd',
},
# Host platform package.
'third_party/cpython3/host': {
'packages': [
{
'package': 'infra/3pp/tools/cpython3/${{platform}}',
'version': Var('cpython3_version'),
},
],
'condition': 'build_with_chromium == False and non_git_source',
'dep_type': 'cipd',
},
'build': {
'url': Var('build_url') + '@' + Var('build_revision'),
'condition': 'build_with_chromium == False',
},
'third_party/siso/cipd': {
'packages': [
{
'package': 'build/siso/${{platform}}',
'version': Var('siso_version'),
}
],
'dep_type': 'cipd',
'condition': 'not build_with_chromium and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"',
},
'third_party/depot_tools': {
'url': Var('depot_tools_url') + '@' + Var('depot_tools_revision'),
'condition': 'build_with_chromium == False',
},
'third_party/inspector_protocol': {
'url': Var('inspector_protocol_url') + '@' + Var('inspector_protocol_revision'),
'condition': 'build_with_chromium == False',
},
'third_party/ninja': {
'packages': [
{
'package': 'infra/3pp/tools/ninja/${{platform}}',
'version': Var('ninja_version'),
}
],
'dep_type': 'cipd',
'condition': 'build_with_chromium == False',
},
# Pull down Node binaries for WebUI toolchain.
'third_party/node/linux': {
'dep_type': 'gcs',
'condition': 'host_os == "linux" and build_with_chromium == False and non_git_source',
'bucket': 'chromium-nodejs',
'objects': [
{
'object_name': '744e6926ffdd4a4fb2080ae2b9ce4575490261e7',
'sha256sum': 'bdea62a6857735d62165ec97242d79a693564c72d551890c4d009d2355abf14c',
'size_bytes': 53566970,
'generation': 1767604834866657,
'output_file': 'node-linux-x64.tar.gz',
},
],
},
'third_party/node/mac': {
'dep_type': 'gcs',
'condition': 'host_os == "mac" and build_with_chromium == False and host_cpu != "arm64" and non_git_source',
'bucket': 'chromium-nodejs',
'objects': [
{
'object_name': '9202c05a8e7c67cb2bb2fec1e50fb6188d26f281',
'sha256sum': 'a25cd3ef35d8b4b5a59498a5a62b5b12cc271dc420ee809abaa76110d12c156e',
'size_bytes': 49563652,
'generation': 1767604826991919,
'output_file': 'node-darwin-x64.tar.gz',
},
],
},
'third_party/node/mac_arm64': {
'dep_type': 'gcs',
'condition': 'host_os == "mac" and build_with_chromium == False and host_cpu == "arm64" and non_git_source',
'bucket': 'chromium-nodejs',
'objects': [
{
'object_name': '6661e9b9bd7df6b45daf506c82d06d303597cb27',
'sha256sum': 'b1be502d1635330ebf51d85f8d32a0d3dd92b35c6700def56ae6f903906ea825',
'size_bytes': 48369082,
'generation': 1767604830942392,
'output_file': 'node-darwin-arm64.tar.gz',
},
],
},
# npm packages for the build and test toolchain, extracted into
# node_modules/ from a deterministic archive produced by
# scripts/deps/manage_node_deps.py (see docs/cookbook/dependencies.md).
# Only `non_git_source`: devtools-frontend is in Chromium's recursedeps, so
# this one entry serves standalone and Chromium checkouts alike.
'node_modules': {
'dep_type': 'gcs',
'bucket': 'chromium-nodejs',
'condition': 'non_git_source',
'objects': [
{
'object_name': 'devtools-frontend/c67f72622077f8d20a0d641e63f95772120577b846ace3e3d434db9f13188350',
'sha256sum': 'c67f72622077f8d20a0d641e63f95772120577b846ace3e3d434db9f13188350',
'size_bytes': 25471299,
'generation': 1792758257766269,
'output_file': 'node_modules.tar.gz',
},
],
},
"scripts/ai_assistance/suite/outputs": {
"dep_type": "gcs",
'condition': 'checkout_ai_evals == True',
"bucket": "chrome-devtools-ai-evals",
"objects": [
{
"object_name": "2c91e963a2a3cd91e1c693437244faf1a134b0517894c34886e203beb7794400",
"sha256sum": "a76bb05985291000c8c8e8f4c15339e789a4440e7ecf6f2152f6f5dcfc94b4a5",
"size_bytes": 33421,
"generation": 1787920118458869
}
]
},
'third_party/chrome/chrome-win': {
'dep_type': 'gcs',
'condition': 'host_os == "win" and build_with_chromium == False and non_git_source',
'bucket': 'chrome-for-testing-public',
'objects': [
{
'object_name': '159.0.8141.0/win64/chrome-win64.zip',
'sha256sum': '929fc5dd4a950717932fcd7abd9e00515c8078922e80dc9bfbd2c622df682357',
'size_bytes': 215567266,
'generation': 1793729487338644,
},
],
},
'third_party/chrome/chrome-mac-x64': {
'dep_type': 'gcs',
'condition': 'host_os == "mac" and build_with_chromium == False and host_cpu != "arm64" and non_git_source',
'bucket': 'chrome-for-testing-public',
'objects': [
{
'object_name': '159.0.8141.0/mac-x64/chrome-mac-x64.zip',
'sha256sum': '085599c2ae79ff9b9d1efea75a04c44e98bfc44420968a87d589bf8dcec88b90',
'size_bytes': 214720480,
'generation': 1793733990165756,
},
],
},
'third_party/chrome/chrome-mac-arm64': {
'dep_type': 'gcs',
'condition': 'host_os == "mac" and build_with_chromium == False and host_cpu == "arm64" and non_git_source',
'bucket': 'chrome-for-testing-public',
'objects': [
{
'object_name': '159.0.8141.0/mac-arm64/chrome-mac-arm64.zip',
'sha256sum': '1f45606c80acf14445accc1804adad80778245d18c802d2c761a5a68859bf6f7',
'size_bytes': 203125414,
'generation': 1793725331212666,
},
],
},
'third_party/chrome/chrome-linux': {
'dep_type': 'gcs',
'condition': 'host_os == "linux" and build_with_chromium == False and non_git_source',
'bucket': 'chrome-for-testing-public',
'objects': [
{
'object_name': '159.0.8141.0/linux64/chrome-linux64.zip',
'sha256sum': '0c277b01bc8f17e5adc4a87774df7288cd0738b6b7813555151df20a480a9618',
'size_bytes': 210155447,
'generation': 1793724867955653,
},
],
},
'third_party/node/win': {
'dep_type': 'gcs',
'condition': 'host_os == "win" and build_with_chromium == False and non_git_source',
'bucket': 'chromium-nodejs',
'objects': [
{
'object_name': '2f710ced2db2beb7c3debf6097196c35ee5adb74',
'sha256sum': '2ffe3acc0458fdde999f50d11809bbe7c9b7ef204dcf17094e325d26ace101d8',
'size_bytes': 89935872,
'generation': 1767604839180114,
'output_file': 'node.exe',
},
],
},
'third_party/typescript/linux-amd64/src': {
'dep_type': 'cipd',
'condition': 'host_os == "linux" and build_with_chromium == False and non_git_source',
'packages': [
{
'package': 'chromium/third_party/typescript/linux-amd64',
'version': 'version:2@7.0.2',
},
],
},
'third_party/typescript/mac-amd64/src': {
'dep_type': 'cipd',
'condition': 'host_os == "mac" and build_with_chromium == False and host_cpu != "arm64" and non_git_source',
'packages': [
{
'package': 'chromium/third_party/typescript/mac-amd64',
'version': 'version:2@7.0.2',
},
],
},
'third_party/typescript/mac-arm64/src': {
'dep_type': 'cipd',
'condition': 'host_os == "mac" and build_with_chromium == False and host_cpu == "arm64" and non_git_source',
'packages': [
{
'package': 'chromium/third_party/typescript/mac-arm64',
'version': 'version:2@7.0.2',
},
],
},
'third_party/typescript/windows-amd64/src': {
'dep_type': 'cipd',
'condition': 'host_os == "win" and build_with_chromium == False and non_git_source',
'packages': [
{
'package': 'chromium/third_party/typescript/windows-amd64',
'version': 'version:2@7.0.2',
},
],
},
}
hooks = [
{
# gclient re-extracts the `node_modules` archive based on its stamp
# files, not on the extracted tree. Checking out a revision from before
# node_modules left git and coming back leaves a valid stamp next to an
# empty directory; this re-extracts the archive gclient keeps there.
# Unconditional so that it also runs in Chromium checkouts (recursedeps);
# it is a no-op wherever gclient did not extract the archive (Cog).
'name': 'ensure_node_modules',
'pattern': '.',
'action': ['python3', 'scripts/deps/ensure_node_modules.py'],
},
{
# Ensure that the DEPS'd "depot_tools" has its self-update capability
# disabled.
'name': 'disable_depot_tools_selfupdate',
'pattern': '.',
'condition': 'build_with_chromium == False',
'action': [
'vpython3',
'third_party/depot_tools/update_depot_tools_toggle.py',
'--disable',
],
},
{
# Update LASTCHANGE for build script timestamps
'name': 'lastchange',
'condition': 'build_with_chromium == False',
'pattern': '.',
'action': ['vpython3', 'build/util/lastchange.py',
'-o', 'build/util/LASTCHANGE'],
},
{
# Adds the emscripten config file and the ld.lld linker name to the
# emscripten-releases toolchain from GCS, which the C/C++ debugging
# extension build needs. Both live in the GCS dependency directory,
# which gclient replaces as a whole on every emscripten roll.
'name': 'setup_emscripten',
'pattern': '.',
'condition': 'checkout_cxx_debugging_extension_deps == True',
'action': ['python3', 'scripts/deps/setup_emscripten.py', 'third_party/emscripten-releases'],
},
{
'name': 'VS Code settings',
'pattern': '.',
'condition': 'build_with_chromium == False',
'action': [
'vpython3',
'third_party/node/node.py',
'--output',
'scripts/deps/sync-vscode-settings.mjs'
]
},
{
'name': 'configure_siso',
'pattern': '.',
'condition': 'build_with_chromium == False',
'action': ['python3',
'build/config/siso/configure_siso.py',
'--rbe_instance',
'projects/rbe-chrome-untrusted/instances/default_instance',
],
},
{
'name': 'fix_cft_permissions',
'pattern': '.',
'condition': 'build_with_chromium == False',
'action': [ 'vpython3', 'scripts/deps/fix_cft_permissions.py'],
},
{
'name': 'setup_devtools_ai_evals',
'pattern': '.',
'condition': 'checkout_devtools_ai_evals == True',
'action': ['vpython3', 'scripts/deps/setup_devtools_ai_evals.py'],
},
]
recursedeps = [
'build',
'buildtools',
]