#!/bin/bash

# PhoneStamp WooCommerce Plugin Build Script
# This script packages the plugin for distribution

# Configuration
PLUGIN_SLUG="phonestamp"
PLUGIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BUILD_DIR="$PLUGIN_DIR/build"
DIST_DIR="$PLUGIN_DIR/dist"

# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'

echo "======================================"
echo "PhoneStamp WooCommerce Plugin Builder"
echo "======================================"
echo ""

# Clean previous builds
echo -e "${YELLOW}Cleaning previous builds...${NC}"
rm -rf "$BUILD_DIR"
rm -rf "$DIST_DIR"
mkdir -p "$BUILD_DIR"
mkdir -p "$DIST_DIR"

# Create plugin directory in build
PLUGIN_BUILD_DIR="$BUILD_DIR/$PLUGIN_SLUG"
mkdir -p "$PLUGIN_BUILD_DIR"

# Copy plugin files
echo -e "${YELLOW}Copying plugin files...${NC}"

# Copy main plugin file
cp "$PLUGIN_DIR/phonestamp.php" "$PLUGIN_BUILD_DIR/"

# Copy includes directory
cp -r "$PLUGIN_DIR/includes" "$PLUGIN_BUILD_DIR/"

# Copy assets directory
cp -r "$PLUGIN_DIR/assets" "$PLUGIN_BUILD_DIR/"

# Copy languages directory
cp -r "$PLUGIN_DIR/languages" "$PLUGIN_BUILD_DIR/"

# Copy documentation files
cp "$PLUGIN_DIR/readme.txt" "$PLUGIN_BUILD_DIR/"
[ -f "$PLUGIN_DIR/CHANGELOG.md" ] && cp "$PLUGIN_DIR/CHANGELOG.md" "$PLUGIN_BUILD_DIR/"
[ -f "$PLUGIN_DIR/LICENSE" ] && cp "$PLUGIN_DIR/LICENSE" "$PLUGIN_BUILD_DIR/"
[ -f "$PLUGIN_DIR/README.md" ] && cp "$PLUGIN_DIR/README.md" "$PLUGIN_BUILD_DIR/"

# Remove development files from build
echo -e "${YELLOW}Cleaning development files...${NC}"
find "$PLUGIN_BUILD_DIR" -name ".DS_Store" -type f -delete
find "$PLUGIN_BUILD_DIR" -name "Thumbs.db" -type f -delete
find "$PLUGIN_BUILD_DIR" -name ".git" -type d -exec rm -rf {} + 2>/dev/null
find "$PLUGIN_BUILD_DIR" -name ".gitignore" -type f -delete
find "$PLUGIN_BUILD_DIR" -name ".gitattributes" -type f -delete
find "$PLUGIN_BUILD_DIR" -name "node_modules" -type d -exec rm -rf {} + 2>/dev/null
find "$PLUGIN_BUILD_DIR" -name "*.log" -type f -delete

# Get version from plugin file
VERSION=$(grep "Version:" "$PLUGIN_DIR/phonestamp.php" | awk '{print $3}' | tr -d '\r')
if [ -z "$VERSION" ]; then
    VERSION="1.0.0"
fi

# Create zip file
ZIP_FILE="$DIST_DIR/$PLUGIN_SLUG-$VERSION.zip"
echo -e "${YELLOW}Creating zip file: $PLUGIN_SLUG-$VERSION.zip${NC}"

cd "$BUILD_DIR" || exit
zip -r "$ZIP_FILE" "$PLUGIN_SLUG" -q

# Calculate file size
FILE_SIZE=$(du -h "$ZIP_FILE" | cut -f1)

# Cleanup build directory
cd "$PLUGIN_DIR" || exit
rm -rf "$BUILD_DIR"

echo ""
echo -e "${GREEN}✓ Plugin packaged successfully!${NC}"
echo ""
echo "Package details:"
echo "  File: $ZIP_FILE"
echo "  Size: $FILE_SIZE"
echo "  Version: $VERSION"
echo ""
echo "You can now:"
echo "  1. Upload to WordPress.org"
echo "  2. Install manually via WordPress admin"
echo "  3. Distribute to clients"
echo ""