#!/bin/bash echo "🚀 Запуск RSS Parser для Kursiv Media" echo "======================================" # Проверяем наличие Java if ! command -v java &> /dev/null; then echo "❌ Java не найдена. Убедитесь, что Java 21+ установлена." exit 1 fi # Проверяем версию Java JAVA_VERSION=$(java -version 2>&1 | head -n 1 | cut -d'"' -f2 | cut -d'.' -f1) if [ "$JAVA_VERSION" -lt 21 ]; then echo "❌ Требуется Java 21 или выше. Текущая версия: $JAVA_VERSION" exit 1 fi echo "✅ Java версия: $(java -version 2>&1 | head -n 1)" # Проверяем наличие Maven wrapper if [ ! -f "./mvnw" ]; then echo "❌ Maven wrapper не найден" exit 1 fi echo "✅ Maven wrapper найден" # Собираем проект echo "📦 Сборка проекта..." ./mvnw clean compile -q if [ $? -ne 0 ]; then echo "❌ Ошибка при сборке проекта" exit 1 fi echo "✅ Проект собран успешно" # Проверяем доступность MongoDB (опционально) echo "🔍 Проверка MongoDB..." if command -v mongosh &> /dev/null; then if mongosh --eval "db.runCommand('ping')" --quiet &> /dev/null; then echo "✅ MongoDB доступен" else echo "⚠️ MongoDB может быть недоступен. Убедитесь, что MongoDB запущен." fi else echo "⚠️ MongoDB клиент не найден. Убедитесь, что MongoDB установлен и запущен." fi echo "" echo "🎯 Доступные команды:" echo "1. Запуск приложения: ./mvnw spring-boot:run" echo "2. Запуск тестов: ./mvnw test" echo "3. Сборка JAR: ./mvnw clean package" echo "" echo "📡 После запуска приложения API будет доступно по адресу:" echo " http://localhost:8080/api/parser/" echo "" echo "🔧 Основные endpoints:" echo " POST /api/parser/parse - Запуск парсинга" echo " GET /api/parser/stats - Статистика" echo " GET /api/parser/items - Все записи" echo " GET /api/parser/health - Проверка состояния" echo "" # Спрашиваем, хочет ли пользователь запустить приложение read -p "🚀 Запустить приложение сейчас? (y/n): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "🚀 Запуск приложения..." ./mvnw spring-boot:run else echo "👋 Для запуска используйте: ./mvnw spring-boot:run" fi