diff --git a/build.gradle b/build.gradle index 01265d540005..cbd863870b37 100644 --- a/build.gradle +++ b/build.gradle @@ -496,7 +496,19 @@ subprojects { project -> include '**/*.kt' 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', + ]) } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 67666bc2a119..45b1c6be1c27 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ python-envs-plugin = "0.0.31" maven-ant-tasks = "2.1.3" androidsvg = "1.4" detekt = "1.23.8" -ktlint = "0.49.1" +ktlint = "1.5.0" zxing = "3.5.3" disklrucache = "2.0.2" 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" } 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 adjust = { group = "com.adjust.sdk", name = "adjust-android", version.ref = "adjust" } diff --git a/mobile/android/android-components/.editorconfig b/mobile/android/android-components/.editorconfig index fa63180a86a4..1a97be57bda9 100644 --- a/mobile/android/android-components/.editorconfig +++ b/mobile/android/android-components/.editorconfig @@ -13,3 +13,37 @@ indent_style = space ij_kotlin_allow_trailing_comma_on_call_site=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 diff --git a/mobile/android/android-components/build.gradle b/mobile/android/android-components/build.gradle index 81e811f138f2..00c059ffd538 100644 --- a/mobile/android/android-components/build.gradle +++ b/mobile/android/android-components/build.gradle @@ -334,7 +334,7 @@ configurations { } dependencies { - ktlint("com.pinterest:ktlint:${libs.versions.ktlint.get()}") { + ktlint(libs.ktlint) { attributes { attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL)) } diff --git a/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt b/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt index f329dd5feab5..e55e2f5e75e5 100644 --- a/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt +++ b/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt @@ -4608,7 +4608,8 @@ class GeckoEngineSessionTest { } 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() shadowOf(getMainLooper()).idle() diff --git a/mobile/android/fenix/.editorconfig b/mobile/android/fenix/.editorconfig index 7ea380af1c2c..94ff319e0358 100644 --- a/mobile/android/fenix/.editorconfig +++ b/mobile/android/fenix/.editorconfig @@ -4,3 +4,40 @@ ij_kotlin_allow_trailing_comma=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 + diff --git a/mobile/android/fenix/build.gradle b/mobile/android/fenix/build.gradle index ed1180a45277..e34e870acc1c 100644 --- a/mobile/android/fenix/build.gradle +++ b/mobile/android/fenix/build.gradle @@ -1,11 +1,9 @@ // 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.DetektCreateBaselineTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import java.nio.file.Files -import java.nio.file.Paths -import java.nio.file.StandardCopyOption buildscript { // This logic is duplicated in the allprojects block: I don't know how to fix that. @@ -186,7 +184,7 @@ configurations { } dependencies { - ktlint("com.pinterest:ktlint:${libs.versions.ktlint.get()}") { + ktlint(libs.ktlint) { attributes { attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL)) } diff --git a/mobile/android/focus-android/.editorconfig b/mobile/android/focus-android/.editorconfig index 3232ddd4a3b7..9eb6a0b2212e 100644 --- a/mobile/android/focus-android/.editorconfig +++ b/mobile/android/focus-android/.editorconfig @@ -2,4 +2,34 @@ ij_kotlin_allow_trailing_comma_on_call_site=true ij_kotlin_allow_trailing_comma=true -ktlint_standard_filename = disabled \ No newline at end of file +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 \ No newline at end of file diff --git a/mobile/android/focus-android/build.gradle b/mobile/android/focus-android/build.gradle index 35807417f506..80f726f82f88 100644 --- a/mobile/android/focus-android/build.gradle +++ b/mobile/android/focus-android/build.gradle @@ -180,7 +180,7 @@ configurations { } dependencies { - ktlint("com.pinterest:ktlint:${libs.versions.ktlint.get()}") { + ktlint(libs.ktlint) { attributes { attribute(Bundling.BUNDLING_ATTRIBUTE, getObjects().named(Bundling, Bundling.EXTERNAL)) }