Resume rolling buildtools, now as chromium/src/buildtools

Based on https://chromium-review.googlesource.com/c/chromium/src/+/1450459/10/DEPS#294

Bug: chromium:927867
Change-Id: I6a69bb11ae0c2332b18c64ab630ea2c2c3285e59
Reviewed-on: https://webrtc-review.googlesource.com/c/121947
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26604}
diff --git a/DEPS b/DEPS
index 92e538f..e7d57f2 100644
--- a/DEPS
+++ b/DEPS
@@ -50,7 +50,7 @@
   'src/build':
     Var('chromium_git') + '/chromium/src/build' + '@' + 'e3ed5e43c305b353b49e08ac69e7f4d1c2d88ad2',
   'src/buildtools':
-    Var('chromium_git') + '/chromium/buildtools.git' + '@' + '6fbda1b24c1893a893b17aa219b765b9e7c801d8',
+    Var('chromium_git') + '/chromium/src/buildtools' + '@' + '106e9fce3799633f42b45ca8bbe9e84e1e235603',
   # Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
   'src/examples/androidtests/third_party/gradle': {
     'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
@@ -65,6 +65,16 @@
     Var('chromium_git') + '/chromium/src/testing' + '@' + 'e0563165094137bce9b4224aa07d0b698b6c5256',
   'src/third_party':
     Var('chromium_git') + '/chromium/src/third_party' + '@' + '448e819cf182c14a6ebd7a2dfc055e0e4c6103b5',
+
+  'src/buildtools/clang_format/script':
+    Var('chromium_git') + '/chromium/llvm-project/cfe/tools/clang-format.git' + '@' + '96636aa0e9f047f17447f2d45a094d0b59ed7917',
+  'src/buildtools/third_party/libc++/trunk':
+    Var('chromium_git') + '/chromium/llvm-project/libcxx.git' + '@' + 'e713cc0acf1ae8b82f451bf58ebef67a46ceddfb',
+  'src/buildtools/third_party/libc++abi/trunk':
+    Var('chromium_git') + '/chromium/llvm-project/libcxxabi.git' + '@' + '307bb62985575b2e3216a8cfd7e122e0574f33a9',
+  'src/buildtools/third_party/libunwind/trunk':
+    Var('chromium_git') + '/external/llvm.org/libunwind.git' + '@' + '69d9b84cca8354117b9fe9705a4430d789ee599b',
+
   'src/third_party/android_ndk': {
       'url': Var('chromium_git') + '/android_ndk.git' + '@' + '4e2cea441bfd43f0863d14f57b1e1844260b9884',
       'condition': 'checkout_android',
@@ -1403,10 +1413,7 @@
   },
 ]
 
-recursedeps = [
-  # buildtools provides clang_format, libc++, and libc++abi.
-  'src/buildtools',
-]
+recursedeps = []
 
 # Define rules for which include paths are allowed in our source.
 include_rules = [
diff --git a/tools_webrtc/autoroller/roll_deps.py b/tools_webrtc/autoroller/roll_deps.py
index 9259b44..581ce5a 100755
--- a/tools_webrtc/autoroller/roll_deps.py
+++ b/tools_webrtc/autoroller/roll_deps.py
@@ -28,8 +28,6 @@
 
 # Skip these dependencies (list without solution name prefix).
 DONT_AUTOROLL_THESE = [
-  # TODO(crbug.com/927867): resume rolling this as chromium/src/buildtools.
-  'src/buildtools',
   'src/examples/androidtests/third_party/gradle',
 ]
 
@@ -40,6 +38,7 @@
 WEBRTC_ONLY_DEPS = [
   'src/base',
   'src/build',
+  'src/buildtools',
   'src/ios',
   'src/testing',
   'src/third_party',
diff --git a/tools_webrtc/autoroller/unittests/roll_deps_test.py b/tools_webrtc/autoroller/unittests/roll_deps_test.py
index 68e6d62..8d68bdd 100755
--- a/tools_webrtc/autoroller/unittests/roll_deps_test.py
+++ b/tools_webrtc/autoroller/unittests/roll_deps_test.py
@@ -24,9 +24,6 @@
   GetMatchingDepsEntries, ParseDepsDict, ParseLocalDepsFile, UpdateDepsFile, \
   ChromiumRevisionUpdate
 
-# HACK to avoid updating unittests just because buildtools roll is disabled.
-roll_deps.DONT_AUTOROLL_THESE.remove('src/buildtools')
-
 SRC_DIR = os.path.join(PARENT_DIR, os.pardir, os.pardir)
 sys.path.append(os.path.join(SRC_DIR, 'third_party', 'pymock'))
 import mock
@@ -38,15 +35,15 @@
 
 DEPS_ENTRIES = {
   'src/build': 'https://build.com',
-  'src/buildtools': 'https://buildtools.com',
+  'src/third_party/depot_tools': 'https://depottools.com',
   'src/testing/gtest': 'https://gtest.com',
   'src/testing/gmock': 'https://gmock.com',
 }
 
 BUILD_OLD_REV = '52f7afeca991d96d68cf0507e20dbdd5b845691f'
 BUILD_NEW_REV = 'HEAD'
-BUILDTOOLS_OLD_REV = '64e38f0cebdde27aa0cfb405f330063582f9ac76'
-BUILDTOOLS_NEW_REV = '55ad626b08ef971fd82a62b7abb325359542952b'
+DEPOTTOOLS_OLD_REV = 'b9ae2ca9a55d9b754c313f4c9e9f0f3b804a5e44'
+DEPOTTOOLS_NEW_REV = '1206a353e40abb70d8454eb9af53db0ad10b713c'
 
 NO_CHROMIUM_REVISION_UPDATE = ChromiumRevisionUpdate('cafe', 'cafe')
 
@@ -206,9 +203,9 @@
     self.assertEquals(changed_deps[0].current_rev, BUILD_OLD_REV)
     self.assertEquals(changed_deps[0].new_rev, BUILD_NEW_REV)
 
-    self.assertEquals(changed_deps[1].path, 'src/buildtools')
-    self.assertEquals(changed_deps[1].current_rev, BUILDTOOLS_OLD_REV)
-    self.assertEquals(changed_deps[1].new_rev, BUILDTOOLS_NEW_REV)
+    self.assertEquals(changed_deps[1].path, 'src/third_party/depot_tools')
+    self.assertEquals(changed_deps[1].current_rev, DEPOTTOOLS_OLD_REV)
+    self.assertEquals(changed_deps[1].new_rev, DEPOTTOOLS_NEW_REV)
 
     self.assertEquals(changed_deps[2].path, 'src/third_party/xstream')
     self.assertEquals(changed_deps[2].package, 'chromium/third_party/xstream')
@@ -257,7 +254,7 @@
     new_cr_deps = ParseLocalDepsFile(self._new_cr_depsfile_android)
     _, other_paths = FindRemovedDeps(webrtc_deps, new_cr_deps)
     self.assertEquals(other_paths, ['src/third_party/xstream',
-                                    'src/buildtools'])
+                                    'src/third_party/depot_tools'])
 
   def testExpectedDepsIsNotReportedMissing(self):
     """Some deps musn't be seen as missing, even if absent from Chromium."""
diff --git a/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS b/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS
index 8ea7c33..6eddc13 100644
--- a/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS
+++ b/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS
@@ -11,8 +11,8 @@
     Var('chromium_git') + '/chromium/src/build' + '@' + '52f7afeca991d96d68cf0507e20dbdd5b845691f',
 
   # Entry that's also a DEPS entry in the Chromium DEPS file.
-  'src/buildtools':
-    Var('chromium_git') + '/chromium/buildtools.git' + '@' + '64e38f0cebdde27aa0cfb405f330063582f9ac76',
+  'src/third_party/depot_tools':
+      Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'b9ae2ca9a55d9b754c313f4c9e9f0f3b804a5e44',
 
   # Entry that's also a CIPD entry in the Chromium DEPS file.
   'src/third_party/xstream': {
diff --git a/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS.chromium.new b/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS.chromium.new
index 620d05d..1c00f9a 100644
--- a/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS.chromium.new
+++ b/tools_webrtc/autoroller/unittests/testdata/roll_deps/DEPS.chromium.new
@@ -4,12 +4,12 @@
   'chromium_git': 'https://chromium.googlesource.com',
 
   # This is updated compared to the DEPS file.
-  'buildtools_revision': '55ad626b08ef971fd82a62b7abb325359542952b',
+  'depot_tools_revision': '1206a353e40abb70d8454eb9af53db0ad10b713c',
 }
 
 deps = {
-  'src/buildtools':
-    Var('chromium_git') + '/chromium/buildtools.git' + '@' +  Var('buildtools_revision'),
+  'src/third_party/depot_tools':
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' +  Var('depot_tools_revision'),
 
   'src/third_party/xstream': {
       'packages': [