90 lines
2.9 KiB
PowerShell
90 lines
2.9 KiB
PowerShell
$MobileDir = "D:\07-Logiciels\20-FIN65\fin65_mobile"
|
|
$GradleKts = Join-Path $MobileDir "android\app\build.gradle.kts"
|
|
$GradleGroovy = Join-Path $MobileDir "android\app\build.gradle"
|
|
|
|
Write-Host ""
|
|
Write-Host "=========================================="
|
|
Write-Host " FIN65 - Repair Gradle biometrie"
|
|
Write-Host "=========================================="
|
|
Write-Host ""
|
|
|
|
function Backup-File($path) {
|
|
if (Test-Path $path) {
|
|
$Stamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
|
Copy-Item $path "$path.before_gradle_repair_$Stamp.bak" -Force
|
|
Write-Host "Sauvegarde : $path.before_gradle_repair_$Stamp.bak"
|
|
}
|
|
}
|
|
|
|
if (!(Test-Path $MobileDir)) {
|
|
Write-Host "[ERREUR] Dossier mobile introuvable : $MobileDir" -ForegroundColor Red
|
|
Read-Host "Appuie sur Entree pour fermer"
|
|
exit 1
|
|
}
|
|
|
|
if (Test-Path $GradleKts) {
|
|
Backup-File $GradleKts
|
|
|
|
$text = Get-Content $GradleKts -Raw
|
|
|
|
# Supprime le bloc Kotlin DSL invalide ajouté par l'ancien patch :
|
|
# kotlin {
|
|
# compilerOptions {
|
|
# jvmTarget = ...
|
|
# }
|
|
# }
|
|
$text = [regex]::Replace(
|
|
$text,
|
|
'(?ms)^\s*kotlin\s*\{\s*compilerOptions\s*\{.*?\}\s*\}\s*$',
|
|
''
|
|
)
|
|
|
|
# Forcer minSdk a 24 sans toucher au reste.
|
|
$text = [regex]::Replace($text, 'minSdk\s*=\s*flutter\.minSdkVersion', 'minSdk = 24')
|
|
$text = [regex]::Replace($text, 'minSdk\s*=\s*\d+', 'minSdk = 24')
|
|
$text = [regex]::Replace($text, 'minSdkVersion\s+flutter\.minSdkVersion', 'minSdkVersion 24')
|
|
$text = [regex]::Replace($text, 'minSdkVersion\s+\d+', 'minSdkVersion 24')
|
|
|
|
Set-Content -Path $GradleKts -Value $text -Encoding UTF8
|
|
Write-Host "build.gradle.kts repare."
|
|
} elseif (Test-Path $GradleGroovy) {
|
|
Backup-File $GradleGroovy
|
|
|
|
$text = Get-Content $GradleGroovy -Raw
|
|
$text = [regex]::Replace(
|
|
$text,
|
|
'(?ms)^\s*kotlin\s*\{\s*compilerOptions\s*\{.*?\}\s*\}\s*$',
|
|
''
|
|
)
|
|
$text = [regex]::Replace($text, 'minSdkVersion\s+flutter\.minSdkVersion', 'minSdkVersion 24')
|
|
$text = [regex]::Replace($text, 'minSdkVersion\s+\d+', 'minSdkVersion 24')
|
|
Set-Content -Path $GradleGroovy -Value $text -Encoding UTF8
|
|
Write-Host "build.gradle repare."
|
|
} else {
|
|
Write-Host "[ERREUR] Aucun build.gradle(.kts) trouve." -ForegroundColor Red
|
|
Read-Host "Appuie sur Entree pour fermer"
|
|
exit 1
|
|
}
|
|
|
|
Set-Location $MobileDir
|
|
|
|
Write-Host ""
|
|
Write-Host "Verification rapide :"
|
|
if (Test-Path $GradleKts) {
|
|
Select-String -Path $GradleKts -Pattern "kotlin \{|compilerOptions|jvmTarget|minSdk" | ForEach-Object { Write-Host $_.Line }
|
|
} else {
|
|
Select-String -Path $GradleGroovy -Pattern "kotlin \{|compilerOptions|jvmTarget|minSdk" | ForEach-Object { Write-Host $_.Line }
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "Nettoyage Flutter..."
|
|
flutter clean
|
|
flutter pub get
|
|
|
|
Write-Host ""
|
|
Write-Host "Reparation Gradle terminee."
|
|
Write-Host "Relance maintenant :"
|
|
Write-Host "flutter run"
|
|
Write-Host ""
|
|
Read-Host "Appuie sur Entree pour fermer"
|