diff options
author | Jason Penilla <[email protected]> | 2024-04-24 10:48:00 -0700 |
---|---|---|
committer | Jason Penilla <[email protected]> | 2024-04-24 10:48:00 -0700 |
commit | e832328b7ebc1c4e9aed6b3bb5613e01fa3c8aa0 (patch) | |
tree | c600e7f3a72a16200c673105021f4b2ab1ba29ad | |
parent | 4e654f2a3aab60e13ca132d68840155865f738ad (diff) | |
download | Paper-e832328b7ebc1c4e9aed6b3bb5613e01fa3c8aa0.tar.gz Paper-e832328b7ebc1c4e9aed6b3bb5613e01fa3c8aa0.zip |
Check for existing am session before running continueServerUpdate
-rw-r--r-- | build.gradle.kts | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index b2230193a4..48ed69d962 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,4 @@ +import io.papermc.paperweight.PaperweightException import io.papermc.paperweight.tasks.BaseTask import io.papermc.paperweight.util.* import org.gradle.api.tasks.testing.logging.TestExceptionFormat @@ -204,6 +205,14 @@ abstract class RebasePatches : BaseTask() { @TaskAction fun run() { + val patchedDirPath = projectDir.path.resolve(patchedDir.get()) + if (patchedDirPath.isDirectory()) { + val status = Git(patchedDirPath)("status").getText() + if (status.contains("You are in the middle of an am session.")) { + throw PaperweightException("Cannot continue update when $patchedDirPath is in the middle of an am session.") + } + } + val unapplied = unapplied() for (patch in unapplied) { patch.copyTo(appliedLoc(patch)) @@ -266,7 +275,7 @@ abstract class RebasePatches : BaseTask() { } // Delete the build file before resetting the AM session in case it has compilation errors - projectDir.path.resolve(patchedDir.get()).resolve("build.gradle.kts").deleteIfExists() + patchedDirPath.resolve("build.gradle.kts").deleteIfExists() // Apply again to reset the am session (so it ends on the failed patch, to allow us to rebuild after fixing it) val apply2 = ProcessBuilder() .directory(projectDir.path) |