diff --git a/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/PaperweightUser.kt b/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/PaperweightUser.kt index dd93c478d..9d08b48df 100644 --- a/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/PaperweightUser.kt +++ b/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/PaperweightUser.kt @@ -299,6 +299,7 @@ abstract class PaperweightUser : Plugin { parameters { cache.set(cacheDir) bundleZip.set(devBundleZip) + bundleZipHash.set(bundleHash) downloadService.set(target.download) genSources.set(target.genSources) } diff --git a/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/ExtractDevBundle.kt b/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/ExtractDevBundle.kt index 85577b452..6c29384b5 100644 --- a/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/ExtractDevBundle.kt +++ b/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/ExtractDevBundle.kt @@ -46,10 +46,10 @@ data class ExtractedBundle( fun extractDevBundle( destinationDirectory: Path, - devBundle: Path + devBundle: Path, + newDevBundleHash: String ): ExtractedBundle { val hashFile = destinationDirectory.resolve("current.sha256") - val newDevBundleHash = devBundle.sha256asHex() if (destinationDirectory.exists()) { val currentDevBundleHash = if (hashFile.isRegularFile()) hashFile.readText(Charsets.UTF_8) else "" diff --git a/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/UserdevSetup.kt b/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/UserdevSetup.kt index 60c4707be..6e7dae68f 100644 --- a/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/UserdevSetup.kt +++ b/paperweight-userdev/src/main/kotlin/io/papermc/paperweight/userdev/internal/setup/UserdevSetup.kt @@ -47,6 +47,7 @@ abstract class UserdevSetup : BuildService, SetupHandle interface Parameters : BuildServiceParameters { val bundleZip: RegularFileProperty + val bundleZipHash: Property val cache: RegularFileProperty val downloadService: Property val genSources: Property @@ -55,7 +56,8 @@ abstract class UserdevSetup : BuildService, SetupHandle private val extractDevBundle: ExtractedBundle = lockSetup(parameters.cache.path) { val extract = extractDevBundle( parameters.cache.path.resolve(paperSetupOutput("extractDevBundle", "dir")), - parameters.bundleZip.path + parameters.bundleZip.path, + parameters.bundleZipHash.get() ) lastUsedFile(parameters.cache.path).writeText(System.currentTimeMillis().toString()) extract