Merge tm-qpr-dev-plus-aosp-without-vendor@9467136

Bug: 264720040
Merged-In: I324bcaf4e9e2b087201810343471a55f2434339f
Change-Id: I7c121aab35919e9c82b23b95cd283f488d6b390d
diff --git a/.editorconfig b/.editorconfig
index e97aa07..1e3f51c 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -4,9 +4,3 @@
 trim_trailing_whitespace = true
 insert_final_newline = true
 ij_kotlin_imports_layout=*
-
-# Comma-separated list of rules to disable
-# ktlint disagrees on indentation with ktfmt in some cases
-# TODO(b/185904220): paren spacing disabled because of a ktfmt bug
-# TODO(b/189506168): curly spacing disabled because of a ktfmt bug
-disabled_rules=indent,paren-spacing,curly-spacing,wrapping
diff --git a/ktlint.py b/ktlint.py
index 86b15ed..aefff63 100755
--- a/ktlint.py
+++ b/ktlint.py
@@ -42,14 +42,25 @@
   parser.add_argument('--file', '-f', nargs='*')
   parser.add_argument('--format', '-F', dest='format', action='store_true')
   parser.add_argument('--noformat', dest='format', action='store_false')
-  parser.set_defaults(format=False)
+  parser.add_argument('--no-verify-format', dest='verify_format', action='store_false')
+  parser.set_defaults(format=False, verify_format=True)
   args = parser.parse_args()
   kt_files = [f for f in args.file if f.endswith('.kt') or f.endswith('.kts')]
   if not kt_files:
     sys.exit(0)
 
+  disabled_rules = ['indent', 'paren-spacing', 'curly-spacing', 'wrapping']
+
+  # Disable more format-related rules if we shouldn't verify the format. This is usually
+  # the case if files we are checking are already checked by ktfmt.
+  if not args.verify_format:
+      disabled_rules += ['final-newline', 'no-consecutive-blank-lines', 'import-ordering']
+
   ktlint_args = kt_files[:]
   ktlint_args += ['--editorconfig', EDITOR_CONFIG]
+  ktlint_args += ['--disabled_rules=' + ','.join(disabled_rules)]
+
+  # Automatically format files if requested.
   if args.format:
     ktlint_args += ['-F']
 
@@ -64,7 +75,8 @@
     if stdout:
       print('prebuilts/ktlint found errors in files you changed:')
       print(stdout.decode('utf-8'))
-      print(FORMAT_MESSAGE.format(MAIN_DIRECTORY, ' '.join(kt_files)))
+      if (args.verify_format):
+        print(FORMAT_MESSAGE.format(MAIN_DIRECTORY, ' '.join(kt_files)))
       sys.exit(1)
     else:
       sys.exit(0)