Add code quality plugins
version-catalog-update and spotless
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import com.android.build.gradle.internal.lint.AndroidLintTask
|
import com.android.build.gradle.internal.lint.AndroidLintTask
|
||||||
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
import nl.littlerobots.vcu.plugin.resolver.VersionSelectors
|
||||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
|
||||||
import org.sonarqube.gradle.SonarTask
|
import org.sonarqube.gradle.SonarTask
|
||||||
@@ -8,13 +8,14 @@ plugins {
|
|||||||
alias(libs.plugins.versions)
|
alias(libs.plugins.versions)
|
||||||
alias(libs.plugins.sonarqube)
|
alias(libs.plugins.sonarqube)
|
||||||
alias(libs.plugins.kotlin.kover)
|
alias(libs.plugins.kotlin.kover)
|
||||||
|
alias(libs.plugins.spotless)
|
||||||
|
|
||||||
alias(libs.plugins.android.application) apply false
|
alias(libs.plugins.android.application) apply false
|
||||||
alias(libs.plugins.android.library) apply false
|
alias(libs.plugins.android.library) apply false
|
||||||
alias(libs.plugins.compose) apply false
|
alias(libs.plugins.compose) apply false
|
||||||
alias(libs.plugins.compose.compiler) apply false
|
alias(libs.plugins.compose.compiler) apply false
|
||||||
alias(libs.plugins.kotlin.multiplatform) apply false
|
alias(libs.plugins.kotlin.multiplatform) apply false
|
||||||
alias(libs.plugins.kotlin.jvm) apply false
|
alias(libs.plugins.kotlin.jvm) apply false
|
||||||
alias(libs.plugins.kotlin.android) apply false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sonar {
|
sonar {
|
||||||
@@ -45,17 +46,26 @@ tasks.withType<KotlinJvmCompile>().configureEach {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<DependencyUpdatesTask> {
|
spotless {
|
||||||
rejectVersionIf {
|
kotlin {
|
||||||
isNonStable(candidate.version) && !isNonStable(currentVersion)
|
target("**/*.kt")
|
||||||
|
targetExclude("**/build/**", "**/.gradle/**")
|
||||||
|
// ktlint("1.5.0")
|
||||||
|
diktat("1.0.1")
|
||||||
|
}
|
||||||
|
kotlinGradle {
|
||||||
|
target("**/*.gradle.kts")
|
||||||
|
targetExclude("**/build/**", "**/.gradle/**")
|
||||||
|
ktlint("1.5.0")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isNonStable(version: String): Boolean {
|
versionCatalogUpdate {
|
||||||
return version.contains("dev", ignoreCase = true)
|
sortByKey = false
|
||||||
|| version.contains("alpha", ignoreCase = true)
|
keep {
|
||||||
|| version.contains("beta", ignoreCase = true)
|
keepUnusedVersions = true
|
||||||
|| version.contains("RC", ignoreCase = true)
|
}
|
||||||
|
versionSelector(VersionSelectors.STABLE)
|
||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
|
|||||||
@@ -33,13 +33,15 @@ logging-slf4j = { module = "org.slf4j:slf4j-simple", version = "2.0.17" }
|
|||||||
logging = ["logging-jvm", "logging-slf4j"]
|
logging = ["logging-jvm", "logging-slf4j"]
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
versions = { id = "com.github.ben-manes.versions", version = "0.53.0" }
|
|
||||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||||
android-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
|
android-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
|
||||||
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
||||||
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||||
compose = { id = "org.jetbrains.compose", version = "1.10.0" }
|
compose = { id = "org.jetbrains.compose", version = "1.10.0" }
|
||||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
versions = { id = "nl.littlerobots.version-catalog-update", version = "1.0.1" }
|
||||||
|
|
||||||
|
# Code Analysis Tools and Linters
|
||||||
sonarqube = { id = "org.sonarqube", version = "7.2.2.6593" }
|
sonarqube = { id = "org.sonarqube", version = "7.2.2.6593" }
|
||||||
|
spotless = { id = "com.diffplug.spotless", version = "8.2.0" }
|
||||||
kotlin-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.4" }
|
kotlin-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.4" }
|
||||||
Reference in New Issue
Block a user