diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..531f4d2ea5 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,20 @@ +# Kotlin Ktlint +root = true + +[*.{kt,kts}] + +ktlint_code_style = android_studio + +ktlint_standard_no-wildcard-imports = disabled +ktlint_standard_no-empty-first-line-in-class-body = disabled +ktlint_standard_no-line-break-before-assignment = disabled +ktlint_standard_multiline-expression-wrapping = disabled +ktlint_standard_string-template-indent = disabled +ktlint_standard_trailing-comma-on-call-site = disabled +ktlint_standard_trailing-comma-on-declaration-site = disabled +ktlint_standard_no-empty-first-line-in-method-block = disabled +ktlint_standard_expression-body-wrapping = disabled +ktlint_standard_function-signature = disabled +ktlint_standard_spacing-between-declarations-with-annotations = disabled + +max_line_length = 130 diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index aec4e5c5eb..22b23e2c9b 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -9,6 +9,23 @@ concurrency: jobs: + ktlint: + runs-on: ubuntu-latest + + steps: + - name: Checkout the code + uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + + - name: Install ktlint + run: curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.7.1/ktlint && chmod a+x ktlint + + - name: Run ktlint + run: ./ktlint 'src/**/*.kt' --baseline=config/ktlint/baseline.xml + instrumentation-tests: if: github.event.pull_request.draft == false runs-on: [ self-hosted, Android ] diff --git a/Core b/Core index 0a4f8df689..e666334cec 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 0a4f8df689ac83b5f0ce23d4edb9b1c37d582cbe +Subproject commit e666334cec3721165f886d21dbbab2ec7c8ec068 diff --git a/app/config/ktlint/baseline.xml b/app/config/ktlint/baseline.xml new file mode 100644 index 0000000000..a4d6d838cb --- /dev/null +++ b/app/config/ktlint/baseline.xml @@ -0,0 +1,1756 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.gradle.kts b/build.gradle.kts index 8df485a9a1..38b63eb9ab 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,5 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. +import org.jlleitschuh.gradle.ktlint.reporter.ReporterType + buildscript { extra.apply { @@ -19,12 +20,28 @@ buildscript { } plugins { - alias(libs.plugins.sentry) version "5.5.0" apply false - alias(core.plugins.ksp) version "2.1.21-2.0.1" apply false val kotlinVersion = "2.1.21" - alias(libs.plugins.kotlin.serialization) version kotlinVersion apply false alias(core.plugins.compose.compiler) version kotlinVersion apply false alias(core.plugins.kotlin.android) version kotlinVersion apply false + alias(core.plugins.ksp) version "2.1.21-2.0.1" apply false + alias(core.plugins.ktlint) version "13.0.0" + + alias(libs.plugins.kotlin.serialization) version kotlinVersion apply false + alias(libs.plugins.sentry) version "5.5.0" apply false +} + +ktlint { + version.set("1.7.1") + android.set(true) + ignoreFailures.set(false) + reporters { + reporter(ReporterType.PLAIN) + } + baseline.set(file("${projectDir}/config/ktlint/baseline.xml")) +} + +subprojects { + apply(plugin = "org.jlleitschuh.gradle.ktlint") } tasks.register("clean") {