feat: deploy infrastructure + disk/drive, calendar, presentation, workspaces, onboarding, demo user
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# Инициализация Flutter-проекта VoIdea
|
||||
# Создаёт platform-папки (android/ios/web) не трогая наши lib/ файлы
|
||||
|
||||
param (
|
||||
[string]$ProjectDir = $PSScriptRoot
|
||||
)
|
||||
|
||||
Write-Host "=== VoIdea Flutter Project Init ===" -ForegroundColor Cyan
|
||||
|
||||
# 1. Удаляем пустые папки android/ios/web которые мы создали вручную
|
||||
Write-Host "`n[1/5] Cleaning stub folders..." -ForegroundColor Yellow
|
||||
$stubs = @("android", "ios", "web")
|
||||
foreach ($dir in $stubs) {
|
||||
$path = Join-Path $ProjectDir $dir
|
||||
if (Test-Path $path) {
|
||||
Remove-Item -Recurse -Force $path
|
||||
Write-Host " Removed $dir"
|
||||
}
|
||||
}
|
||||
|
||||
# 2. Создаём временный проект
|
||||
Write-Host "`n[2/5] Creating temp Flutter project..." -ForegroundColor Yellow
|
||||
$tempDir = Join-Path $env:TEMP "voidea_flutter_temp_$(Get-Random)"
|
||||
New-Item -ItemType Directory -Path $tempDir -Force | Out-Null
|
||||
flutter create --android-language kotlin --project-name voidea_app --org com.voidea --platforms android,ios,web $tempDir 2>&1 | Out-Null
|
||||
if (-not (Test-Path (Join-Path $tempDir "android"))) {
|
||||
Write-Host "ERROR: flutter create failed. Check Flutter SDK installation." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
Write-Host " Temp project created at $tempDir"
|
||||
|
||||
# 3. Копируем platform-папки в наш проект
|
||||
Write-Host "`n[3/5] Copying platform folders..." -ForegroundColor Yellow
|
||||
$folders = @("android", "ios", "web")
|
||||
foreach ($folder in $folders) {
|
||||
$src = Join-Path $tempDir $folder
|
||||
$dst = Join-Path $ProjectDir $folder
|
||||
if (Test-Path $src) {
|
||||
Copy-Item -Recurse -Force $src $dst
|
||||
Write-Host " Copied $folder"
|
||||
}
|
||||
}
|
||||
|
||||
# Копируем .metadata (нужен Flutter tools)
|
||||
Copy-Item (Join-Path $tempDir ".metadata") (Join-Path $ProjectDir ".metadata") -Force
|
||||
Write-Host " Copied .metadata"
|
||||
|
||||
# 4. Удаляем временный проект
|
||||
Write-Host "`n[4/5] Cleaning up..." -ForegroundColor Yellow
|
||||
Remove-Item -Recurse -Force $tempDir
|
||||
Write-Host " Temp project removed"
|
||||
|
||||
# 5. Проверяем что наши lib/ файлы на месте
|
||||
Write-Host "`n[5/5] Verifying..." -ForegroundColor Yellow
|
||||
$ourFiles = @(
|
||||
"lib/main.dart",
|
||||
"lib/app.dart",
|
||||
"lib/core/theme/app_theme.dart",
|
||||
"lib/core/router/app_router.dart",
|
||||
"lib/core/api/client.dart",
|
||||
"lib/providers/auth_provider.dart"
|
||||
)
|
||||
$allOk = $true
|
||||
foreach ($file in $ourFiles) {
|
||||
$path = Join-Path $ProjectDir $file
|
||||
if (Test-Path $path) {
|
||||
Write-Host " OK $file"
|
||||
} else {
|
||||
Write-Host " MISSING $file" -ForegroundColor Red
|
||||
$allOk = $false
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "`n================================" -ForegroundColor Cyan
|
||||
if ($allOk) {
|
||||
Write-Host "SUCCESS! Run these commands:" -ForegroundColor Green
|
||||
Write-Host " cd flutter"
|
||||
Write-Host " flutter clean"
|
||||
Write-Host " flutter pub get"
|
||||
Write-Host " flutter run"
|
||||
} else {
|
||||
Write-Host "Some files are missing. Check git status." -ForegroundColor Red
|
||||
}
|
||||
Reference in New Issue
Block a user