Revert "refactor: remove unused versions plugin"
This reverts commit 9fb8e17cf6
.
This commit is contained in:
parent
a334eebe74
commit
9f4caa7f62
|
@ -54,6 +54,10 @@ gradlePlugin {
|
||||||
id = "dev.msfjarvis.claw.versioning-plugin"
|
id = "dev.msfjarvis.claw.versioning-plugin"
|
||||||
implementationClass = "dev.msfjarvis.claw.gradle.versioning.VersioningPlugin"
|
implementationClass = "dev.msfjarvis.claw.gradle.versioning.VersioningPlugin"
|
||||||
}
|
}
|
||||||
|
register("versions") {
|
||||||
|
id = "dev.msfjarvis.claw.versions"
|
||||||
|
implementationClass = "dev.msfjarvis.claw.gradle.DependencyUpdatesPlugin"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +68,7 @@ dependencies {
|
||||||
implementation(libs.build.semver)
|
implementation(libs.build.semver)
|
||||||
implementation(libs.build.sentry)
|
implementation(libs.build.sentry)
|
||||||
implementation(libs.build.spotless)
|
implementation(libs.build.spotless)
|
||||||
|
implementation(libs.build.vcu)
|
||||||
|
|
||||||
// Expose the generated version catalog API to the plugin.
|
// Expose the generated version catalog API to the plugin.
|
||||||
implementation(files(libs::class.java.superclass.protectionDomain.codeSource.location))
|
implementation(files(libs::class.java.superclass.protectionDomain.codeSource.location))
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright © 2024 Harsh Shandilya.
|
||||||
|
* Use of this source code is governed by an MIT-style
|
||||||
|
* license that can be found in the LICENSE file or at
|
||||||
|
* https://opensource.org/licenses/MIT.
|
||||||
|
*/
|
||||||
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
|
import com.github.zafarkhaja.semver.Version
|
||||||
|
import kotlin.jvm.optionals.getOrNull
|
||||||
|
import nl.littlerobots.vcu.plugin.VersionCatalogUpdateExtension
|
||||||
|
import nl.littlerobots.vcu.plugin.VersionCatalogUpdatePlugin
|
||||||
|
import nl.littlerobots.vcu.plugin.versionSelector
|
||||||
|
import org.gradle.api.Plugin
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.kotlin.dsl.apply
|
||||||
|
import org.gradle.kotlin.dsl.configure
|
||||||
|
|
||||||
|
@Suppress("Unused")
|
||||||
|
class DependencyUpdatesPlugin : Plugin<Project> {
|
||||||
|
override fun apply(project: Project) {
|
||||||
|
project.pluginManager.apply(VersionCatalogUpdatePlugin::class)
|
||||||
|
project.extensions.configure<VersionCatalogUpdateExtension> {
|
||||||
|
keep.keepUnusedLibraries.set(true)
|
||||||
|
versionSelector {
|
||||||
|
val currentVersion = Version.tryParse(it.currentVersion).getOrNull()
|
||||||
|
val newVersion = Version.tryParse(it.candidate.version).getOrNull()
|
||||||
|
if (currentVersion == null || newVersion == null) {
|
||||||
|
false
|
||||||
|
} else {
|
||||||
|
newVersion.isHigherThan(currentVersion)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,5 +6,6 @@
|
||||||
*/
|
*/
|
||||||
plugins {
|
plugins {
|
||||||
id("dev.msfjarvis.claw.spotless")
|
id("dev.msfjarvis.claw.spotless")
|
||||||
|
id("dev.msfjarvis.claw.versions")
|
||||||
id("dev.msfjarvis.claw.kotlin-common")
|
id("dev.msfjarvis.claw.kotlin-common")
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,3 +53,8 @@ android.suppressUnsupportedOptionWarnings=android.dependencyResolutionAtConfigur
|
||||||
|
|
||||||
# Make Spotless default to keeping license headers years in sync
|
# Make Spotless default to keeping license headers years in sync
|
||||||
spotlessSetLicenseHeaderYearsFromGitHistory=true
|
spotlessSetLicenseHeaderYearsFromGitHistory=true
|
||||||
|
|
||||||
|
# Version Catalog Update Plugin workarounds and fixes
|
||||||
|
systemProp.javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
|
||||||
|
systemProp.javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
|
||||||
|
systemProp.javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
|
||||||
|
|
|
@ -60,6 +60,7 @@ build-kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", ve
|
||||||
build-semver = "com.github.zafarkhaja:java-semver:0.10.2"
|
build-semver = "com.github.zafarkhaja:java-semver:0.10.2"
|
||||||
build-sentry = "io.sentry.android.gradle:io.sentry.android.gradle.gradle.plugin:4.2.0"
|
build-sentry = "io.sentry.android.gradle:io.sentry.android.gradle.gradle.plugin:4.2.0"
|
||||||
build-spotless = "com.diffplug.spotless:spotless-plugin-gradle:6.25.0"
|
build-spotless = "com.diffplug.spotless:spotless-plugin-gradle:6.25.0"
|
||||||
|
build-vcu = "nl.littlerobots.version-catalog-update:nl.littlerobots.version-catalog-update.gradle.plugin:0.8.4"
|
||||||
coil = { module = "io.coil-kt:coil", version.ref = "coil" }
|
coil = { module = "io.coil-kt:coil", version.ref = "coil" }
|
||||||
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
|
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
|
||||||
compose-richtext-markdown = { module = "com.halilibo.compose-richtext:richtext-commonmark", version.ref = "richtext" }
|
compose-richtext-markdown = { module = "com.halilibo.compose-richtext:richtext-commonmark", version.ref = "richtext" }
|
||||||
|
|
Loading…
Reference in New Issue