-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.sh
More file actions
executable file
·40 lines (33 loc) · 1 KB
/
Copy pathdeploy.sh
File metadata and controls
executable file
·40 lines (33 loc) · 1 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
#!/bin/bash
set -e
# --- VARIABLES ---
MOD_NAME="BookkeeperMod"
MODS_PATH="$HOME/.config/VintagestoryData/Mods"
STAGING_DIR="bin/staging"
BUILD_OUTPUT="bin/Debug/Mods/Bookkeeper"
VERSION=$(grep -oP '"version":\s*"\K[^"]+' modinfo.json)
ZIP_NAME="$MOD_NAME-v$VERSION.zip"
echo "--- 1. CLEANING ---"
dotnet clean -v q
rm -rf "$STAGING_DIR"
rm -f "$MOD_NAME"*.zip
echo "--- 2. BUILDING (net10.0 / VS 1.22) ---"
dotnet build -c Debug
if [ ! -f "$BUILD_OUTPUT/Bookkeeper.dll" ]; then
echo "ERROR: Build failed — Bookkeeper.dll not found."
exit 1
fi
echo "--- 3. PACKAGING ---"
mkdir -p "$STAGING_DIR"
cp modinfo.json "$STAGING_DIR/"
cp modicon.png "$STAGING_DIR/"
cp "$BUILD_OUTPUT/Bookkeeper.dll" "$STAGING_DIR/"
cp -r assets "$STAGING_DIR/"
cd "$STAGING_DIR"
zip -r -q ../../"$ZIP_NAME" *
cd ../..
echo "--- 4. DEPLOYING ZIP ---"
# Remove any old version (versioned or not) so only one copy of the mod loads
rm -f "$MODS_PATH/$MOD_NAME"*.zip
mv "$ZIP_NAME" "$MODS_PATH/"
echo "Deploy Complete: $MODS_PATH/$ZIP_NAME"