DEPS: Sync Git subtree mirrors instead of symlinking into chromium/src
This changes the way we pull in dependencies WebRTC shares with Chromium. The base, build, tools and third_party directories from Chromium are now synced as Git subtree mirrors in the DEPS file. All symlinks to directories that were previously created by the setup_links.py are replaced with proper DEPS entries. One downside with this solution is that we get a lot of directories in tools/ and third_party/ that we currently don't use. Going forward it might be possible to improve this but as long as the BUILD.gn files are stored in the Chromium repo rather at each dependency's repo, this will be very cumbersome. The DEPS file will be kept auto-rolled by the script in https://chromium.googlesource.com/external/webrtc/+/master/tools-webrtc/autoroller/roll_deps.py which is periodically executed by a bot. This change brings back the Google Play Services download for Android, which displays a license confirmation dialog to the user at the first sync. By running it as a proper hook instead of inside sync_chromium.py, the problems with that the interactive prompt gets hidden/stuck should be fixed (now the behavior is identical to Chromium). Some measurements on the size savings for a clean, newly created checkout: Linux: 15GB -> 6.4GB (-8.6GB) Linux (with Android): 25 GB -> 16 GB (-9GB). 8.4GB of this is Android SDK+NDK. Mac (with iOS): 14 GB -> 5.6GB (-8.4GB) Note that for all of the above, 1GB is occupied by the resources/ dir. BUG=webrtc:5006, webrtc:5578 NOTRY=True R=agable@chromium.org, henrika@webrtc.org, iannucci@chromium.org Review-Url: https://codereview.webrtc.org/1414343008 . Cr-Commit-Position: refs/heads/master@{#15754}
This commit is contained in:
21
PRESUBMIT.py
21
PRESUBMIT.py
@ -434,30 +434,13 @@ def _CommonChecks(input_api, output_api):
|
||||
results.extend(_CheckApprovedFilesLintClean(
|
||||
input_api, output_api, source_file_filter))
|
||||
results.extend(input_api.canned_checks.RunPylint(input_api, output_api,
|
||||
black_list=(r'^.*gviz_api\.py$',
|
||||
r'^.*gaeunit\.py$',
|
||||
# Embedded shell-script fakes out pylint.
|
||||
black_list=(r'^base[\\\/].*\.py$',
|
||||
r'^build[\\\/].*\.py$',
|
||||
r'^buildtools[\\\/].*\.py$',
|
||||
r'^chromium[\\\/].*\.py$',
|
||||
r'^mojo.*[\\\/].*\.py$',
|
||||
r'^out.*[\\\/].*\.py$',
|
||||
r'^testing[\\\/].*\.py$',
|
||||
r'^third_party[\\\/].*\.py$',
|
||||
r'^tools[\\\/]clang[\\\/].*\.py$',
|
||||
r'^tools[\\\/]generate_library_loader[\\\/].*\.py$',
|
||||
r'^tools[\\\/]generate_stubs[\\\/].*\.py$',
|
||||
r'^tools[\\\/]gn[\\\/].*\.py$',
|
||||
r'^tools[\\\/]isolate_driver.py$',
|
||||
r'^tools[\\\/]mb[\\\/].*\.py$',
|
||||
r'^tools[\\\/]protoc_wrapper[\\\/].*\.py$',
|
||||
r'^tools[\\\/]python[\\\/].*\.py$',
|
||||
r'^tools[\\\/]python_charts[\\\/]data[\\\/].*\.py$',
|
||||
r'^tools[\\\/]refactoring[\\\/].*\.py$',
|
||||
r'^tools[\\\/]swarming_client[\\\/].*\.py$',
|
||||
r'^tools[\\\/]vim[\\\/].*\.py$',
|
||||
r'^tools[\\\/]valgrind[\\\/].*\.py$',
|
||||
r'^tools[\\\/]win[\\\/].*\.py$',
|
||||
r'^tools[\\\/].*\.py$',
|
||||
# TODO(phoglund): should arguably be checked.
|
||||
r'^tools-webrtc[\\\/]mb[\\\/].*\.py$',
|
||||
r'^tools-webrtc[\\\/]valgrind[\\\/].*\.py$',
|
||||
|
Reference in New Issue
Block a user