Explorar o código

clang-format: lookup for binary under third_party/clang-format

This change looks for clang-format (and its script) *also*
inside third_party/clang-format (on top of buildtools/$plat).
This is to bring consistency to the recent changes [1] to
gn and ninja wrappers, which now look only in third_party
and not in buildtools/.
This is to make it so that a project can use depot_tools
without requiring both buildtools/ and third_party/
directories.

[1] See https://crrev.com/c/3925341

Bug: b/261398524
Bug: 1340825
Change-Id: I895d244592eed259ab8efa050cc87372d891246c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4079069
Commit-Queue: Primiano Tucci <primiano@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Junji Watanabe <jwata@google.com>
Primiano Tucci %!s(int64=2) %!d(string=hai) anos
pai
achega
a964ca1296
Modificáronse 1 ficheiros con 15 adicións e 0 borrados
  1. 15 0
      clang_format.py

+ 15 - 0
clang_format.py

@@ -27,6 +27,14 @@ class NotFoundError(Exception):
 
 def FindClangFormatToolInChromiumTree():
   """Return a path to the clang-format executable, or die trying."""
+  primary_solution_path = gclient_paths.GetPrimarySolutionPath()
+  if primary_solution_path:
+    bin_path = os.path.join(primary_solution_path, 'third_party',
+                            'clang-format',
+                            'clang-format' + gclient_paths.GetExeSuffix())
+    if os.path.exists(bin_path):
+      return bin_path
+
   bin_path = gclient_paths.GetBuildtoolsPlatformBinaryPath()
   if not bin_path:
     raise NotFoundError(
@@ -42,6 +50,13 @@ def FindClangFormatToolInChromiumTree():
 
 def FindClangFormatScriptInChromiumTree(script_name):
   """Return a path to a clang-format helper script, or die trying."""
+  primary_solution_path = gclient_paths.GetPrimarySolutionPath()
+  if primary_solution_path:
+    script_path = os.path.join(primary_solution_path, 'third_party',
+                               'clang-format', 'script', script_name)
+    if os.path.exists(script_path):
+      return script_path
+
   tools_path = gclient_paths.GetBuildtoolsPath()
   if not tools_path:
     raise NotFoundError(