diff --git a/build.gradle.kts b/build.gradle.kts index 9a4e65c..6479a2d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ 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.tasks.KotlinJvmCompile import org.sonarqube.gradle.SonarTask @@ -8,13 +8,14 @@ plugins { alias(libs.plugins.versions) alias(libs.plugins.sonarqube) alias(libs.plugins.kotlin.kover) + alias(libs.plugins.spotless) + alias(libs.plugins.android.application) apply false alias(libs.plugins.android.library) apply false alias(libs.plugins.compose) apply false alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.kotlin.multiplatform) apply false alias(libs.plugins.kotlin.jvm) apply false - alias(libs.plugins.kotlin.android) apply false } sonar { @@ -45,17 +46,26 @@ tasks.withType().configureEach { } } -tasks.withType { - rejectVersionIf { - isNonStable(candidate.version) && !isNonStable(currentVersion) +spotless { + kotlin { + 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 { - return version.contains("dev", ignoreCase = true) - || version.contains("alpha", ignoreCase = true) - || version.contains("beta", ignoreCase = true) - || version.contains("RC", ignoreCase = true) +versionCatalogUpdate { + sortByKey = false + keep { + keepUnusedVersions = true + } + versionSelector(VersionSelectors.STABLE) } subprojects { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 88f4823..9c7764a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -33,13 +33,15 @@ logging-slf4j = { module = "org.slf4j:slf4j-simple", version = "2.0.17" } logging = ["logging-jvm", "logging-slf4j"] [plugins] -versions = { id = "com.github.ben-manes.versions", version = "0.53.0" } android-application = { id = "com.android.application", 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-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } 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" } +spotless = { id = "com.diffplug.spotless", version = "8.2.0" } kotlin-kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.4" } \ No newline at end of file