refactor(build): move dependency updates to a Settings
plugin
This commit is contained in:
parent
79773dbd7a
commit
ae9f56e965
3 changed files with 27 additions and 18 deletions
|
@ -5,29 +5,31 @@ import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
|||
import nl.littlerobots.vcu.plugin.VersionCatalogUpdateExtension
|
||||
import nl.littlerobots.vcu.plugin.VersionCatalogUpdatePlugin
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.initialization.Settings
|
||||
import org.gradle.kotlin.dsl.apply
|
||||
import org.gradle.kotlin.dsl.configure
|
||||
import org.gradle.kotlin.dsl.withType
|
||||
|
||||
@Suppress("Unused")
|
||||
class DependencyUpdatesPlugin : Plugin<Project> {
|
||||
class DependencyUpdatesPlugin : Plugin<Settings> {
|
||||
|
||||
override fun apply(project: Project) {
|
||||
project.pluginManager.apply(VersionsPlugin::class)
|
||||
project.pluginManager.apply(VersionCatalogUpdatePlugin::class)
|
||||
project.tasks.withType<DependencyUpdatesTask> {
|
||||
rejectVersionIf {
|
||||
when (candidate.group) {
|
||||
"commons-codec",
|
||||
"org.eclipse.jgit" -> true
|
||||
else -> false
|
||||
override fun apply(settings: Settings) {
|
||||
settings.gradle.allprojects {
|
||||
if (rootProject == this) {
|
||||
pluginManager.apply(VersionCatalogUpdatePlugin::class)
|
||||
extensions.configure<VersionCatalogUpdateExtension> { keep.keepUnusedLibraries.set(true) }
|
||||
pluginManager.apply(VersionsPlugin::class)
|
||||
tasks.withType<DependencyUpdatesTask> {
|
||||
rejectVersionIf {
|
||||
when (candidate.group) {
|
||||
"commons-codec",
|
||||
"org.eclipse.jgit" -> true
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
checkForGradleUpdate = false
|
||||
}
|
||||
}
|
||||
checkForGradleUpdate = false
|
||||
}
|
||||
project.extensions.configure<VersionCatalogUpdateExtension> {
|
||||
keep.keepUnusedLibraries.set(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,5 @@ plugins {
|
|||
id("com.github.android-password-store.git-hooks")
|
||||
id("com.github.android-password-store.kotlin-common")
|
||||
id("com.github.android-password-store.ktfmt")
|
||||
id("com.github.android-password-store.versions")
|
||||
alias(libs.plugins.hilt) apply false
|
||||
}
|
||||
|
|
|
@ -8,7 +8,6 @@ rootProject.name = "APS"
|
|||
|
||||
// Plugin repositories
|
||||
pluginManagement {
|
||||
plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.6.0" }
|
||||
repositories {
|
||||
includeBuild("build-logic")
|
||||
exclusiveContent {
|
||||
|
@ -43,6 +42,11 @@ pluginManagement {
|
|||
includeModule("com.gradle", "gradle-enterprise-gradle-plugin")
|
||||
includeModule("com.gradle.enterprise", "com.gradle.enterprise.gradle.plugin")
|
||||
includeModule("me.tylerbwong.gradle.metalava", "plugin")
|
||||
includeModule(
|
||||
"org.gradle.toolchains.foojay-resolver-convention",
|
||||
"org.gradle.toolchains.foojay-resolver-convention.gradle.plugin",
|
||||
)
|
||||
includeModule("org.gradle.toolchains", "foojay-resolver")
|
||||
}
|
||||
}
|
||||
exclusiveContent {
|
||||
|
@ -53,7 +57,11 @@ pluginManagement {
|
|||
}
|
||||
}
|
||||
|
||||
plugins { id("com.gradle.enterprise") version "3.13.4" }
|
||||
plugins {
|
||||
id("org.gradle.toolchains.foojay-resolver-convention") version "0.6.0"
|
||||
id("com.gradle.enterprise") version "3.13.4"
|
||||
id("com.github.android-password-store.versions")
|
||||
}
|
||||
|
||||
gradleEnterprise {
|
||||
buildScan {
|
||||
|
|
Loading…
Reference in a new issue