gradle: migrate to build-logic

This commit is contained in:
Harsh Shandilya 2022-04-05 19:10:34 +05:30
parent 4cef244d71
commit 3097eaf82f
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
26 changed files with 501 additions and 182 deletions

View file

@ -1,7 +1,5 @@
@file:Suppress("DSL_SCOPE_VIOLATION", "UnstableApiUsage")
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
buildscript {
repositories {
maven {
@ -9,44 +7,14 @@ buildscript {
content { includeModule("com.android.tools", "r8") }
}
}
dependencies { classpath(libs.r8) }
dependencies {
classpath(libs.r8)
classpath(libs.javapoet)
}
}
plugins {
alias(libs.plugins.spotless)
alias(libs.plugins.versions)
alias(libs.plugins.vcu)
}
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()
}
tasks.withType<DependencyUpdatesTask>().configureEach {
rejectVersionIf {
when (candidate.group) {
"com.android.application", "com.android.library" -> true
else -> isNonStable(candidate.version) && !isNonStable(currentVersion)
}
}
checkForGradleUpdate = false
checkBuildEnvironmentConstraints = true
outputFormatter = "json"
outputDir = "build/dependencyUpdates"
reportfileName = "report"
}
spotless {
kotlin {
target("**/*.kt")
targetExclude("**/build/**")
ktfmt("0.35").googleStyle()
}
kotlinGradle {
target("**/*.gradle.kts")
ktfmt("0.35").googleStyle()
}
id("dev.msfjarvis.claw.spotless")
id("dev.msfjarvis.claw.versions")
id("dev.msfjarvis.claw.kotlin-common")
}