#!/bin/zsh
# Buduje paczkę do wgrania na serwer: dist/meteo-dom-<wersja>.zip (+ kafelek JPG osobno).
# Tylko pliki aplikacji — bez danych, testów, skryptów i dokumentacji
# (README, CHANGELOG i WDROZENIE są w repozytorium, a na serwerze byłyby publicznie czytelne).
set -e
cd "$(dirname "$0")/.."
V=$(cat VERSION | tr -d '[:space:]')
grep -q "const VERSION = \"$V\"" assets/js/app.js || { echo "app.js: VERSION ≠ $V"; exit 1; }
grep -q "const VERSION = \"$V\"" sw.js || { echo "sw.js: VERSION ≠ $V"; exit 1; }
# strony (src/views) biorą wersję z pliku VERSION — nie mogą mieć wpisanej na sztywno
if grep -q '?v=[0-9]' src/views/*.php; then echo "src/views: wpisany na sztywno numer wersji w ?v="; exit 1; fi
./tests/run.sh

OUT=dist/meteo-dom
rm -rf dist && mkdir -p "$OUT/src/views" "$OUT/icons" "$OUT/data"
cp .htaccess index.php ingest.php manifest.webmanifest sw.js VERSION api.php "$OUT/"
cp -R assets "$OUT/"
cp icons/*.png icons/*.svg icons/*.jpg "$OUT/icons/"
cp src/*.php src/.htaccess src/index.html "$OUT/src/"
cp src/views/*.php "$OUT/src/views/"
# pusty katalog danych z ochroną (baza i pamięć podręczna powstają na serwerze; nie nadpisywać przy aktualizacji)
printf 'Require all denied\n' > "$OUT/data/.htaccess"
: > "$OUT/data/index.html"
find "$OUT" -name .DS_Store -delete
(cd dist && zip -qr "meteo-dom-$V.zip" meteo-dom && rm -rf meteo-dom)
cp icons/meteo-dom-300x200.jpg dist/
echo "Gotowe: dist/meteo-dom-$V.zip"
