#!/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}"