Reland: Add presubmit check for changes in 3pp

Reland of CL https://webrtc-review.googlesource.com/c/src/+/77421

Copied description:
--
Add presubmit check for changes in 3pp

Presubmit check will test will new changes be overriden by autoroll
or not. In more details presubmit will check:
1. Each dependency in third_party have to be specified in one of:
   a. THIRD_PARTY_CHROMIUM_DEPS.json
   b. THIRD_PARTY_WEBRTC_DEPS.json
2. Each dependency not specified in both files from #1
3. Changes won't be overriden by chromium third_party deps autoroll:
   a. Changes were made in WebRTC owned dependency
   b. Changes were addition of new Chromium owned dependency
--
Also if commit message contains tag NO_AUTOIMPORT_DEPS_CHECK equal
to True, than changes in chromium specific deps will be permitted.
It is required for autoroller to be able to commit its changes and
not to fail on presubmit check.

Bug: webrtc:8366
Change-Id: I545a4778445855cf3db7cf257ca0cb63753aac06
Reviewed-on: https://webrtc-review.googlesource.com/78042
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23348}
9 files changed
tree: 1928d3039781fe3d8ee0d5f9cdd8c55e7e7429df
  1. api/
  2. audio/
  3. build_overrides/
  4. call/
  5. common_audio/
  6. common_video/
  7. data/
  8. examples/
  9. infra/
  10. logging/
  11. media/
  12. modules/
  13. ortc/
  14. p2p/
  15. pc/
  16. resources/
  17. rtc_base/
  18. rtc_tools/
  19. sdk/
  20. stats/
  21. style-guide/
  22. system_wrappers/
  23. test/
  24. third_party/
  25. tools_webrtc/
  26. video/
  27. .clang-format
  28. .git-blame-ignore-revs
  29. .gitignore
  30. .gn
  31. .vpython
  32. AUTHORS
  33. BUILD.gn
  34. CODE_OF_CONDUCT.md
  35. codereview.settings
  36. common_types.cc
  37. common_types.h
  38. DEPS
  39. LICENSE
  40. license_template.txt
  41. LICENSE_THIRD_PARTY
  42. native-api.md
  43. OWNERS
  44. PATENTS
  45. PRESUBMIT.py
  46. presubmit_test.py
  47. presubmit_test_mocks.py
  48. pylintrc
  49. README.chromium
  50. README.md
  51. style-guide.md
  52. THIRD_PARTY_CHROMIUM_DEPS.json
  53. THIRD_PARTY_WEBRTC_DEPS.json
  54. typedefs.h
  55. WATCHLISTS
  56. webrtc.gni
  57. whitespace.txt
README.md

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Development

See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info