DEPS: Specify WebRTC hooks and add a few dependencies
This removes the need of executing Chromium's runhooks.
A selection of hooks (not all) were picked that should be
sufficient for WebRTC's needs.
New dependencies:
* third_party/espresso
* third_party/javax_inject
* tools/clang_format_merge_driver
BUG=webrtc:5578, webrtc:5006, webrtc:6741
TESTED=
rm -rf third_party/android_tools/sdk/extras/google/m2repository/
gclient runhooks
Verified that third_party/android_tools/sdk/extras/google/m2repository/ is downloaded without any license prompt.
NOTRY=True
Review-Url: https://codereview.webrtc.org/2524673002
Cr-Commit-Position: refs/heads/master@{#15195}
diff --git a/DEPS b/DEPS
index 6fe1369..def276d 100644
--- a/DEPS
+++ b/DEPS
@@ -8,8 +8,6 @@
'chromium_revision': '5e821a778b85878bafcc8128f64333fd518c79a5',
}
-# NOTE: Use http rather than https; the latter can cause problems for users
-# behind proxies.
deps = {
'src/third_party/gflags/src':
Var('chromium_git') + '/external/github.com/gflags/gflags@03bebcb065c83beff83d50ae025a55a4bf94dfca',
@@ -62,14 +60,327 @@
],
},
{
- # Pull sanitizer-instrumented third-party libraries if requested via
- # GYP_DEFINES. This could be done as part of sync_chromium.py above
- # but then we would need to run all the Chromium hooks each time,
- # which will slow things down a lot.
- 'name': 'instrumented_libraries',
- 'pattern': '\\.sha1',
- 'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
- },
+ # Download Google Play Services SDK (without license prompt).
+ 'name': 'google_play_services_download',
+ 'pattern': '.',
+ 'action': ['python', 'src/webrtc/build/google_play_services_download.py'],
+ },
+ # Android dependencies. Many are downloaded using Google Storage these days.
+ # They're copied from https://cs.chromium.org/chromium/src/DEPS for all
+ # such dependencies we share with Chromium.
+ {
+ 'name': 'intellij',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-intellij',
+ '-l', 'third_party/intellij'
+ ],
+ },
+ {
+ 'name': 'javax_inject',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-javax-inject',
+ '-l', 'third_party/javax_inject'
+ ],
+ },
+ {
+ 'name': 'hamcrest',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-hamcrest',
+ '-l', 'third_party/hamcrest'
+ ],
+ },
+ {
+ 'name': 'guava',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-guava',
+ '-l', 'third_party/guava'
+ ],
+ },
+ {
+ 'name': 'android_support_test_runner',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-android-support-test-runner',
+ '-l', 'third_party/android_support_test_runner'
+ ],
+ },
+ {
+ 'name': 'byte_buddy',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-byte-buddy',
+ '-l', 'third_party/byte_buddy'
+ ],
+ },
+ {
+ 'name': 'espresso',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-espresso',
+ '-l', 'third_party/espresso'
+ ],
+ },
+ {
+ 'name': 'robolectric_libs',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-robolectric',
+ '-l', 'third_party/robolectric'
+ ],
+ },
+ {
+ 'name': 'apache_velocity',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-apache-velocity',
+ '-l', 'third_party/apache_velocity'
+ ],
+ },
+ {
+ 'name': 'ow2_asm',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-ow2-asm',
+ '-l', 'third_party/ow2_asm'
+ ],
+ },
+ {
+ 'name': 'icu4j',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-icu4j',
+ '-l', 'third_party/icu4j'
+ ],
+ },
+ {
+ 'name': 'accessibility_test_framework',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-accessibility-test-framework',
+ '-l', 'third_party/accessibility_test_framework'
+ ],
+ },
+ {
+ 'name': 'bouncycastle',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-bouncycastle',
+ '-l', 'third_party/bouncycastle'
+ ],
+ },
+ {
+ 'name': 'sqlite4java',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-sqlite4java',
+ '-l', 'third_party/sqlite4java'
+ ],
+ },
+ {
+ 'name': 'objenesis',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/android/update_deps/update_third_party_deps.py',
+ 'download',
+ '-b', 'chromium-objenesis',
+ '-l', 'third_party/objenesis'
+ ],
+ },
+ {
+ # Downloads the current stable linux sysroot to build/linux/ if needed.
+ # This sysroot updates at about the same rate that the chrome build deps
+ # change. This script is a no-op except for linux users who are doing
+ # official chrome builds or cross compiling.
+ 'name': 'sysroot',
+ 'pattern': '.',
+ 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
+ '--running-as-hook'],
+ },
+ {
+ # Update the Windows toolchain if necessary.
+ 'name': 'win_toolchain',
+ 'pattern': '.',
+ 'action': ['python', 'src/build/vs_toolchain.py', 'update'],
+ },
+ # Pull binutils for linux, enabled debug fission for faster linking /
+ # debugging when used with clang on Ubuntu Precise.
+ # https://code.google.com/p/chromium/issues/detail?id=352046
+ {
+ 'name': 'binutils',
+ 'pattern': 'src/third_party/binutils',
+ 'action': [
+ 'python',
+ 'src/third_party/binutils/download.py',
+ ],
+ },
+ {
+ # Pull clang if needed or requested via GYP_DEFINES.
+ # Note: On Win, this should run after win_toolchain, as it may use it.
+ 'name': 'clang',
+ 'pattern': '.',
+ 'action': ['python', 'src/tools/clang/scripts/update.py', '--if-needed'],
+ },
+ # Pull GN binaries.
+ {
+ 'name': 'gn_win',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=win32',
+ '--no_auth',
+ '--bucket', 'chromium-gn',
+ '-s', 'src/buildtools/win/gn.exe.sha1',
+ ],
+ },
+ {
+ 'name': 'gn_mac',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=darwin',
+ '--no_auth',
+ '--bucket', 'chromium-gn',
+ '-s', 'src/buildtools/mac/gn.sha1',
+ ],
+ },
+ {
+ 'name': 'gn_linux64',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=linux*',
+ '--no_auth',
+ '--bucket', 'chromium-gn',
+ '-s', 'src/buildtools/linux64/gn.sha1',
+ ],
+ },
+ # Pull clang-format binaries using checked-in hashes.
+ {
+ 'name': 'clang_format_win',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=win32',
+ '--no_auth',
+ '--bucket', 'chromium-clang-format',
+ '-s', 'src/buildtools/win/clang-format.exe.sha1',
+ ],
+ },
+ {
+ 'name': 'clang_format_mac',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=darwin',
+ '--no_auth',
+ '--bucket', 'chromium-clang-format',
+ '-s', 'src/buildtools/mac/clang-format.sha1',
+ ],
+ },
+ {
+ 'name': 'clang_format_linux',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=linux*',
+ '--no_auth',
+ '--bucket', 'chromium-clang-format',
+ '-s', 'src/buildtools/linux64/clang-format.sha1',
+ ],
+ },
+ # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
+ {
+ 'name': 'luci-go_win',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=win32',
+ '--no_auth',
+ '--bucket', 'chromium-luci',
+ '-d', 'src/tools/luci-go/win64',
+ ],
+ },
+ {
+ 'name': 'luci-go_mac',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=darwin',
+ '--no_auth',
+ '--bucket', 'chromium-luci',
+ '-d', 'src/tools/luci-go/mac64',
+ ],
+ },
+ {
+ 'name': 'luci-go_linux',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--no_resume',
+ '--platform=linux*',
+ '--no_auth',
+ '--bucket', 'chromium-luci',
+ '-d', 'src/tools/luci-go/linux64',
+ ],
+ },
+ # Pull the Syzygy binaries, used for optimization and instrumentation.
+ {
+ 'name': 'syzygy-binaries',
+ 'pattern': '.',
+ 'action': ['python',
+ 'src/build/get_syzygy_binaries.py',
+ '--output-dir=src/third_party/syzygy/binaries',
+ '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
+ '--overwrite',
+ ],
+ },
+ {
+ # Pull sanitizer-instrumented third-party libraries if requested via
+ # GYP_DEFINES.
+ # See src/third_party/instrumented_libraries/scripts/download_binaries.py.
+ # TODO(kjellander): Update comment when GYP is completely cleaned up.
+ 'name': 'instrumented_libraries',
+ 'pattern': '\\.sha1',
+ 'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
+ },
+ {
+ 'name': 'clang_format_merge_driver',
+ 'pattern': '.',
+ 'action': [ 'python',
+ 'src/tools/clang_format_merge_driver/install_git_hook.py',
+ ],
+ },
{
# Download test resources, i.e. video and audio files from Google Storage.
'pattern': '.',
@@ -84,3 +395,10 @@
},
]
+recursedeps = [
+ # buildtools provides clang_format, libc++, and libc++abi.
+ 'src/buildtools',
+ # android_tools manages the NDK.
+ 'src/third_party/android_tools',
+]
+