From be8e0d1cab3f30c1fb3ba5cc6badc0e0f24ab937 Mon Sep 17 00:00:00 2001 From: CPTProgrammer <46586216+CPTProgrammer@users.noreply.github.com> Date: Mon, 21 Apr 2025 21:57:38 +0800 Subject: [PATCH] Update build.gradle Fail buildAll task when any sub build task fails --- build.gradle | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 89efa98..20da561 100644 --- a/build.gradle +++ b/build.gradle @@ -119,6 +119,8 @@ tasks.register("buildAll") { logger.lifecycle("Using Java ${javaToolchain.metadata.javaRuntimeVersion} (path=\"${projectJavaHome}\")") + def failedVersions = new ArrayList() + project.minecraftVersions.each { version -> logger.lifecycle("================ Building for Minecraft ${version} ================") // TODO: Refactor this (is there a better approach?) @@ -131,11 +133,14 @@ tasks.register("buildAll") { def result = execOutput.result.get() def output = execOutput.standardOutput.asText.get() def error = execOutput.standardError.asText.get() - logger.lifecycle("[Minecraft ${version}] BUILD ${result.exitValue == 0 ? "SUCCESS" : "FAILED"}. Process exited with code: ${result.exitValue}") + logger.lifecycle("[Minecraft ${version}] BUILD ${result.exitValue == 0 ? "SUCCESSFUL" : "FAILED"}. Process exited with code: ${result.exitValue}") if (result.exitValue != 0) { + failedVersions.addLast(version as String) logger.lifecycle("[Minecraft ${version}] Error: ${error}") } } + + if (!failedVersions.isEmpty()) throw new GradleException("Build failed for Minecraft versions: ${failedVersions.join(", ")}") } }