From 0902f7da523ff88c1b04a078b5bd7a465e642fe7 Mon Sep 17 00:00:00 2001 From: Gerwin Verkerk <43728830+GerwinVerkerk@users.noreply.github.com> Date: Fri, 4 Sep 2026 13:03:47 +0000 Subject: [PATCH] build: make release archives reproducible --- build.gradle.kts | 12 +++++++++++- settings.gradle.kts | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 74c3426..baf3f6d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -59,6 +59,11 @@ allprojects { options.release = 25 } + tasks.withType { + isPreserveFileTimestamps = false + isReproducibleFileOrder = true + } + tasks.javadoc { options.encoding = "UTF-8" if (JavaVersion.current().isJava9Compatible) @@ -89,12 +94,17 @@ dependencies { // Include all hooks dynamically file("Hooks").listFiles()?.filter { it.isDirectory && !it.name.equals("build") - }?.forEach { hookDir -> + }?.sortedBy { it.name }?.forEach { hookDir -> implementation(project(":Hooks:${hookDir.name}")) } } tasks { + clean { + delete(rootProject.extra["targetFolder"]) + delete(rootProject.extra["apiFolder"]) + } + shadowJar { relocate("com.tcoded.folialib", "fr.maxlego08.koth.libs.folia") relocate("fr.mrmicky.fastboard", "fr.maxlego08.koth.fastboard") diff --git a/settings.gradle.kts b/settings.gradle.kts index aa5fea7..4b18adb 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -15,7 +15,7 @@ pluginManagement { include("API") -file("Hooks").listFiles()?.forEach { file -> +file("Hooks").listFiles()?.sortedBy { it.name }?.forEach { file -> if (file.isDirectory and !file.name.equals("build")) { println("Include Hooks:${file.name}") include(":Hooks:${file.name}")