mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-12-11 13:56:11 -06:00
139 lines
3.4 KiB
Bash
Executable File
139 lines
3.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Ombi Development Setup Script
|
|
# This script helps new contributors set up their development environment
|
|
|
|
set -e
|
|
|
|
echo "🚀 Setting up Ombi development environment..."
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Function to print colored output
|
|
print_status() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
print_success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
print_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# Check if we're in the right directory
|
|
if [ ! -f "src/Ombi/Ombi.csproj" ]; then
|
|
print_error "Please run this script from the Ombi root directory"
|
|
exit 1
|
|
fi
|
|
|
|
# Check for required tools
|
|
print_status "Checking for required tools..."
|
|
|
|
# Check .NET
|
|
if ! command -v dotnet &> /dev/null; then
|
|
print_error ".NET 8.0 SDK is required but not installed"
|
|
print_status "Please install from: https://dotnet.microsoft.com/download/dotnet/8.0"
|
|
exit 1
|
|
else
|
|
DOTNET_VERSION=$(dotnet --version)
|
|
print_success "Found .NET version: $DOTNET_VERSION"
|
|
fi
|
|
|
|
# Check Node.js
|
|
if ! command -v node &> /dev/null; then
|
|
print_error "Node.js is required but not installed"
|
|
print_status "Please install from: https://nodejs.org/"
|
|
exit 1
|
|
else
|
|
NODE_VERSION=$(node --version)
|
|
print_success "Found Node.js version: $NODE_VERSION"
|
|
fi
|
|
|
|
# Check Yarn
|
|
if ! command -v yarn &> /dev/null; then
|
|
print_error "Yarn is required but not installed"
|
|
print_status "Please install from: https://yarnpkg.com/"
|
|
exit 1
|
|
else
|
|
YARN_VERSION=$(yarn --version)
|
|
print_success "Found Yarn version: $YARN_VERSION"
|
|
fi
|
|
|
|
# Check Git
|
|
if ! command -v git &> /dev/null; then
|
|
print_error "Git is required but not installed"
|
|
exit 1
|
|
else
|
|
print_success "Found Git"
|
|
fi
|
|
|
|
print_status "All required tools are installed!"
|
|
|
|
# Restore .NET dependencies
|
|
print_status "Restoring .NET dependencies..."
|
|
if dotnet restore; then
|
|
print_success ".NET dependencies restored"
|
|
else
|
|
print_error "Failed to restore .NET dependencies"
|
|
exit 1
|
|
fi
|
|
|
|
# Install frontend dependencies
|
|
print_status "Installing frontend dependencies..."
|
|
if yarn --cwd ./src/Ombi/ClientApp install; then
|
|
print_success "Frontend dependencies installed"
|
|
else
|
|
print_error "Failed to install frontend dependencies"
|
|
exit 1
|
|
fi
|
|
|
|
# Build the project
|
|
print_status "Building the project..."
|
|
if dotnet build; then
|
|
print_success "Project built successfully"
|
|
else
|
|
print_error "Failed to build project"
|
|
exit 1
|
|
fi
|
|
|
|
# Run tests
|
|
print_status "Running tests..."
|
|
if dotnet test; then
|
|
print_success "All tests passed"
|
|
else
|
|
print_warning "Some tests failed - this might be expected for a fresh setup"
|
|
fi
|
|
|
|
# Create development configuration
|
|
print_status "Setting up development configuration..."
|
|
if [ ! -f "src/Ombi/appsettings.Development.json" ]; then
|
|
print_warning "Development configuration not found - you may need to create one"
|
|
fi
|
|
|
|
print_success "Development environment setup complete!"
|
|
echo ""
|
|
echo "🎉 You're ready to start contributing to Ombi!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Read the CONTRIBUTING.md guide"
|
|
echo "2. Join our Discord: https://discord.gg/Sa7wNWb"
|
|
echo "3. Look for 'good first issue' labels"
|
|
echo "4. Start coding!"
|
|
echo ""
|
|
echo "To run the application:"
|
|
echo " Backend: dotnet run --project src/Ombi"
|
|
echo " Frontend: yarn --cwd ./src/Ombi/ClientApp start"
|
|
echo ""
|
|
echo "Happy coding! 🚀"
|