import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask plugins { run { val kotlinVersion = "1.8.22" kotlin("jvm") version kotlinVersion kotlin("plugin.spring") version kotlinVersion kotlin("kapt") version kotlinVersion } id("org.jlleitschuh.gradle.ktlint") version "11.4.2" id("com.github.ben-manes.versions") version "0.46.0" } fun isNonStable(version: String): Boolean { val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.uppercase().contains(it) } val unstableKeyword = listOf("ALPHA", "RC").any { version.uppercase().contains(it) } val regex = "^[0-9,.v-]+(-r)?$".toRegex() val isStable = stableKeyword || regex.matches(version) return unstableKeyword || !isStable } allprojects { repositories { mavenCentral() } apply(plugin = "org.jlleitschuh.gradle.ktlint") apply(plugin = "com.github.ben-manes.versions") tasks.named("dependencyUpdates").configure { // disallow release candidates as upgradable versions from stable versions rejectVersionIf { isNonStable(candidate.version) && !isNonStable(currentVersion) } gradleReleaseChannel = "current" checkConstraints = true } configure { version.set("0.48.2") } } tasks.wrapper { gradleVersion = "8.1.1" distributionType = Wrapper.DistributionType.ALL }