From ed8528aea4b14512521d3564521b05c078b64093 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sat, 24 Dec 2022 01:36:29 +0530 Subject: [PATCH] fix(build-logic): tweak DependencyUpdates configuration --- .../msfjarvis/claw/gradle/DependencyUpdatesPlugin.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/DependencyUpdatesPlugin.kt b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/DependencyUpdatesPlugin.kt index f0006674..8962a1c8 100644 --- a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/DependencyUpdatesPlugin.kt +++ b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/DependencyUpdatesPlugin.kt @@ -26,13 +26,22 @@ class DependencyUpdatesPlugin : Plugin { when (candidate.group) { "com.squareup.okhttp3", "org.jetbrains.kotlin" -> true - else -> false + else -> isNonStable(candidate.version) && !isNonStable(currentVersion) } } + checkConstraints = true + checkBuildEnvironmentConstraints = true checkForGradleUpdate = true } project.extensions.configure { keep.keepUnusedLibraries.set(true) } } + + private fun isNonStable(version: String): Boolean { + val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase().contains(it) } + val regex = "^[0-9,.v-]+(-r)?$".toRegex() + val isStable = stableKeyword || regex.matches(version) + return isStable.not() + } }