100 lines
3.6 KiB
PowerShell
100 lines
3.6 KiB
PowerShell
# 🚀 MYP - Manage your Printer (Hauptstartskript)
|
|
# Weiterleitung an das optimierte Infrastructure-Startskript
|
|
|
|
param(
|
|
[Parameter(Position=0)]
|
|
[ValidateSet("dev", "prod", "test", "development", "production")]
|
|
[string]$Environment = "dev",
|
|
|
|
[switch]$Help,
|
|
[switch]$Version,
|
|
[switch]$Clean
|
|
)
|
|
|
|
# Farbdefinitionen für bessere Ausgabe
|
|
$Colors = @{
|
|
Info = "Cyan"
|
|
Success = "Green"
|
|
Warning = "Yellow"
|
|
Error = "Red"
|
|
Header = "Magenta"
|
|
}
|
|
|
|
function Write-ColorOutput {
|
|
param([string]$Message, [string]$Color = "White")
|
|
Write-Host $Message -ForegroundColor $Colors[$Color]
|
|
}
|
|
|
|
# Header anzeigen
|
|
Write-ColorOutput "🖨️ MYP - Manage your Printer" "Header"
|
|
Write-ColorOutput "═══════════════════════════════════════" "Header"
|
|
|
|
# Hilfe anzeigen
|
|
if ($Help) {
|
|
Write-ColorOutput "`n📖 Verwendung:" "Info"
|
|
Write-ColorOutput " .\start.ps1 [Environment] [Optionen]" "White"
|
|
Write-ColorOutput "`n🌍 Verfügbare Umgebungen:" "Info"
|
|
Write-ColorOutput " dev, development - Entwicklungsumgebung (Standard)" "White"
|
|
Write-ColorOutput " prod, production - Produktionsumgebung" "White"
|
|
Write-ColorOutput " test - Testumgebung" "White"
|
|
Write-ColorOutput "`n⚙️ Optionen:" "Info"
|
|
Write-ColorOutput " -Help - Diese Hilfe anzeigen" "White"
|
|
Write-ColorOutput " -Version - Versionsinformationen anzeigen" "White"
|
|
Write-ColorOutput " -Clean - System vor Start bereinigen" "White"
|
|
Write-ColorOutput "`n📚 Beispiele:" "Info"
|
|
Write-ColorOutput " .\start.ps1 # Entwicklungsumgebung starten" "White"
|
|
Write-ColorOutput " .\start.ps1 prod # Produktionsumgebung starten" "White"
|
|
Write-ColorOutput " .\start.ps1 dev -Clean # Mit Bereinigung starten" "White"
|
|
exit 0
|
|
}
|
|
|
|
# Version anzeigen
|
|
if ($Version) {
|
|
Write-ColorOutput "`n📋 Systeminformationen:" "Info"
|
|
Write-ColorOutput " MYP Version: 2.0.0" "White"
|
|
Write-ColorOutput " PowerShell: $($PSVersionTable.PSVersion)" "White"
|
|
Write-ColorOutput " OS: $($PSVersionTable.OS)" "White"
|
|
Write-ColorOutput " Architektur: $env:PROCESSOR_ARCHITECTURE" "White"
|
|
exit 0
|
|
}
|
|
|
|
# Bereinigung falls gewünscht
|
|
if ($Clean) {
|
|
Write-ColorOutput "`n🧹 System wird bereinigt..." "Warning"
|
|
& ".\infrastructure\scripts\cleanup.ps1" -Force
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-ColorOutput "❌ Bereinigung fehlgeschlagen!" "Error"
|
|
exit 1
|
|
}
|
|
Write-ColorOutput "✅ System erfolgreich bereinigt!" "Success"
|
|
}
|
|
|
|
# Prüfe ob Infrastructure-Skript existiert
|
|
$InfraScript = ".\infrastructure\scripts\start.ps1"
|
|
if (-not (Test-Path $InfraScript)) {
|
|
Write-ColorOutput "`n❌ Infrastructure-Startskript nicht gefunden: $InfraScript" "Error"
|
|
Write-ColorOutput " Bitte stellen Sie sicher, dass die Projektstruktur vollständig ist." "Error"
|
|
exit 1
|
|
}
|
|
|
|
# Weiterleitung an Infrastructure-Skript
|
|
Write-ColorOutput "`n🔄 Weiterleitung an Infrastructure-Startskript..." "Info"
|
|
Write-ColorOutput " Umgebung: $Environment" "White"
|
|
|
|
try {
|
|
& $InfraScript $Environment
|
|
$ExitCode = $LASTEXITCODE
|
|
|
|
if ($ExitCode -eq 0) {
|
|
Write-ColorOutput "`n🎉 MYP erfolgreich gestartet!" "Success"
|
|
Write-ColorOutput " Zugriff über: http://localhost" "Info"
|
|
} else {
|
|
Write-ColorOutput "`n❌ Start fehlgeschlagen (Exit Code: $ExitCode)" "Error"
|
|
}
|
|
|
|
exit $ExitCode
|
|
} catch {
|
|
Write-ColorOutput "`n💥 Unerwarteter Fehler beim Start:" "Error"
|
|
Write-ColorOutput " $($_.Exception.Message)" "Error"
|
|
exit 1
|
|
} |