also actually allow overwriting the cache if necessary
All checks were successful
Publish to snapshot maven / build (push) Successful in 26s

This commit is contained in:
moehreag 2024-06-13 20:31:26 +02:00
parent 44217c379f
commit c4be767566
3 changed files with 6 additions and 5 deletions

View file

@ -7,7 +7,7 @@ plugins {
} }
group = "dev.frogmc" group = "dev.frogmc"
version = "0.0.1-alpha.7" version = "0.0.1-alpha.8"
repositories { repositories {
maven { maven {

View file

@ -49,7 +49,7 @@ object VersionChecker {
} }
fun validateVersion(version: String, ignoreCache: Boolean = false, offlineMode: Boolean): Boolean { fun validateVersion(version: String, ignoreCache: Boolean = false, offlineMode: Boolean): Boolean {
if (validVersions.isEmpty()) getValidVersions(ignoreCache) if (validVersions.isEmpty() || ignoreCache) getValidVersions(ignoreCache)
if (!validVersions.any { it.id == version }) { if (!validVersions.any { it.id == version }) {
if (!offlineMode) { if (!offlineMode) {
return validateVersion(version, ignoreCache = true, offlineMode = false) return validateVersion(version, ignoreCache = true, offlineMode = false)
@ -97,7 +97,7 @@ object VersionChecker {
} }
private fun getValidVersions(ignoreCache: Boolean = false) { private fun getValidVersions(ignoreCache: Boolean = false) {
if (validVersions.isNotEmpty()) return if (validVersions.isNotEmpty() && !ignoreCache) return
// get json from https://piston-meta.mojang.com/mc/game/version_manifest_v2.json // get json from https://piston-meta.mojang.com/mc/game/version_manifest_v2.json
// make http request // make http request

View file

@ -6,6 +6,7 @@ import java.net.URI
import java.nio.charset.StandardCharsets import java.nio.charset.StandardCharsets
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.Path import java.nio.file.Path
import java.nio.file.StandardCopyOption
import java.util.stream.Collectors import java.util.stream.Collectors
import kotlin.io.path.createParentDirectories import kotlin.io.path.createParentDirectories
import kotlin.io.path.inputStream import kotlin.io.path.inputStream
@ -16,7 +17,7 @@ object CachingHttpClient {
fun downloadTo(uri: URI, path: Path, allowOverwrite: Boolean) { fun downloadTo(uri: URI, path: Path, allowOverwrite: Boolean) {
if (allowOverwrite || path.notExists()) { if (allowOverwrite || path.notExists()) {
path.createParentDirectories() path.createParentDirectories()
Files.copy(getUncached(uri), path) Files.copy(getUncached(uri), path, StandardCopyOption.REPLACE_EXISTING)
} }
} }
@ -24,7 +25,7 @@ object CachingHttpClient {
val cache = getCacheFile(uri) val cache = getCacheFile(uri)
if (ignoreCache || cache.notExists()) { if (ignoreCache || cache.notExists()) {
getUncached(uri).use { getUncached(uri).use {
Files.copy(it, cache) Files.copy(it, cache, StandardCopyOption.REPLACE_EXISTING)
} }
} }
return cache.inputStream() return cache.inputStream()