Bug 1851774 - Update ktlint to 1.5.0 and disable some new rules. r=android-reviewers,jonalmeida

This also fixes one violation of standard-wrapping rule that needs to be enabled for existing trailing commas rules.

Differential Revision: https://phabricator.services.mozilla.com/D247734
This commit is contained in:
mcarare
2025-05-06 05:13:55 +00:00
committed by mcarare@mozilla.com
parent ce7f06bcc1
commit ce734efdf2
9 changed files with 123 additions and 11 deletions

View File

@@ -496,7 +496,19 @@ subprojects { project ->
include '**/*.kt' include '**/*.kt'
exclude '**/thirdparty/**' exclude '**/thirdparty/**'
} }
ktlint("${libs.versions.ktlint.get()}") ktlint("${libs.versions.ktlint.get()}").editorConfigOverride([
// Disable some of the new ktlint rules for GV code.
'ktlint_standard_annotation' : 'disabled',
'ktlint_standard_argument-list-wrapping' : 'disabled',
'ktlint_standard_class-signature' : 'disabled',
'ktlint_standard_enum-wrapping' : 'disabled',
'ktlint_standard_function-expression-body' : 'disabled',
'ktlint_standard_function-signature' : 'disabled',
'ktlint_standard_max-line-length' : 'disabled',
'ktlint_standard_property-naming' : 'disabled',
'ktlint_standard_statement-wrapping' : 'disabled',
'ktlint_standard_type-parameter-list-spacing': 'disabled',
])
} }
} }
} }

View File

@@ -7,7 +7,7 @@ python-envs-plugin = "0.0.31"
maven-ant-tasks = "2.1.3" maven-ant-tasks = "2.1.3"
androidsvg = "1.4" androidsvg = "1.4"
detekt = "1.23.8" detekt = "1.23.8"
ktlint = "0.49.1" ktlint = "1.5.0"
zxing = "3.5.3" zxing = "3.5.3"
disklrucache = "2.0.2" disklrucache = "2.0.2"
leakcanary = "2.14" leakcanary = "2.14"
@@ -250,7 +250,7 @@ semanticdb-kotlin = { group = "com.github.mozsearch", name = "semanticdb-kotlinc
glean-gradle-plugin = { group = "org.mozilla.telemetry", name = "glean-gradle-plugin", version.ref = "mozilla-glean" } glean-gradle-plugin = { group = "org.mozilla.telemetry", name = "glean-gradle-plugin", version.ref = "mozilla-glean" }
kotlin-annotations-jvm = { group = "org.jetbrains.kotlin", name = "kotlin-annotations-jvm", version.ref = "kotlin" } kotlin-annotations-jvm = { group = "org.jetbrains.kotlin", name = "kotlin-annotations-jvm", version.ref = "kotlin" }
ktlint = { group = "com.pinterest", name = "ktlint", version.ref = "ktlint" } ktlint = { group = "com.pinterest.ktlint", name = "ktlint-cli", version.ref = "ktlint" }
# Third party library versions # Third party library versions
adjust = { group = "com.adjust.sdk", name = "adjust-android", version.ref = "adjust" } adjust = { group = "com.adjust.sdk", name = "adjust-android", version.ref = "adjust" }

View File

@@ -13,3 +13,37 @@ indent_style = space
ij_kotlin_allow_trailing_comma_on_call_site=true ij_kotlin_allow_trailing_comma_on_call_site=true
ij_kotlin_allow_trailing_comma=true ij_kotlin_allow_trailing_comma=true
# disabled rules after 1.5.0 upgrade
ktlint_standard_annotation = disabled
ktlint_standard_argument-list-wrapping = disabled
ktlint_standard_blank-line-before-declaration = disabled
ktlint_standard_chain-method-continuation = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_condition-wrapping = disabled
ktlint_standard_enum-wrapping = disabled
ktlint_standard_function-expression-body = disabled
ktlint_standard_function-literal = disabled
ktlint_standard_function-naming = disabled
ktlint_standard_function-signature = disabled
ktlint_standard_indent = disabled
ktlint_standard_multiline-expression-wrapping = disabled
ktlint_standard_no-blank-line-in-list = disabled
ktlint_standard_no-empty-first-line-in-class-body = disabled
ktlint_standard_parameter-list-wrapping = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_statement-wrapping = disabled
ktlint_standard_string-template-indent = disabled
ktlint_standard_try-catch-finally-spacing = disabled
ktlint_standard_function-naming = disabled
ktlint_standard_if-else-wrapping = disabled
ktlint_standard_no-single-line-block-comment = disabled
ktlint_standard_unnecessary-parentheses-before-trailing-lambda = disabled
ktlint_standard_no-wildcard-imports = disabled
ktlint_standard_parameter-list-spacing = disabled
ktlint_standard_multiline-if-else = disabled
# rules that enforce style we don't want
ktlint_standard_backing-property-naming = disabled # it would force making backed properties public.
ktlint_standard_max-line-length = disabled # already enabled in detekt
ktlint_standard_no-consecutive-comments = disabled # it would limit one line comments to one per line

View File

@@ -334,7 +334,7 @@ configurations {
} }
dependencies { dependencies {
ktlint("com.pinterest:ktlint:${libs.versions.ktlint.get()}") { ktlint(libs.ktlint) {
attributes { attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL)) attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL))
} }

View File

@@ -4608,7 +4608,8 @@ class GeckoEngineSessionTest {
} }
override fun onPrintException(isPrint: Boolean, throwable: Throwable) { override fun onPrintException(isPrint: Boolean, throwable: Throwable) {
assert(false) { "We should not notify of an exception." } } assert(false) { "We should not notify of an exception." }
}
}) })
engineSession.requestPrintContent() engineSession.requestPrintContent()
shadowOf(getMainLooper()).idle() shadowOf(getMainLooper()).idle()

View File

@@ -4,3 +4,40 @@ ij_kotlin_allow_trailing_comma=true
[*] [*]
insert_final_newline = true insert_final_newline = true
# disabled rules after 1.5.0 upgrade
ktlint_standard_annotation = disabled
ktlint_standard_argument-list-wrapping = disabled
ktlint_standard_blank-line-before-declaration = disabled
ktlint_standard_chain-method-continuation = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_function-naming = disabled
ktlint_standard_function-signature = disabled
ktlint_standard_indent = disabled
ktlint_standard_multiline-expression-wrapping = disabled
ktlint_standard_no-empty-first-line-in-class-body = disabled
ktlint_standard_parameter-list-wrapping = disabled
ktlint_standard_statement-wrapping = disabled
ktlint_standard_string-template-indent = disabled
ktlint_standard_condition-wrapping = disabled
ktlint_standard_enum-wrapping = disabled
ktlint_standard_function-expression-body = disabled
ktlint_standard_no-blank-line-in-list = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_property-wrapping = disabled
ktlint_standard_no-empty-first-line-in-class-body = disabled
ktlint_standard_no-single-line-block-comment= disabled
ktlint_standard_if-else-wrapping = disabled
ktlint_standard_unnecessary-parentheses-before-trailing-lambda = disabled
ktlint_standard_function-literal = disabled
ktlint_standard_colon-spacing = disabled
ktlint_standard_try-catch-finally-spacing = disabled
ktlint_standard_parameter-list-spacing = disabled
# rules that enforce style we don't want
ktlint_standard_backing-property-naming = disabled # it would force making backed properties public.
ktlint_standard_max-line-length = disabled # already enabled in detekt
ktlint_standard_no-consecutive-comments = disabled # it would limit one line comments to one per line

View File

@@ -1,11 +1,9 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
import io.gitlab.arturbosch.detekt.Detekt import io.gitlab.arturbosch.detekt.Detekt
import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.nio.file.Files
import java.nio.file.Paths
import java.nio.file.StandardCopyOption
buildscript { buildscript {
// This logic is duplicated in the allprojects block: I don't know how to fix that. // This logic is duplicated in the allprojects block: I don't know how to fix that.
@@ -186,7 +184,7 @@ configurations {
} }
dependencies { dependencies {
ktlint("com.pinterest:ktlint:${libs.versions.ktlint.get()}") { ktlint(libs.ktlint) {
attributes { attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL)) attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL))
} }

View File

@@ -3,3 +3,33 @@ ij_kotlin_allow_trailing_comma_on_call_site=true
ij_kotlin_allow_trailing_comma=true ij_kotlin_allow_trailing_comma=true
ktlint_standard_filename = disabled ktlint_standard_filename = disabled
# disabled rules after 1.5.0 upgrade
ktlint_standard_annotation = disabled
ktlint_standard_blank-line-before-declaration = disabled
ktlint_standard_chain-method-continuation = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_colon-spacing = disabled
ktlint_standard_function-naming = disabled
ktlint_standard_function-signature = disabled
ktlint_standard_indent = disabled
ktlint_standard_multiline-expression-wrapping = disabled
ktlint_standard_no-empty-first-line-in-class-body = disabled
ktlint_standard_parameter-list-wrapping = disabled
ktlint_standard_statement-wrapping = disabled
ktlint_standard_string-template-indent = disabled
ktlint_standard_function-expression-body = disabled
ktlint_standard_enum-wrapping = disabled
ktlint_standard_if-else-wrapping = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_no-blank-line-in-list = disabled
ktlint_standard_condition-wrapping = disabled
ktlint_standard_no-single-line-block-comment = disabled
ktlint_standard_try-catch-finally-spacing = disabled
# rules that enforce style we don't want
ktlint_standard_backing-property-naming = disabled # it would force making backed properties public.
ktlint_standard_max-line-length = disabled # already enabled in detekt
ktlint_standard_no-consecutive-comments = disabled # it would limit one line comments to one per line

View File

@@ -180,7 +180,7 @@ configurations {
} }
dependencies { dependencies {
ktlint("com.pinterest:ktlint:${libs.versions.ktlint.get()}") { ktlint(libs.ktlint) {
attributes { attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL)) attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL))
} }