-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
50 lines (45 loc) · 1.56 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
plugins {
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.android.application) apply false
alias(libs.plugins.convention.android.app) apply false
alias(libs.plugins.convention.android.lib) apply false
alias(libs.plugins.convention.compose.app) apply false
alias(libs.plugins.convention.compose.lib) apply false
alias(libs.plugins.kotlin.multiplatform) apply false
alias(libs.plugins.convention.multiplatform) apply false
alias(libs.plugins.jetbrains.compose) apply false
alias(libs.plugins.convention.publishing) apply false
alias(libs.plugins.convention.publish.config) apply false
alias(libs.plugins.kotlin.ksp) apply false
alias(libs.plugins.convention.android.config)
alias(libs.plugins.convention.multiplatform.config)
alias(libs.plugins.convention.commitlint)
alias(libs.plugins.ben.manes.versions)
alias(libs.plugins.version.catalog.update)
}
convention {
multiplatform {
android.set(true)
iOS.set(true)
}
}
fun isNonStable(version: String): Boolean {
val stableKeywords = listOf("RELEASE", "FINAL", "GA")
val regex = Regex("^[0-9,.v-]+(-r)?$")
return stableKeywords.none { it in version.uppercase() } && !regex.matches(version)
}
tasks.withType<DependencyUpdatesTask> {
rejectVersionIf {
isNonStable(candidate.version)
}
}
versionCatalogUpdate {
sortByKey.set(true)
keep {
keepUnusedVersions.set(true)
keepUnusedLibraries.set(true)
keepUnusedPlugins.set(true)
}
}