Files
fin65-mobile/fin65_android_gradle_repair_biometrics/repair_gradle_biometrics.bat.ps1
T

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"