mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-19 14:59:25 +00:00
Upstream has released updates that appear to apply and compile correctly Purpur Changes: PurpurMC/Purpur@9b046f36 Updated Upstream (Paper) PurpurMC/Purpur@22bd4186 Updated Upstream (Paper)
85 lines
2.5 KiB
Bash
Executable File
85 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
force_run=false
|
|
|
|
if [[ "$1" == "--force" ]]; then
|
|
force_run=true
|
|
echo "Force mode enabled. All Gradle tasks will run."
|
|
fi
|
|
|
|
echo "Processing file patches..."
|
|
|
|
declare -A gradle_tasks
|
|
|
|
process_changes() {
|
|
local dir="$1"
|
|
local project="$2"
|
|
|
|
if [ ! -d "$dir" ]; then
|
|
echo "Error: The directory '$dir' does not exist or is not valid."
|
|
exit 1
|
|
fi
|
|
|
|
cd "$dir"
|
|
|
|
if $force_run || ! git diff --quiet || ! git diff --cached --quiet; then
|
|
echo "Changes detected in $dir (or force mode enabled). Running Gradle fixup and rebuild tasks."
|
|
gradle_tasks["fixup${project}FilePatches"]="true"
|
|
gradle_tasks["rebuild${project}FilePatches"]="true"
|
|
else
|
|
echo "No changes detected in $dir"
|
|
fi
|
|
|
|
cd - > /dev/null
|
|
}
|
|
|
|
run_gradle_task() {
|
|
local task="$1"
|
|
if [ "${gradle_tasks[$task]}" = "true" ]; then
|
|
echo "Running Gradle task: $task"
|
|
./gradlew "$task" || echo "Gradle task '$task' failed, continuing..."
|
|
echo "Gradle task '$task' completed (or failed but continuing)."
|
|
else
|
|
echo "Skipping Gradle task '$task' as no changes were detected."
|
|
fi
|
|
}
|
|
|
|
process_changes "./purpur-server/" "PurpurServer"
|
|
process_changes "./purpur-api/" "PurpurApi"
|
|
process_changes "./paper-server/" "PaperServer"
|
|
process_changes "./paper-api/" "PaperApi"
|
|
process_changes "./divinemc-server/src/minecraft/java" "Minecraft"
|
|
|
|
gradle_rebuild_task=false
|
|
|
|
if $force_run || ! git diff --quiet "./divinemc-server/build.gradle.kts" || ! git diff --cached --quiet "./divinemc-server/build.gradle.kts"; then
|
|
echo "Changes detected in ./divinemc-server/build.gradle.kts"
|
|
gradle_rebuild_task=true
|
|
fi
|
|
|
|
if $force_run || ! git diff --quiet "./divinemc-api/build.gradle.kts" || ! git diff --cached --quiet "./divinemc-api/build.gradle.kts"; then
|
|
echo "Changes detected in ./divinemc-api/build.gradle.kts"
|
|
gradle_rebuild_task=true
|
|
fi
|
|
|
|
if $gradle_rebuild_task; then
|
|
gradle_tasks["rebuildPurpurSingleFilePatches"]="true"
|
|
fi
|
|
|
|
echo "Running fixup tasks..."
|
|
run_gradle_task "fixupPurpurApiFilePatches"
|
|
run_gradle_task "fixupPaperApiFilePatches"
|
|
run_gradle_task "fixupPurpurServerFilePatches"
|
|
run_gradle_task "fixupPaperServerFilePatches"
|
|
run_gradle_task "fixupMinecraftFilePatches"
|
|
|
|
echo "Running rebuild tasks..."
|
|
run_gradle_task "rebuildPurpurApiFilePatches"
|
|
run_gradle_task "rebuildPaperApiFilePatches"
|
|
run_gradle_task "rebuildPurpurServerFilePatches"
|
|
run_gradle_task "rebuildPaperServerFilePatches"
|
|
run_gradle_task "rebuildMinecraftFilePatches"
|
|
run_gradle_task "rebuildPurpurSingleFilePatches"
|