Browse Source

build: fix clang format/lint (#42715)

* build: fix clang format path

* fix: use gclient sync instead of gclient runhooks

Refs https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5659261

* fix: use gclient sync instead of gclient runhooks in GHA

---------

Co-authored-by: David Sanders <[email protected]>
Keeley Hammond 9 months ago
parent
commit
3ac57e17d5

+ 1 - 1
.circleci/config/jobs/lint.yml

@@ -31,7 +31,7 @@ steps:
         mkdir -p src/buildtools
         curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/buildtools/DEPS?format=TEXT" | base64 -d > src/buildtools/DEPS
 
-        gclient runhooks --spec="solutions=[{'name':'src/buildtools','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':True},'managed':False}]"
+        gclient sync --spec="solutions=[{'name':'src/buildtools','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':True},'managed':False}]"
   - run:
       name: Run Lint
       command: |

+ 1 - 1
.github/workflows/pipeline-electron-lint.yml

@@ -56,7 +56,7 @@ jobs:
         mkdir -p src/buildtools
         curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/buildtools/DEPS?format=TEXT" | base64 -d > src/buildtools/DEPS
 
-        gclient runhooks --spec="solutions=[{'name':'src/buildtools','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':True},'managed':False}]"
+        gclient sync --spec="solutions=[{'name':'src/buildtools','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':True},'managed':False}]"
     - name: Run Lint
       shell: bash
       run: |

+ 10 - 4
script/lib/util.py

@@ -195,14 +195,20 @@ def get_buildtools_executable(name):
   else:
     raise Exception(f"Unsupported platform: {sys.platform}")
 
-  if name == 'clang-format':
-    path = os.path.join(buildtools, chromium_platform, 'format', name)  
-  else:
-    path = os.path.join(buildtools, chromium_platform, name)
+  path = os.path.join(buildtools, chromium_platform, name)
   if sys.platform == 'win32':
     path += '.exe'
   return path
 
+def get_depot_tools_executable(name):
+  buildtools = os.path.realpath(
+    os.path.join(ELECTRON_DIR, '..', 'third_party', 'depot_tools'))
+
+  path = os.path.join(buildtools, name)
+  if sys.platform == 'win32':
+    path += '.bat'
+  return path
+
 def get_linux_binaries():
   return [
     'chrome-sandbox',

+ 2 - 2
script/run-clang-format.py

@@ -23,7 +23,7 @@ import traceback
 import tempfile
 
 from functools import partial
-from lib.util import get_buildtools_executable
+from lib.util import get_depot_tools_executable
 
 DEFAULT_EXTENSIONS = 'c,h,C,H,cpp,hpp,cc,hh,c++,h++,cxx,hxx,mm'
 DEFAULT_CLANG_FORMAT_IGNORE = '.clang-format-ignore'
@@ -205,7 +205,7 @@ def main():
         '--clang-format-executable',
         metavar='EXECUTABLE',
         help='path to the clang-format executable',
-        default=get_buildtools_executable('clang-format'))
+        default=get_depot_tools_executable('clang-format'))
     parser.add_argument(
         '--extensions',
         help='comma-separated list of file extensions'

+ 2 - 2
script/run-gn-format.py

@@ -2,7 +2,7 @@ import os
 import subprocess
 import sys
 
-from lib.util import get_buildtools_executable
+from lib.util import get_depot_tools_executable
 
 SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
 
@@ -15,7 +15,7 @@ def main():
     os.path.join(SOURCE_ROOT, '..', 'buildtools')
   )
 
-  gn_path = get_buildtools_executable('gn')
+  gn_path = get_depot_tools_executable('gn')
   for gn_file in sys.argv[1:]:
     subprocess.check_call(
       [gn_path, 'format', gn_file],