summaryrefslogtreecommitdiff
path: root/ktlint.py
diff options
context:
space:
mode:
authorJordan Demeulenaere <jdemeulenaere@google.com>2022-10-06 14:49:32 +0200
committerJordan Demeulenaere <jdemeulenaere@google.com>2022-10-06 14:49:32 +0200
commitaa768f01dbb57ceca4df0d14db981e3c97957ee2 (patch)
treee3c0ed650383fb7e5ac5731d0e68efaae0e36aee /ktlint.py
parent4149cdeb0128facacfb2d09ddcfa0661259c177f (diff)
downloadktlint-aa768f01dbb57ceca4df0d14db981e3c97957ee2.tar.gz
This CL adds a --no-verify-format rule to ktlint.py so that preuploads can ignore more formatting rules. This will be used by projects who already use ktfmt for formatting new files, so that useful ktlint errors (like unused variables) are not hidden by a ton of ktlint formatting issues which we are now mostly ignoring. Bug: 235461679 Test: Manual Change-Id: I324bcaf4e9e2b087201810343471a55f2434339f
Diffstat (limited to 'ktlint.py')
-rwxr-xr-xktlint.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/ktlint.py b/ktlint.py
index 86b15ed..aefff63 100755
--- a/ktlint.py
+++ b/ktlint.py
@@ -42,14 +42,25 @@ def main(args=None):
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 @@ def main(args=None):
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)