[PATCH] D120331: [clang-tidy][run-clang-tidy.py] Add --config-file=<string> option

Shreyas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 23 00:44:30 PST 2022


SAtacker updated this revision to Diff 410736.
SAtacker marked an inline comment as done.
SAtacker added a comment.

Squash commits D120385 <https://reviews.llvm.org/D120385>, D120387 <https://reviews.llvm.org/D120387> into D120331 <https://reviews.llvm.org/D120331>


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120331/new/

https://reviews.llvm.org/D120331

Files:
  clang-tools-extra/clang-tidy/tool/run-clang-tidy.py


Index: clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
===================================================================
--- clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
+++ clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
@@ -96,8 +96,8 @@
 
 def get_tidy_invocation(f, clang_tidy_binary, checks, tmpdir, build_path,
                         header_filter, allow_enabling_alpha_checkers,
-                        extra_arg, extra_arg_before, quiet, config,
-                        line_filter, use_color):
+                        extra_arg, extra_arg_before, quiet, config_path,
+                        config, line_filter, use_color):
   """Gets a command line for clang-tidy."""
   start = [clang_tidy_binary]
   if allow_enabling_alpha_checkers:
@@ -127,7 +127,9 @@
   start.append('-p=' + build_path)
   if quiet:
       start.append('-quiet')
-  if config:
+  if config_path:
+      start.append('--config-file=' + config_path)
+  elif config:
       start.append('-config=' + config)
   start.append(f)
   return start
@@ -188,8 +190,8 @@
                                      tmpdir, build_path, args.header_filter,
                                      args.allow_enabling_alpha_checkers,
                                      args.extra_arg, args.extra_arg_before,
-                                     args.quiet, args.config, args.line_filter,
-                                     args.use_color)
+                                     args.quiet, args.config_path, args.config,
+                                     args.line_filter, args.use_color)
 
     proc = subprocess.Popen(invocation, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     output, err = proc.communicate()
@@ -223,7 +225,8 @@
   parser.add_argument('-checks', default=None,
                       help='checks filter, when not specified, use clang-tidy '
                       'default')
-  parser.add_argument('-config', default=None,
+  group = parser.add_mutually_exclusive_group()
+  group.add_argument('-config', default=None,
                       help='Specifies a configuration in YAML/JSON format: '
                       '  -config="{Checks: \'*\', '
                       '                       CheckOptions: [{key: x, '
@@ -231,6 +234,12 @@
                       'When the value is empty, clang-tidy will '
                       'attempt to find a file named .clang-tidy for '
                       'each source file in its parent directories.')
+  group.add_argument('-config-file', default=None,
+                      help='Specify the path of .clang-tidy or custom config '
+                      'file: e.g. -config-file=/some/path/myTidyConfigFile. '
+                      'This option internally works exactly the same way as '
+                      '-config option after reading specified config file. '
+                      'Use either -config-file or -config, not both.')
   parser.add_argument('-header-filter', default=None,
                       help='regular expression matching the names of the '
                       'headers to output diagnostics from. Diagnostics from '
@@ -283,8 +292,8 @@
                                      None, build_path, args.header_filter,
                                      args.allow_enabling_alpha_checkers,
                                      args.extra_arg, args.extra_arg_before,
-                                     args.quiet, args.config, args.line_filter,
-                                     args.use_color)
+                                     args.quiet, args.config_path, args.config,
+                                     args.line_filter, args.use_color)
     invocation.append('-list-checks')
     invocation.append('-')
     if args.quiet:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120331.410736.patch
Type: text/x-patch
Size: 3743 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220223/dbc9dd95/attachment.bin>


More information about the llvm-commits mailing list