package.sh

#!/bin/bash
set -e

APP_ID="dailyverses"
VERSION="$1"

if [ -z "$VERSION" ]; then
    echo "No version supplied."
    echo "Usage: ./package.sh 1.0.0"
    exit 1
fi

BUILD_ROOT="build"
BUILD_DIR="${BUILD_ROOT}/${APP_ID}"
ZIP_NAME="${APP_ID}-${VERSION}.zip"
TAR_NAME="${APP_ID}-${VERSION}.tar.gz"

echo "Cleaning previous build directory..."
rm -rf "${BUILD_ROOT}"
mkdir -p "${BUILD_DIR}"

echo "Copying production files..."

# Required Nextcloud app folders
for dir in appinfo lib templates l10n img; do
    if [ -d "$dir" ]; then
        cp -r "$dir" "${BUILD_DIR}/"
    fi
done

# Frontend build output (generated by build.sh)
for dir in js css; do
    if [ -d "$dir" ]; then
        cp -r "$dir" "${BUILD_DIR}/"
    else
        echo "Missing frontend build output: $dir"
        echo "Run ./build.sh first."
        exit 1
    fi
done

# Optional but recommended files
for file in README.md CHANGELOG.md LICENSE; do
    if [ -f "$file" ]; then
        cp "$file" "${BUILD_DIR}/"
    fi
done

echo "Removing development files..."
rm -rf "${BUILD_DIR}/tests" \
    "${BUILD_DIR}/node_modules" \
    "${BUILD_DIR}/vendor" \
    "${BUILD_DIR}/vendor-bin" \
    "${BUILD_DIR}/translationfiles" \
    "${BUILD_DIR}/openapi.json"

echo "Creating ZIP package: ${ZIP_NAME}"
cd "${BUILD_ROOT}"
zip -r "../${ZIP_NAME}" "${APP_ID}" > /dev/null

echo "Creating tar.gz package: ${TAR_NAME}"
tar -czf "../${TAR_NAME}" "${APP_ID}"

cd ..

echo "Packages created successfully!"
echo "ZIP: ${ZIP_NAME}"
echo "TAR.GZ: ${TAR_NAME}"