summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:21:35 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:21:35 +0000
commit144ed0f4572931a24e1f4f0071b9d17253c8340f (patch)
treef613d49dbfe384fb726273eff8995cc3fcdfb1a3
parentad4161d0aef18871ba4b41f6bf2107cced8ef76a (diff)
parent504c44174623769766a6403b5c00da36ce15d53a (diff)
downloadktlint-android14-mainline-sdkext-release.tar.gz
Snap for 10453563 from 504c44174623769766a6403b5c00da36ce15d53a to mainline-sdkext-releaseaml_sdk_341510000aml_sdk_341410000aml_sdk_341110080aml_sdk_341110000aml_sdk_341010000aml_sdk_340912010android14-mainline-sdkext-release
Change-Id: I71cb6b6946375208d8a6984ed269d20dd29d7edc
-rw-r--r--.editorconfig7
-rw-r--r--ktlint-android-all.jarbin31786185 -> 62738111 bytes
-rwxr-xr-xktlint.py27
3 files changed, 30 insertions, 4 deletions
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..c7cc35a
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,7 @@
+[*.{kt,kts}]
+indent_size = 4
+max_line_length = 100
+trim_trailing_whitespace = true
+insert_final_newline = true
+ij_kotlin_imports_layout=*
+ij_kotlin_packages_to_use_import_on_demand=kotlinx.android.synthetic.**
diff --git a/ktlint-android-all.jar b/ktlint-android-all.jar
index fce8357..8de50b3 100644
--- a/ktlint-android-all.jar
+++ b/ktlint-android-all.jar
Binary files differ
diff --git a/ktlint.py b/ktlint.py
index 16bc0f8..2574319 100755
--- a/ktlint.py
+++ b/ktlint.py
@@ -28,6 +28,7 @@ import sys
MAIN_DIRECTORY = os.path.normpath(os.path.dirname(__file__))
KTLINT_JAR = os.path.join(MAIN_DIRECTORY, 'ktlint-android-all.jar')
+EDITOR_CONFIG = os.path.join(MAIN_DIRECTORY, '.editorconfig')
FORMAT_MESSAGE = '''
**********************************************************************
To format run:
@@ -41,14 +42,31 @@ 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.add_argument('--editorconfig', default=EDITOR_CONFIG)
+ 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 += ['--disabled_rules=' + ','.join(disabled_rules)]
+
+ # Setup editor config explicitly if defined - else will inherit from tree
+ if args.editorconfig is not None:
+ ktlint_args += ['--editorconfig', args.editorconfig]
+
+ # Automatically format files if requested.
if args.format:
ktlint_args += ['-F']
- if not ktlint_args:
- sys.exit(0)
ktlint_args += ['--android']
@@ -61,7 +79,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)