v2.9.0: MBMNET Shop (eigene App, auf Wunsch installierbar)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nico Meister
2026-10-18 17:46:42 +02:00
co-authored by Claude Opus 5.5
parent d264cd93cd
commit ca77952a9d
16 changed files with 1710 additions and 19 deletions
+7 -4
View File
@@ -2,6 +2,7 @@
# Baut die App und lädt sie ins Repo "MBMNET" hoch. Danach aktualisiert sich jede
# MBMNET-App beim nächsten Start von selbst.
# Zusätzlich legt es auf Gitea ein Release "vX.Y.Z" mit .cia und .3dsx an (für Universal-Updater).
# Der MBMNET Shop (shop/) wird mitgebaut; die App installiert ihn auf Wunsch vom Server.
#
# Vorher in Makefile die VERSION erhöhen!
# ./release.sh ["Release-Notizen"] bauen, hochladen, Release anlegen
@@ -23,12 +24,13 @@ if [ "$NUR_RELEASE" = 0 ]; then
docker image inspect mbmnet-3ds-build >/dev/null 2>&1 || docker build -t mbmnet-3ds-build tools
echo "Baue MBMNET-App v$VERSION ..."
docker run --rm -v "$PWD":/app -w /app mbmnet-3ds-build bash -c 'make clean >/dev/null && make && make cia'
docker run --rm -v "$PWD":/app -w /app mbmnet-3ds-build bash -c \
'make clean >/dev/null && make && make cia && make -C shop clean >/dev/null && make -C shop && make -C shop cia'
cp mbmnet.3dsx mbmnet.cia "$RELEASE/"
cp mbmnet.3dsx mbmnet.cia shop/mbmnet-shop.3dsx shop/mbmnet-shop.cia "$RELEASE/"
echo "$VERSION" > "$RELEASE/version.txt"
(cd "$RELEASE" && git add mbmnet.3dsx mbmnet.cia version.txt && git commit -m "MBMNET-App v$VERSION" && git push)
(cd "$RELEASE" && git add mbmnet.3dsx mbmnet.cia mbmnet-shop.3dsx mbmnet-shop.cia version.txt && git commit -m "MBMNET-App v$VERSION" && git push)
fi
# --- Gitea-Release -------------------------------------------------------------------
@@ -55,7 +57,8 @@ else
fi
# Vorhandene Dateien gleichen Namens löschen (bei erneutem Lauf), dann hochladen
for f in mbmnet.cia mbmnet.3dsx; do
for f in mbmnet.cia mbmnet.3dsx mbmnet-shop.cia mbmnet-shop.3dsx; do
[ -f "$RELEASE/$f" ] || continue
for old in $(api GET "/releases/$ID/assets" | json "' '.join(str(a['id']) for a in d if a['name']=='$f')"); do
api DELETE "/releases/$ID/assets/$old" >/dev/null
done