#!/usr/bin/env bash
# GPL corresponding source: архив ВСЕГО исходного кода распространяемой сборки
# (включая vendor/talk-android — он под GPL). Обязательство GPLv3 §6: к каждой
# распространяемой сборке публиковать соответствующий исходник.
#
# Использование: scripts/package-source.sh [OUT_DIR]   (по умолчанию ./dist)
set -euo pipefail

OUT_DIR="${1:-dist}"
mkdir -p "$OUT_DIR"

# версия из app/build.gradle (versionName/versionCode)
VNAME=$(grep -oE "versionName '[^']+'" app/build.gradle | grep -oE "[0-9][0-9.]*" | head -1)
VCODE=$(grep -oE "versionCode [0-9]+" app/build.gradle | grep -oE "[0-9]+" | head -1)
REV=$(git rev-parse --short HEAD)
NAME="f7cloud-mobile-v${VNAME:-0}-${VCODE:-0}-${REV}-source.tar.gz"

# git archive включает всё отслеживаемое дерево (в т.ч. vendor/talk-android, LICENSE, NOTICE.md).
# Секреты в дерево не входят (google-services.json/keystore в .gitignore).
git archive --format=tar.gz --prefix="f7cloud-mobile-${VNAME}/" -o "$OUT_DIR/$NAME" HEAD

echo "Corresponding source: $OUT_DIR/$NAME"
echo "  размер: $(du -h "$OUT_DIR/$NAME" | cut -f1)"
echo "  включает vendor/talk-android (GPL), LICENSE, NOTICE.md"
