diff options
author | Linnea Gräf <nea@nea.moe> | 2024-12-23 02:34:47 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-12-23 02:34:47 +0100 |
commit | 084f8d2f172ddffad27ad6115a0d2add7bd8f2ee (patch) | |
tree | 7a4c82a5bf0728603de9573bdef2f8151754c2dd /src/main/kotlin/moe | |
parent | f0285e44ed113bcf2a11b5d6635f6124deb7fc3b (diff) | |
download | LocalTransactionLedger-084f8d2f172ddffad27ad6115a0d2add7bd8f2ee.tar.gz LocalTransactionLedger-084f8d2f172ddffad27ad6115a0d2add7bd8f2ee.tar.bz2 LocalTransactionLedger-084f8d2f172ddffad27ad6115a0d2add7bd8f2ee.zip |
fix: Implement proper version check
Diffstat (limited to 'src/main/kotlin/moe')
-rw-r--r-- | src/main/kotlin/moe/nea/ledger/modules/UpdateChecker.kt | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/main/kotlin/moe/nea/ledger/modules/UpdateChecker.kt b/src/main/kotlin/moe/nea/ledger/modules/UpdateChecker.kt index 1d6e299..0d89ca1 100644 --- a/src/main/kotlin/moe/nea/ledger/modules/UpdateChecker.kt +++ b/src/main/kotlin/moe/nea/ledger/modules/UpdateChecker.kt @@ -1,5 +1,6 @@ package moe.nea.ledger.modules +import com.google.gson.JsonElement import com.google.gson.JsonPrimitive import moe.nea.ledger.DevUtil import moe.nea.ledger.LedgerLogger @@ -38,7 +39,25 @@ class UpdateChecker @Inject constructor( NightlyAwareGithubUpdateSource("nea89o", "LocalTransactionLedger"), if (DevUtil.isDevEnv) UpdateTarget { listOf() } else UpdateTarget.deleteAndSaveInTheSameFolder(UpdateChecker::class.java), - CurrentVersion.ofTag(BuildConfig.GIT_COMMIT), + object : CurrentVersion { + override fun display(): String { + return BuildConfig.VERSION + } + + override fun isOlderThan(element: JsonElement?): Boolean { + if (element !is JsonPrimitive || !element.isString) return true + val newHash = element.asString // TODO: change once i support non nightly update streams + val length = minOf(newHash.length, BuildConfig.GIT_COMMIT.length) + if (newHash.substring(0, length).equals(BuildConfig.GIT_COMMIT.substring(0, length), ignoreCase = true)) + return false + return true + } + + + override fun toString(): String { + return "{gitversion:${BuildConfig.GIT_COMMIT}, version:${BuildConfig.FULL_VERSION}}" + } + }, "ledger" ) @@ -112,7 +131,6 @@ class UpdateChecker @Inject constructor( fun informAboutUpdates(potentialUpdate: PotentialUpdate) { if (hasNotified) return hasNotified = true -// logger.printOut("Update: ${potentialUpdate}") if (!potentialUpdate.isUpdateAvailable) return logger.printOut( ChatComponentText("§aThere is a new update for LocalTransactionLedger. Click here to automatically download and install it.") |