#!/usr/bin/env bash
#
# repoadd - DEPRECATED wrapper for debrepomanager add --environment
#
# ⚠️  DEPRECATED: This script will be removed in v0.5.0
# Use: debrepomanager add --environment <env> --codename <codename> --package-dir <dir>
#

set -e
set -o pipefail

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

# Show deprecation warning
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" >&2
echo -e "${YELLOW}⚠️  DEPRECATION WARNING${NC}" >&2
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" >&2
echo -e "" >&2
echo -e "${YELLOW}This script is deprecated and will be removed in v0.5.0${NC}" >&2
echo -e "" >&2
echo -e "Use instead:" >&2
echo -e "  ${RED}debrepomanager add --environment $1 --codename $2 --package-dir $3${NC}" >&2
if [ -n "$4" ]; then
	echo -e "  ${RED}--component $4${NC}" >&2
fi
echo -e "" >&2
echo -e "See: docs/MIGRATION.md for full migration guide" >&2
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" >&2
echo -e "" >&2

# Validate arguments
if [ $# -lt 3 ] || [ $# -gt 4 ]; then
	echo "Error: Invalid number of arguments" >&2
	echo "Usage: $(basename "$0") <stable|beta|test> <codename> <dir> [component]" >&2
	exit 1
fi

ENVIRONMENT="$1"
CODENAME="$2"
PACKAGE_DIR="$3"
COMPONENT="${4:-}"

# Build command
CMD_ARGS=(add --environment "$ENVIRONMENT" --codename "$CODENAME" --package-dir "$PACKAGE_DIR")

if [ -n "$COMPONENT" ]; then
	CMD_ARGS+=(--component "$COMPONENT")
fi

# Forward environment variables
if [ -n "$DEBUG" ]; then
	CMD_ARGS+=(--verbose)
fi

if [ -n "$DRY_RUN" ]; then
	CMD_ARGS+=(--dry-run)
fi

if [ -n "$REPOMANAGER_CONFIG" ]; then
	CMD_ARGS+=(--config "$REPOMANAGER_CONFIG")
fi

# Execute debrepomanager
exec debrepomanager "${CMD_ARGS[@]}"
