Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -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
25 changes: 25 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,31 @@ concurrency:
cancel-in-progress: true

jobs:

ktlint:
runs-on: ubuntu-latest

steps:
- name: Checkout the code
uses: actions/checkout@v2
with:
token: ${{ github.token }}
submodules: recursive

- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17

- name: Install ktlint
run: curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.6.0/ktlint && chmod a+x ktlint

- name: Build Ktlint Custom Rules Jar
run: ./gradlew :Core:KtlintCustomRules:jar

- name: Run ktlint
run: ./ktlint --ruleset=Core/KtlintCustomRules/build/libs/KtlintCustomRules.jar

instrumentation-tests:
if: github.event.pull_request.draft == false
runs-on: [ self-hosted, Android ]
Expand Down
2 changes: 1 addition & 1 deletion Core
Submodule Core updated 67 files
+18 −36 AppIntegrity/build.gradle.kts
+1 −23 AppLock/build.gradle.kts
+2 −25 AppVersionChecker/build.gradle.kts
+19 −34 Auth/build.gradle.kts
+1 −1 Auth/src/main/kotlin/com/infomaniak/core/auth/utils/LoginUtils.kt
+18 −27 Avatar/build.gradle.kts
+2 −34 BugTracker/build.gradle.kts
+2 −26 Coil/build.gradle.kts
+18 −26 Common/build.gradle.kts
+18 −39 CrossAppLogin/Back/build.gradle.kts
+18 −38 CrossAppLogin/Front/build.gradle.kts
+2 −24 DataValue/build.gradle.kts
+18 −23 DotLottie/build.gradle.kts
+18 −32 File/build.gradle.kts
+18 −30 FileTypes/build.gradle.kts
+18 −31 FragmentNavigation/build.gradle.kts
+18 −43 InAppReview/build.gradle.kts
+18 −38 InAppUpdate/build.gradle.kts
+18 −37 KSuite/KSuitePro/build.gradle.kts
+18 −43 KSuite/MyKSuite/build.gradle.kts
+18 −38 KSuite/build.gradle.kts
+9 −0 KtlintCustomRules/build.gradle.kts
+21 −0 KtlintCustomRules/proguard-rules.pro
+32 −0 KtlintCustomRules/src/main/java/com/infomaniak/core/ktlint/customrules/CustomRuleSetProvider.kt
+47 −0 ...ntCustomRules/src/main/java/com/infomaniak/core/ktlint/customrules/TrailingCommaInMultilineArgumentsRule.kt
+53 −0 ...tCustomRules/src/main/java/com/infomaniak/core/ktlint/customrules/TrailingCommaInMultilineParametersRule.kt
+134 −0 KtlintCustomRules/src/main/java/com/infomaniak/core/ktlint/customrules/Utils.kt
+1 −0 ...ustomRules/src/main/resources/META-INF/services/com.pinterest.ktlint.cli.ruleset.core.api.RuleSetProviderV3
+18 −31 Ktor/build.gradle.kts
+18 −33 Login/build.gradle.kts
+18 −33 Matomo/build.gradle.kts
+18 −33 Network/Ktor/build.gradle.kts
+18 −27 Network/Models/build.gradle.kts
+18 −33 Network/build.gradle.kts
+3 −32 Notifications/Registration/build.gradle.kts
+18 −33 Notifications/build.gradle.kts
+18 −25 Onboarding/build.gradle.kts
+18 −23 PermissionManager/build.gradle.kts
+18 −32 PrivacyManagement/build.gradle.kts
+18 −33 RecyclerView/build.gradle.kts
+18 −31 Sentry/build.gradle.kts
+2 −25 SharedValues/build.gradle.kts
+18 −30 Thumbnails/build.gradle.kts
+3 −32 TwoFactorAuth/Back/WithUserDb/build.gradle.kts
+3 −32 TwoFactorAuth/Back/build.gradle.kts
+3 −32 TwoFactorAuth/Front/build.gradle.kts
+2 −24 Ui/Compose/AccountBottomSheet/build.gradle.kts
+3 −25 Ui/Compose/BasicButton/build.gradle.kts
+18 −30 Ui/Compose/Basics/build.gradle.kts
+3 −25 Ui/Compose/BottomStickyButtonScaffolds/build.gradle.kts
+2 −25 Ui/Compose/Margin/build.gradle.kts
+3 −25 Ui/Compose/MaterialThemeFromXml/build.gradle.kts
+3 −25 Ui/Compose/Preview/build.gradle.kts
+3 −25 Ui/Compose/Theme/build.gradle.kts
+9 −10 Ui/Compose/Theme/src/main/kotlin/com/infomaniak/core/ui/compose/theme/ThemeUtils.kt
+2 −25 Ui/View/EdgeToEdge/build.gradle.kts
+2 −25 Ui/View/build.gradle.kts
+2 −25 Ui/build.gradle.kts
+18 −32 WebView/build.gradle.kts
+77 −0 build-logic/convention/build.gradle.kts
+66 −0 build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt
+36 −0 build-logic/convention/src/main/kotlin/AndroidModuleConfig.kt
+39 −0 build-logic/convention/src/main/kotlin/FlavorAwareAndroidLibraryConventionPlugin.kt
+8 −1 build-logic/settings.gradle.kts
+20 −50 build.gradle.kts
+5 −0 gradle/core.versions.toml
+18 −0 settings.gradle.kts
7 changes: 7 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
alias(core.plugins.compose.compiler)
alias(core.plugins.kotlin.parcelize)
alias(core.plugins.sentry.plugin)
alias(libs.plugins.ktlint)
}

val appCompileSdk: Int by rootProject.extra
Expand Down Expand Up @@ -193,6 +194,7 @@
implementation(core.infomaniak.core.ui.view)
implementation(core.infomaniak.core.ui.view.edgetoedge)
implementation(core.infomaniak.core.webview)
ktlintRuleset(project(":Core:KtlintCustomRules"))

implementation(project(":Core:Legacy"))

Expand Down Expand Up @@ -246,6 +248,11 @@

implementation(libs.paho.mqtt.android)

implementation("com.pinterest.ktlint:ktlint-core:0.49.1")

Check warning on line 251 in app/build.gradle.kts

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not hardcode version numbers.

See more on https://sonarcloud.io/project/issues?id=Infomaniak_android-kDrive&issues=AZ9CRrN4rny95Y265Osp&open=AZ9CRrN4rny95Y265Osp&pullRequest=1642
implementation("com.pinterest.ktlint:ktlint-rule-engine-core:1.6.0")

Check warning on line 252 in app/build.gradle.kts

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not hardcode version numbers.

See more on https://sonarcloud.io/project/issues?id=Infomaniak_android-kDrive&issues=AZ9CRrN4rny95Y265Osq&open=AZ9CRrN4rny95Y265Osq&pullRequest=1642
implementation("com.pinterest.ktlint:ktlint-cli:1.6.0")

Check warning on line 253 in app/build.gradle.kts

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not hardcode version numbers.

See more on https://sonarcloud.io/project/issues?id=Infomaniak_android-kDrive&issues=AZ9CRrN4rny95Y265Osr&open=AZ9CRrN4rny95Y265Osr&pullRequest=1642
implementation("com.pinterest.ktlint:ktlint-cli-ruleset-core:1.6.0")

Check warning on line 254 in app/build.gradle.kts

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Do not hardcode version numbers.

See more on https://sonarcloud.io/project/issues?id=Infomaniak_android-kDrive&issues=AZ9CRrN4rny95Y265Oss&open=AZ9CRrN4rny95Y265Oss&pullRequest=1642

testImplementation(libs.kotlin.faker)
testImplementation(libs.mock.web.server)
testImplementation(core.mockk.android)
Expand Down
21 changes: 21 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import org.jlleitschuh.gradle.ktlint.reporter.ReporterType

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}

extra.apply {
set("appCompileSdk", 36) // Ensure any extra configChanges are added into Activities' manifests.
Expand All @@ -25,6 +31,21 @@ plugins {
alias(core.plugins.dagger.hilt) apply false
alias(core.plugins.ksp) apply false
alias(core.plugins.navigation.safeargs) apply false
alias(core.plugins.ktlint)
}

ktlint {
version.set("1.7.1")
outputToConsole.set(true)
android.set(true)
ignoreFailures.set(false)
reporters {
reporter(ReporterType.PLAIN)
}
}

subprojects {
apply(plugin = "org.jlleitschuh.gradle.ktlint")
}

tasks.register<Delete>("clean") {
Expand Down
1 change: 1 addition & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,4 @@ kotlin-android = { id = "kotlin-android" }
kotlin-kapt = { id = "kotlin-kapt" }
navigation-safeargs = { id = "androidx.navigation.safeargs.kotlin" }
realm-android = { id = "realm-android" }
ktlint = { id = "org.jlleitschuh.gradle.ktlint" }
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ plugins {
rootProject.name = "kDrive"
include(
":app",
":Core:KtlintCustomRules",
":Core:Legacy",
)