timetable/buildSrc/src/main/kotlin/twomartens.versions.gradle.kts

32 lines
806 B
Plaintext

import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
plugins {
id("com.github.ben-manes.versions")
id("nl.littlerobots.version-catalog-update")
}
tasks.withType<DependencyUpdatesTask>().configureEach {
revision = "release"
gradleReleaseChannel = "current"
}
fun String.isNonStable(): Boolean {
val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { uppercase().contains(it) }
val regex = "^[0-9,.v-]+(-r)?$".toRegex()
val isStable = stableKeyword || regex.matches(this)
return isStable.not()
}
tasks.withType<DependencyUpdatesTask> {
rejectVersionIf {
candidate.version.isNonStable()
}
}
tasks.named("versionCatalogUpdate").configure {
group = "version"
}
tasks.named("dependencyUpdates").configure {
group = "version"
}