-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_build.bash
More file actions
49 lines (42 loc) · 1.28 KB
/
run_build.bash
File metadata and controls
49 lines (42 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env bash
set -euo pipefail
# Usage: ./run_build.bash <group> <submodule> [task]
# Examples:
# ./run_build.bash paper paper_1_21_8
# ./run_build.bash fabric fabric_1_20_1
# ./run_build.bash forge forge_1_12_2
#
# Примітка: очікує Dockerfile з таргетами:
# - export_modern (JDK 21 + 17)
# - export_1122 (Forge 1.12.2 / JDK 8)
GROUP="${1:-paper}" # paper | forge | fabric | neoforge
SUBMODULE="${2:-paper_1_21_8}"
TASK="${3:-${TASK:-build}}"
TARGET="export_modern"
DEST="./out/${GROUP}/${SUBMODULE}"
if [[ "$GROUP" == "forge" && "$SUBMODULE" == "forge_1_12_2" ]]; then
TARGET="export_1122"
DEST="./out/forge/forge_1_12_2"
fi
echo "==> Building:"
echo " GROUP = ${GROUP}"
echo " SUBMODULE = ${SUBMODULE}"
echo " TASK = ${TASK}"
echo " TARGET = ${TARGET}"
echo " OUTPUT = ${DEST}"
echo
# Flat log: PROGRESS=plain ./run_build.bash ...
PROGRESS_FLAG=()
if [[ "${PROGRESS:-}" == "plain" ]]; then
PROGRESS_FLAG=(--progress plain)
fi
docker buildx build \
"${PROGRESS_FLAG[@]}" \
--build-arg MODULE_GROUP="${GROUP}" \
--build-arg SUBMODULE="${SUBMODULE}" \
--build-arg TASK="${TASK}" \
--target "${TARGET}" \
--output "type=local,dest=${DEST}" \
.
echo
echo "Done. Artifacts exported to: ${DEST}"