Source code

Revision control

Copy as Markdown

Other Tools

# This file contains dependencies for WebRTC.
gclient_gn_args_file = 'src/build/config/gclient_args.gni'
gclient_gn_args = [
'generate_location_tags',
]
vars = {
# By default, we should check out everything needed to run on the main
# chromium waterfalls. More info at: crbug.com/570091.
'checkout_configuration': 'default',
'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"',
'chromium_revision': '2fda948e24735acc22b12d891af252ac7299d010',
# 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 clangd into the same bin/ directory as our clang binary.
'checkout_clangd': False,
# Fetch clang-tidy into the same bin/ directory as our clang binary.
'checkout_clang_tidy': False,
# Keep the Chromium default of generating location tags.
'generate_location_tags': True,
# ResultDB version
'result_adapter_revision': 'git_revision:5fb3ca203842fd691cab615453f8e5a14302a1d8',
# By default, download the fuchsia sdk from the public sdk directory.
'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/core/',
'fuchsia_version': 'version:29.20250730.5.1',
# By default, download the fuchsia images from the fuchsia GCS bucket.
'fuchsia_images_bucket': 'fuchsia',
'checkout_fuchsia': False,
# 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 can override this with additional images.
'checkout_fuchsia_boot_images': "terminal.x64",
'checkout_fuchsia_product_bundles': '"{checkout_fuchsia_boot_images}" != ""',
# Fetch configuration files required for the 'use_remoteexec' gn arg
'download_remoteexec_cfg': False,
# RBE instance to use for running remote builds
'rbe_instance': 'projects/rbe-webrtc-developer/instances/default_instance',
# reclient CIPD package version
'reclient_version': 're_client_version:0.179.0.28341fc7-gomaip',
# siso CIPD package version.
'siso_version': 'git_revision:e5fa67c5a456c1ab932f440ddfb195a8a33c235b',
# ninja CIPD package.
'ninja_package': 'infra/3pp/tools/ninja/',
# ninja CIPD package version
'ninja_version': 'version:3@1.12.1.chromium.4',
# condition to allowlist deps for non-git-source processing.
'non_git_source': 'True',
# This can be overridden, e.g. with custom_vars, to build clang from HEAD
# instead of downloading the prebuilt pinned revision.
'llvm_force_head_revision': False,
}
deps = {
'src/build':
'src/buildtools':
# Gradle 6.6.1. Used for testing Android Studio project generation for WebRTC.
'src/examples/androidtests/third_party/gradle': {
'condition': 'checkout_android',
},
'src/ios': {
'condition': 'checkout_ios',
},
'src/testing':
'src/third_party':
'src/buildtools/linux64': {
'packages': [
{
'package': 'gn/gn/linux-${{arch}}',
'version': 'git_revision:3a4f5cea73eca32e9586e8145f97b04cbd4a1aee',
}
],
'dep_type': 'cipd',
'condition': 'checkout_linux',
},
'src/buildtools/mac': {
'packages': [
{
'package': 'gn/gn/mac-${{arch}}',
'version': 'git_revision:3a4f5cea73eca32e9586e8145f97b04cbd4a1aee',
}
],
'dep_type': 'cipd',
'condition': 'checkout_mac',
},
'src/buildtools/win': {
'packages': [
{
'package': 'gn/gn/windows-amd64',
'version': 'git_revision:3a4f5cea73eca32e9586e8145f97b04cbd4a1aee',
}
],
'dep_type': 'cipd',
'condition': 'checkout_win',
},
'src/buildtools/reclient': {
'packages': [
{
'package': 'infra/rbe/client/${{platform}}',
'version': Var('reclient_version'),
}
],
'dep_type': 'cipd',
# Reclient doesn't have linux-arm64 package.
'condition': 'not (host_os == "linux" and host_cpu == "arm64")',
},
'src/third_party/llvm-build/Release+Asserts': {
'dep_type': 'gcs',
'bucket': 'chromium-browser-clang',
'condition': 'not llvm_force_head_revision',
'objects': [
{
# The Android libclang_rt.builtins libraries are currently only included in the Linux clang package.
'object_name': 'Linux_x64/clang-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '73e573aa1824bf1cd8ac8815304e41c174938ab05362e316d9c3d8d3ae8f4d0b',
'size_bytes': 54836700,
'generation': 1753711033480152,
'condition': '(host_os == "linux" or checkout_android) and non_git_source',
},
{
'object_name': 'Linux_x64/clang-tidy-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '7cd6261a5ffe1989bcaed190b6911d8bb1f296b1dfbbc92b5eda2262d2d2d604',
'size_bytes': 13658364,
'generation': 1753711033512134,
'condition': 'host_os == "linux" and checkout_clang_tidy and non_git_source',
},
{
'object_name': 'Linux_x64/clangd-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '19c844ed67e3cc7054fd2af4793f5828fa8bd4a712fb797e90cb814fc81d406e',
'size_bytes': 13870348,
'generation': 1753711033515636,
'condition': 'host_os == "linux" and checkout_clangd and non_git_source',
},
{
'object_name': 'Linux_x64/llvm-code-coverage-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '78dbed2a5e4e9747c18f5e4876070c22e126bf6990acc66effcb5c981a30c346',
'size_bytes': 2313988,
'generation': 1753711033567913,
'condition': 'host_os == "linux" and checkout_clang_coverage_tools and non_git_source',
},
{
'object_name': 'Linux_x64/llvmobjdump-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '4e34eac7c8fc81440df3524f28b7140276710996241acdf8515592ff73586f87',
'size_bytes': 5675412,
'generation': 1753711033518775,
'condition': '((checkout_linux or checkout_mac or checkout_android) and host_os == "linux") and non_git_source',
},
{
'object_name': 'Mac/clang-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': 'f585d02104e485eb443a26555a779a0444bf30ccc3600d34ab1f35d09a500598',
'size_bytes': 52411164,
'generation': 1753711035252100,
'condition': 'host_os == "mac" and host_cpu == "x64"',
},
{
'object_name': 'Mac/clang-mac-runtime-library-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '9816d228b6d30ba0fe469be5df19199fcf1851b39872add9ba3be5a8e350830a',
'size_bytes': 996000,
'generation': 1753711043142947,
'condition': 'checkout_mac and not host_os == "mac"',
},
{
'object_name': 'Mac/clang-tidy-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': 'e78bba5afc0c824d17c096b0e4b4c52145433bbb43a7f3b8c3264251b9f866d1',
'size_bytes': 13746260,
'generation': 1753711035308001,
'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_tidy',
},
{
'object_name': 'Mac/clangd-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '26dba5d090c218342c9ae92dc771ae5ac46953f427752c40995c1c5174802da7',
'size_bytes': 15150168,
'generation': 1753711035309045,
'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clangd',
},
{
'object_name': 'Mac/llvm-code-coverage-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '217fccb5c021908d3972f32f40a9631fbd5cac9d2bee3fd973aef88b2f6a251e',
'size_bytes': 2282228,
'generation': 1753711035430925,
'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_coverage_tools',
},
{
'object_name': 'Mac/llvmobjdump-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '4eae5f9ad4fba33dea45815fd965258f4649cf8e0794b6c431ce166a966cb29d',
'size_bytes': 5483720,
'generation': 1753711035319601,
'condition': 'host_os == "mac" and host_cpu == "x64"',
},
{
'object_name': 'Mac_arm64/clang-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '17275ca988de014adc269f8fa694f501cecd6c25c0494fc45582fc4e3d258bed',
'size_bytes': 44345732,
'generation': 1753711044909340,
'condition': 'host_os == "mac" and host_cpu == "arm64"',
},
{
'object_name': 'Mac_arm64/clang-tidy-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '387eb3412e41a17c4e40e8fe3eeda65806a78bba6bb5799ff3ccce6ee499bb2d',
'size_bytes': 11877428,
'generation': 1753711044929125,
'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_tidy',
},
{
'object_name': 'Mac_arm64/clangd-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '21893beaab322a2f04a3f07fdab1fe6219ca04d6151d621cbcf445214f213c23',
'size_bytes': 12132752,
'generation': 1753711044937334,
'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clangd',
},
{
'object_name': 'Mac_arm64/llvm-code-coverage-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '33603b2ac2577042d0cb8ed050dc5c7c5894984cf85933003e87fd3eb854bb7b',
'size_bytes': 1988508,
'generation': 1753711045041769,
'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_coverage_tools',
},
{
'object_name': 'Mac_arm64/llvmobjdump-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '26c961fa85d76f5f2fcdfd80980b4a0ca4c394307cf78e65888d061e29ae9b0b',
'size_bytes': 5315616,
'generation': 1753711044929262,
'condition': 'host_os == "mac" and host_cpu == "arm64"',
},
{
'object_name': 'Win/clang-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': 'ce28d6045da4a2d3e909a3b272e973ecab3360452780e501b2110b6fd51be899',
'size_bytes': 47389532,
'generation': 1753711055091539,
'condition': 'host_os == "win"',
},
{
'object_name': 'Win/clang-tidy-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '1380577341962e45d86ace7791bb327a8fb0f7854b31cb22271a79742df19921',
'size_bytes': 13484452,
'generation': 1753711055103864,
'condition': 'host_os == "win" and checkout_clang_tidy',
},
{
'object_name': 'Win/clang-win-runtime-library-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': 'ea7a3e86fbfa94eef0fa2560206cf596876cf96145be2d03bdf2af7f1a23198e',
'size_bytes': 2506736,
'generation': 1753711063058491,
'condition': 'checkout_win and not host_os == "win"',
},
{
'object_name': 'Win/clangd-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': 'fa919c060a1369d069a4f7b656a89f89393c7e08cfa96fd5bc85cb3208258ddf',
'size_bytes': 13911060,
'generation': 1753711055091772,
'condition': 'host_os == "win" and checkout_clangd',
},
{
'object_name': 'Win/llvm-code-coverage-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': '393704c1adb6b3b1202b46144ad7d081eb79f330700a4d109269722d680d52de',
'size_bytes': 2383152,
'generation': 1753711055387102,
'condition': 'host_os == "win" and checkout_clang_coverage_tools',
},
{
'object_name': 'Win/llvmobjdump-llvmorg-21-init-16348-gbd809ffb-14.tar.xz',
'sha256sum': 'd1a654f0342bad3658ed9fab7a91a7726c6aa0af44a6e6c33da96ddf3602ece4',
'size_bytes': 5649720,
'generation': 1753711055166454,
'condition': '(checkout_linux or checkout_mac or checkout_android) and host_os == "win"',
},
]
},
# Update prebuilt Rust toolchain.
'src/third_party/rust-toolchain': {
'dep_type': 'gcs',
'bucket': 'chromium-browser-clang',
'objects': [
{
'object_name': 'Linux_x64/rust-toolchain-22be76b7e259f27bf3e55eb931f354cd8b69d55f-3-llvmorg-21-init-16348-gbd809ffb.tar.xz',
'sha256sum': '5f8e9ad847e5bf586e0de1bb563c9a49e05ad36edfad5037900d7510004fc577',
'size_bytes': 138573136,
'generation': 1750840933611077,
'condition': 'host_os == "linux" and non_git_source',
},
{
'object_name': 'Mac/rust-toolchain-22be76b7e259f27bf3e55eb931f354cd8b69d55f-3-llvmorg-21-init-16348-gbd809ffb.tar.xz',
'sha256sum': '357db812ca0a518ef0fc4394ddc859d68f23384931294412b7424bb3aabb3c09',
'size_bytes': 132392604,
'generation': 1750840935469331,
'condition': 'host_os == "mac" and host_cpu == "x64"',
},
{
'object_name': 'Mac_arm64/rust-toolchain-22be76b7e259f27bf3e55eb931f354cd8b69d55f-3-llvmorg-21-init-16348-gbd809ffb.tar.xz',
'sha256sum': 'd3cb60c6388e86d3d1a0c46c539f1ea0ed1ff48cf907dc21b2cb5ff441b23c03',
'size_bytes': 120354192,
'generation': 1750840937280735,
'condition': 'host_os == "mac" and host_cpu == "arm64"',
},
{
'object_name': 'Win/rust-toolchain-22be76b7e259f27bf3e55eb931f354cd8b69d55f-3-llvmorg-21-init-16348-gbd809ffb.tar.xz',
'sha256sum': '7e804f3a8bef4c8ca32d3368ca7564e5c12b684899453d9a522bdd05b1f1df7b',
'size_bytes': 195000356,
'generation': 1750840939064273,
'condition': 'host_os == "win"',
},
],
},
'src/third_party/clang-format/script':
'src/third_party/compiler-rt/src':
'src/third_party/libc++/src':
'src/third_party/libc++abi/src':
'src/third_party/llvm-libc/src':
'src/third_party/libunwind/src':
'src/third_party/test_fonts/test_fonts': {
'dep_type': 'gcs',
'condition': 'non_git_source',
'bucket': 'chromium-fonts',
'objects': [
{
'object_name': 'a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969',
'sha256sum': 'a28b222b79851716f8358d2800157d9ffe117b3545031ae51f69b7e1e1b9a969',
'size_bytes': 33233004,
'generation': 1746454415712520,
},
],
},
'src/third_party/ninja': {
'packages': [
{
'package': Var('ninja_package') + '${{platform}}',
'version': Var('ninja_version'),
}
],
'condition': 'non_git_source',
'dep_type': 'cipd',
},
'src/third_party/siso/cipd': {
'packages': [
{
'package': 'infra/build/siso/${{platform}}',
'version': Var('siso_version'),
}
],
'condition': 'non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_system_sdk/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_system_sdk/public',
'version': 'Pfb3HDUW_uRir_VVTCYkGhf6bnPPF55NUJO2WXOxIe0C',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/tools/resultdb': {
'packages': [
{
'package': 'infra/tools/result_adapter/${{platform}}',
'version': Var('result_adapter_revision'),
},
],
'dep_type': 'cipd',
},
'src/third_party/android_build_tools/aapt2/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/aapt2',
'version': '2Tff49a5dYTM5YvxxqyOsTQ9k8nOqM4ayydbCuKoxIwC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/android_build_tools/bundletool/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/bundletool',
'version': 'zV93G9_1s5h6x7c2qdcibr0uuQ_5Q2QgcxhkUs9-tOsC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/android_build_tools/dagger_compiler/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/dagger_compiler',
'version': 'AC0DoTEXQf40KFt7hyCNSEJPrT9Rprw9zsZxNKdw7BQC',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_build_tools/error_prone/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/error_prone',
'version': '56Xo0VEDkKxzOr5L7pafI6SaIY2S7wnOOcgy4CNSANEC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/android_build_tools/error_prone_javac/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/error_prone_javac',
'version': '7EcHxlEXEaLRWEyHIAxf0ouPjkmN1Od6jkutuo0sfBIC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/android_build_tools/lint/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/lint',
'version': 'AGywP4kNoPZjZa3fVdf1g2cKgEPkXnVFRxhlFjroXJcC',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/aosp_dalvik/cipd': {
'packages': [
{
'package': 'chromium/third_party/aosp_dalvik/linux-amd64',
'version': 'version:2@13.0.0_r24.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/boringssl/src':
'src/third_party/breakpad/breakpad':
'src/third_party/catapult':
'src/third_party/ced/src': {
},
'src/third_party/colorama/src':
'src/third_party/cpu_features/src': {
'condition': 'checkout_android',
},
'src/third_party/crc32c/src':
'src/third_party/depot_tools':
'src/third_party/ffmpeg':
'src/third_party/flatbuffers/src':
'src/third_party/grpc/src': {
},
# Used for embedded builds. CrOS & Linux use the system version.
'src/third_party/fontconfig/src': {
'condition': 'checkout_linux',
},
'src/third_party/freetype/src':
'src/third_party/harfbuzz-ng/src':
'src/third_party/google_benchmark/src': {
},
# WebRTC-only dependency (not present in Chromium).
'src/third_party/gtest-parallel':
'src/third_party/google-truth/src': {
'condition': 'checkout_android',
},
'src/third_party/googletest/src':
'src/third_party/icu': {
},
'src/third_party/jdk/current': {
'packages': [
{
'package': 'chromium/third_party/jdk/linux-amd64',
'version': '2iiuF-nKDH3moTImx2op4WTRetbfhzKoZhH7Xo44zGsC',
},
],
# Needed on Linux for use on chromium_presubmit (for checkstyle).
'condition': '(checkout_android or checkout_linux) and non_git_source',
'dep_type': 'cipd',
},
# Deprecated - only use for tools which are broken real JDK.
# Not used by WebRTC. Added for compatibility with Chromium.
'src/third_party/jdk11': {
'packages': [
{
'package': 'chromium/third_party/jdk',
# Do not update this hash - any newer hash will point to JDK17+.
'version': 'egbcSHbmF1XZQbKxp_PQiGLFWlQK65krTGqQE-Bj4j8C',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/jsoncpp/source':
'src/third_party/junit/src': {
'condition': 'checkout_android',
},
'src/third_party/kotlin_stdlib/cipd': {
'packages': [
{
'package': 'chromium/third_party/kotlin_stdlib',
'version': 'jHhaILmhjHo4cYTvCdIRMwWPOAGSwjhEtrMxwREj52gC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/kotlinc/current': {
'packages': [
{
'package': 'chromium/third_party/kotlinc',
'version': 'clr2_okgxf1Zih4H2dIOKUWGJhrBo7fj3ZZ6nKV0dJIC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/libFuzzer/src':
'src/third_party/fuzztest/src':
'src/third_party/libjpeg_turbo':
'src/third_party/libsrtp':
'src/third_party/dav1d/libdav1d':
'src/third_party/libaom/source/libaom':
'src/third_party/libunwindstack': {
'condition': 'checkout_android',
},
'src/third_party/perfetto':
Var('chromium_git') + '/external/github.com/google/perfetto.git' + '@' + '0c893ed6bf6b42e3fee58daf3380d301c72550ed',
'src/third_party/protobuf-javascript/src':
Var('chromium_git') + '/external/github.com/protocolbuffers/protobuf-javascript' + '@' + '28bf5df73ef2f345a936d9cc95d64ba8ed426a53',
'src/third_party/libvpx/source/libvpx':
'src/third_party/libyuv':
'src/third_party/lss': {
'condition': 'checkout_android or checkout_linux',
},
'src/third_party/mockito/src': {
'condition': 'checkout_android',
},
'src/third_party/instrumented_libs': {
'url': Var('chromium_git') + '/chromium/third_party/instrumented_libraries.git' + '@' + '69015643b3f68dbd438c010439c59adc52cac808',
'condition': 'checkout_instrumented_libraries',
},
# Used by boringssl.
'src/third_party/nasm': {
},
'src/third_party/openh264/src':
'src/third_party/re2/src':
'src/third_party/r8/cipd': {
'packages': [
{
'package': 'chromium/third_party/r8',
'version': 'qD5apdNjxRv3dBblf27nEZYf7r_pbLEgfN7hWyXvP_UC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
# This duplication is intentional, so we avoid updating the r8.jar used by
# dexing unless necessary, since each update invalidates all incremental
# dexing and unnecessarily slows down all bots.
'src/third_party/r8/d8/cipd': {
'packages': [
{
'package': 'chromium/third_party/r8',
'version': 'qD5apdNjxRv3dBblf27nEZYf7r_pbLEgfN7hWyXvP_UC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/requests/src': {
'condition': 'checkout_android',
},
'src/tools':
'src/third_party/espresso': {
'packages': [
{
'package': 'chromium/third_party/espresso',
'version': '5LoBT0j383h_4dXbnap7gnNQMtMjpbMJD1JaGIYNj-IC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/hamcrest/cipd': {
'packages': [
{
'package': 'chromium/third_party/hamcrest',
'version': 'dBioOAmFJjqAr_DY7dipbXdVfAxUQwjOBNibMPtX8lQC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/android_toolchain/ndk': {
'packages': [
{
'package': 'chromium/third_party/android_toolchain/android_toolchain',
'version': 'KXOia11cm9lVdUdPlbGLu8sCz6Y4ey_HV2s8_8qeqhgC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/androidx/cipd': {
'packages': [
{
'package': 'chromium/third_party/androidx',
'version': 'IG08WxVoI4_gwNrbpXqXXmytPWFopEI1x0EaFC1KosAC',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_build_tools/manifest_merger/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/manifest_merger',
'version': 'K-0K2jznbc6LGEnKhT8NliSShwC43TBuVFZ6gRjOuxgC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/android_sdk/public': {
'packages': [
{
'package': 'chromium/third_party/android_sdk/public/build-tools/36.0.0',
'version': 'y3EsZLg4bxPmpW0oYsAHylywNyMnIwPS3kh1VbQLAFAC',
},
{
'package': 'chromium/third_party/android_sdk/public/emulator',
'version': '9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC',
},
{
'package': 'chromium/third_party/android_sdk/public/platform-tools',
'version': 'qTD9QdBlBf3dyHsN1lJ0RH6AhHxR42Hmg2Ih-Vj4zIEC'
},
{
'package': 'chromium/third_party/android_sdk/public/platforms/android-36',
'version': '_YHemUrK49JrE7Mctdf5DDNOHu1VKBx_PTcWnZ-cbOAC',
},
{
'package': 'chromium/third_party/android_sdk/public/cmdline-tools',
'version': 'gekOVsZjseS1w9BXAT3FsoW__ByGDJYS9DgqesiwKYoC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/icu4j/cipd': {
'packages': [
{
'package': 'chromium/third_party/icu4j',
'version': '8dV7WRVX0tTaNNqkLEnCA_dMofr2MJXFK400E7gOFygC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/robolectric/cipd': {
'packages': [
{
'package': 'chromium/third_party/robolectric',
'version': 'G3VkWqTv1YWDvC6zCrL34iQREzrzdBmSL4GMboAIiAEC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/sqlite4java/cipd': {
'packages': [
{
'package': 'chromium/third_party/sqlite4java',
'version': 'LofjKH9dgXIAJhRYCPQlMFywSwxYimrfDeBmaHc-Z5EC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/turbine/cipd': {
'packages': [
{
'package': 'chromium/third_party/turbine',
'version': 'TkTaFqF4Bs-JmFtxFV_Nfh4u5jh_401ZQsLhC7vIEqQC',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/zstd/src': {
'url': Var('chromium_git') + '/external/github.com/facebook/zstd.git' + '@' + 'f9938c217da17ec3e9dcd2a2d99c5cf39536aeb9',
'condition': 'checkout_android',
},
'src/tools/luci-go': {
'packages': [
{
'package': 'infra/tools/luci/cas/${{platform}}',
'version': 'git_revision:69966f1a4984c4ade24b8e2e1af0bbc51b64d3c0',
},
{
'package': 'infra/tools/luci/isolate/${{platform}}',
'version': 'git_revision:69966f1a4984c4ade24b8e2e1af0bbc51b64d3c0',
},
{
'package': 'infra/tools/luci/swarming/${{platform}}',
'version': 'git_revision:69966f1a4984c4ade24b8e2e1af0bbc51b64d3c0',
}
],
'dep_type': 'cipd',
},
'src/third_party/pipewire/linux-amd64': {
'packages': [
{
'package': 'chromium/third_party/pipewire/linux-amd64',
'version': 'BaVKmAmwpjdS6O0pnjSaMNSKhO1nmk5mRnyPVAJ2-HEC',
},
{
'package': 'chromium/third_party/pipewire-media-session/linux-amd64',
'version': 'Y6wUeITvAA0QD1vt8_a7eQdzbp0gkI1B02qfZUMJdowC',
},
],
'condition': 'checkout_linux',
'dep_type': 'cipd',
},
'src/third_party/android_deps/autorolled/cipd': {
'packages': [
{
'package': 'chromium/third_party/android_deps/autorolled',
'version': 'RcN7kx5OuQtBLrhCRBTO9NABzT2sjw-ogJBZmT3nOdAC',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
# Everything coming after this is automatically updated by the auto-roller.
# === ANDROID_DEPS Generated Code Start ===
# Generated by //third_party/android_deps/fetch_all.py
'src/third_party/android_deps/cipd/libs/com_android_support_support_annotations': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_android_support_support_annotations',
'version': 'version:2@28.0.0.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/com_android_tools_common': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_android_tools_common',
'version': 'version:2@30.2.0-beta01.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/com_android_tools_layoutlib_layoutlib_api': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_android_tools_layoutlib_layoutlib_api',
'version': 'version:2@30.2.0-beta01.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/com_android_tools_sdk_common': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_android_tools_sdk_common',
'version': 'version:2@30.2.0-beta01.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework',
'version': 'version:2@4.0.0.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/com_google_ar_impress': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_google_ar_impress',
'version': 'version:2@0.0.3.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/com_googlecode_java_diff_utils_diffutils': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_googlecode_java_diff_utils_diffutils',
'version': 'version:2@1.3.0.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/com_squareup_javapoet': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_squareup_javapoet',
'version': 'version:2@1.13.0.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/net_bytebuddy_byte_buddy': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/net_bytebuddy_byte_buddy',
'version': 'version:2@1.14.12.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/net_bytebuddy_byte_buddy_agent': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/net_bytebuddy_byte_buddy_agent',
'version': 'version:2@1.14.12.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_ccil_cowan_tagsoup_tagsoup': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_ccil_cowan_tagsoup_tagsoup',
'version': 'version:2@1.2.1.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_checkerframework_checker_compat_qual': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_checkerframework_checker_compat_qual',
'version': 'version:2@2.5.5.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_android_extensions_runtime': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_android_extensions_runtime',
'version': 'version:2@1.9.22.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_parcelize_runtime': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_parcelize_runtime',
'version': 'version:2@1.9.22.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_atomicfu_jvm': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_jetbrains_kotlinx_atomicfu_jvm',
'version': 'version:2@0.23.2.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_guava': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_guava',
'version': 'version:2@1.8.1.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_jsoup_jsoup': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_jsoup_jsoup',
'version': 'version:2@1.15.1.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_mockito_mockito_android': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_mockito_mockito_android',
'version': 'version:2@5.11.0.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_mockito_mockito_core': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_mockito_mockito_core',
'version': 'version:2@5.11.0.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_mockito_mockito_subclass': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_mockito_mockito_subclass',
'version': 'version:2@5.11.0.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
'src/third_party/android_deps/cipd/libs/org_objenesis_objenesis': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/org_objenesis_objenesis',
'version': 'version:2@3.3.cr1',
},
],
'condition': 'checkout_android and non_git_source',
'dep_type': 'cipd',
},
# === ANDROID_DEPS Generated Code End ===
}
hooks = [
{
# This clobbers when necessary (based on get_landmines.py). It should be
# an early hook but it will need to be run after syncing Chromium and
# setting up the links, so the script actually exists.
'name': 'landmines',
'pattern': '.',
'action': [
'python3',
'src/build/landmines.py',
'--landmine-scripts',
'src/tools_webrtc/get_landmines.py',
'--src-dir',
'src',
],
},
{
# Ensure that the DEPS'd "depot_tools" has its self-update capability
# disabled.
'name': 'disable_depot_tools_selfupdate',
'pattern': '.',
'action': [
'python3',
'src/third_party/depot_tools/update_depot_tools_toggle.py',
'--disable',
],
},
{
'name': 'sysroot_arm',
'pattern': '.',
'condition': 'checkout_linux and checkout_arm',
'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=arm'],
},
{
'name': 'sysroot_arm64',
'pattern': '.',
'condition': 'checkout_linux and checkout_arm64',
'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=arm64'],
},
{
'name': 'sysroot_x86',
'pattern': '.',
'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
# TODO(mbonadei): change to --arch=x86.
'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=i386'],
},
{
'name': 'sysroot_mips',
'pattern': '.',
'condition': 'checkout_linux and checkout_mips',
# TODO(mbonadei): change to --arch=mips.
'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=mipsel'],
},
{
'name': 'sysroot_x64',
'pattern': '.',
'condition': 'checkout_linux and checkout_x64',
# TODO(mbonadei): change to --arch=x64.
'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py',
'--arch=amd64'],
},
{
# 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',
'src/third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--no_auth',
'--bucket', 'chromium-browser-clang/ciopfs',
'-s', 'src/build/ciopfs.sha1',
]
},
{
# Update the Windows toolchain if necessary. Must run before 'clang' below.
'name': 'win_toolchain',
'pattern': '.',
'condition': 'checkout_win',
'action': ['python3', 'src/build/vs_toolchain.py', 'update', '--force'],
},
{
# Update the Mac toolchain if necessary.
'name': 'mac_toolchain',
'pattern': '.',
'condition': 'checkout_mac',
'action': ['python3', 'src/build/mac_toolchain.py'],
},
{
'name': 'Download Fuchsia SDK from GCS',
'pattern': '.',
'condition': 'checkout_fuchsia',
'action': [
'python3',
'src/build/fuchsia/update_sdk.py',
'--cipd-prefix={fuchsia_sdk_cipd_prefix}',
'--version={fuchsia_version}',
],
},
{
'name': 'Download Fuchsia system images',
'pattern': '.',
'condition': 'checkout_fuchsia and checkout_fuchsia_product_bundles',
'action': [
'python3',
'src/build/fuchsia/update_product_bundles.py',
'{checkout_fuchsia_boot_images}',
],
},
{
# Update LASTCHANGE.
'name': 'lastchange',
'pattern': '.',
'action': ['python3', 'src/build/util/lastchange.py',
'-o', 'src/build/util/LASTCHANGE'],
},
# Pull dsymutil binaries using checked-in hashes.
{
'name': 'dsymutil_mac_arm64',
'pattern': '.',
'condition': 'host_os == "mac" and host_cpu == "arm64"',
'action': [ 'python3',
'src/third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--no_auth',
'--bucket', 'chromium-browser-clang',
'-s', 'src/tools/clang/dsymutil/bin/dsymutil.arm64.sha1',
'-o', 'src/tools/clang/dsymutil/bin/dsymutil',
],
},
{
'name': 'dsymutil_mac_x64',
'pattern': '.',
'condition': 'host_os == "mac" and host_cpu == "x64"',
'action': [ 'python3',
'src/third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--no_auth',
'--bucket', 'chromium-browser-clang',
'-s', 'src/tools/clang/dsymutil/bin/dsymutil.x64.sha1',
'-o', 'src/tools/clang/dsymutil/bin/dsymutil',
],
},
# Pull rc binaries using checked-in hashes.
{
'name': 'rc_win',
'pattern': '.',
'condition': 'checkout_win and host_os == "win"',
'action': [ 'python3',
'src/third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--no_auth',
'--bucket', 'chromium-browser-clang/rc',
'-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
],
},
{
'name': 'rc_mac',
'pattern': '.',
'condition': 'checkout_win and host_os == "mac"',
'action': [ 'python3',
'src/third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--no_auth',
'--bucket', 'chromium-browser-clang/rc',
'-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
],
},
{
'name': 'rc_linux',
'pattern': '.',
'condition': 'checkout_win and host_os == "linux"',
'action': [ 'python3',
'src/third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--no_auth',
'--bucket', 'chromium-browser-clang/rc',
'-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
],
},
{
# Download test resources, i.e. video and audio files from Google Storage.
'pattern': '.',
'action': ['download_from_google_storage',
'--directory',
'--recursive',
'--num_threads=10',
'--no_auth',
'--quiet',
'--bucket', 'chromium-webrtc-resources',
'src/resources'],
},
{
'name': 'Generate component metadata for tests',
'pattern': '.',
'action': [
'vpython3',
'src/testing/generate_location_tags.py',
'--out',
'src/testing/location_tags.json',
],
},
# Download and initialize "vpython" VirtualEnv environment packages.
{
'name': 'vpython_common',
'pattern': '.',
'action': [ 'vpython3',
'-vpython-spec', 'src/.vpython3',
'-vpython-tool', 'install',
],
},
# Download remote exec cfg files
{
'name': 'configure_reclient_cfgs',
'pattern': '.',
'condition': 'download_remoteexec_cfg',
'action': ['python3',
'src/buildtools/reclient_cfgs/configure_reclient_cfgs.py',
'--rbe_instance',
Var('rbe_instance'),
'--reproxy_cfg_template',
'reproxy.cfg.template',
'--quiet',
],
},
# Configure Siso for developer builds.
{
'name': 'configure_siso',
'pattern': '.',
'action': ['python3',
'src/build/config/siso/configure_siso.py',
'--rbe_instance',
Var('rbe_instance'),
],
},
{
# Ensure we remove any file from disk that is no longer needed (e.g. after
# hooks to native GCS deps migration).
'name': 'remove_stale_files',
'pattern': '.',
'action': [
'python3',
'src/tools/remove_stale_files.py',
'src/third_party/test_fonts/test_fonts.tar.gz', # Remove after 20240901
],
},
]
recursedeps = [
'src/buildtools',
'src/third_party/instrumented_libs',
]
# Define rules for which include paths are allowed in our source.
include_rules = [
# Base is only used to build Android APK tests and may not be referenced by
# WebRTC production code.
"-base",
"-chromium",
"+external/webrtc/webrtc", # Android platform build.
"+libyuv",
# These should eventually move out of here.
"+common_types.h",
"+WebRTC",
"+api",
"+modules/include",
"+rtc_base",
"+test",
"+rtc_tools",
# Abseil allowlist. Keep this in sync with abseil-in-webrtc.md.
"+absl/algorithm/algorithm.h",
"+absl/algorithm/container.h",
"+absl/base/attributes.h",
"+absl/base/config.h",
"+absl/base/nullability.h",
"+absl/base/macros.h",
"+absl/cleanup/cleanup.h",
"+absl/container",
"-absl/container/fixed_array.h",
"+absl/functional/any_invocable.h",
"+absl/functional/bind_front.h",
"+absl/memory/memory.h",
"+absl/numeric/bits.h",
"+absl/strings/ascii.h",
"+absl/strings/escaping.h",
"+absl/strings/match.h",
"+absl/strings/str_cat.h", # note - allowed for single argument version only
"+absl/strings/str_replace.h",
"+absl/strings/string_view.h",
# Abseil flags are allowed in tests and tools.
"+absl/flags",
# Perfetto should be used through rtc_base/trace_event.h
'-third_party/perfetto',
'-perfetto',
'-protos/perfetto',
]
specific_include_rules = {
"webrtc_lib_link_test\.cc": [
"+media/engine",
"+modules/audio_device",
"+modules/audio_processing",
]
}