#!/usr/bin/env bash
# Builds the shared-hosting package: vendor/ included (no Composer or SSH needed on the server).
# Usage: tools/build-release.sh /path/to/laravel/project [version]
set -euo pipefail
SRC="${1:?Pass the Laravel project path}"
VER="${2:-0.1.0}"
OUT="$(pwd)/ehds-${VER}-shared-hosting.zip"
STAGE="$(mktemp -d)/ehds"

cp -R "$SRC" "$STAGE"
cd "$STAGE"
composer install --no-dev --optimize-autoloader --no-interaction

# Remove anything that must never ship
rm -rf .git .github tests node_modules .env storage/logs/* storage/framework/cache/data/* storage/framework/sessions/* \
       storage/framework/views/* storage/app/installed.lock storage/app/installer.key phpunit.xml
# Keep the folder skeleton writable-by-install and empty
for d in storage/app storage/framework/cache storage/framework/sessions storage/framework/views storage/logs bootstrap/cache; do
  mkdir -p "$d"; touch "$d/.gitkeep"
done
# Root .htaccess for hosts whose docroot cannot be changed
cp .htaccess.shared-hosting .htaccess

( cd .. && zip -qr "$OUT" ehds )
echo "Built $OUT"
echo "Upload, extract in public_html (or a folder), then open /install."
