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>
changes/69/4079069/3
Primiano Tucci 3 years ago committed by LUCI CQ
parent c768fd8fc9
commit a964ca1296

@ -27,6 +27,14 @@ class NotFoundError(Exception):
def FindClangFormatToolInChromiumTree(): def FindClangFormatToolInChromiumTree():
"""Return a path to the clang-format executable, or die trying.""" """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() bin_path = gclient_paths.GetBuildtoolsPlatformBinaryPath()
if not bin_path: if not bin_path:
raise NotFoundError( raise NotFoundError(
@ -42,6 +50,13 @@ def FindClangFormatToolInChromiumTree():
def FindClangFormatScriptInChromiumTree(script_name): def FindClangFormatScriptInChromiumTree(script_name):
"""Return a path to a clang-format helper script, or die trying.""" """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() tools_path = gclient_paths.GetBuildtoolsPath()
if not tools_path: if not tools_path:
raise NotFoundError( raise NotFoundError(

Loading…
Cancel
Save