diff options
author | Jordan Demeulenaere <jdemeulenaere@google.com> | 2022-10-06 18:23:29 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-10-06 18:23:29 +0000 |
commit | 430ed10b21872a5bb6637206136cb9f560c85b2b (patch) | |
tree | e3c0ed650383fb7e5ac5731d0e68efaae0e36aee | |
parent | 080abfae72c20a9b1a90b1ab98f17712d1bc0c62 (diff) | |
parent | 3f02d12653c7b7cce97a9d8d66cec453adbd0f4a (diff) | |
download | ktlint-430ed10b21872a5bb6637206136cb9f560c85b2b.tar.gz |
Allow preupload hooks to ignore more formatting ktlint rules am: aa768f01db am: 3f02d12653
Original change: https://googleplex-android-review.googlesource.com/c/platform/prebuilts/ktlint/+/20120322
Change-Id: Id40c7a4fd5aab6c5d753150a2d3e3d3d6e2e7ff5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | .editorconfig | 6 | ||||
-rwxr-xr-x | ktlint.py | 16 |
2 files changed, 14 insertions, 8 deletions
diff --git a/.editorconfig b/.editorconfig index e97aa07..1e3f51c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,9 +4,3 @@ max_line_length = 100 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 @@ -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) |