From a964ca1296b9238d0797aa5f25597efa7b897515 Mon Sep 17 00:00:00 2001 From: Primiano Tucci Date: Fri, 9 Dec 2022 15:41:59 +0000 Subject: [PATCH] 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 Reviewed-by: Dirk Pranke Reviewed-by: Nico Weber Reviewed-by: Junji Watanabe --- clang_format.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/clang_format.py b/clang_format.py index 64f4c6ea40..4e7b1baadd 100755 --- a/clang_format.py +++ b/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(