49 lines
1.5 KiB
Dart
49 lines
1.5 KiB
Dart
|
|
import 'dart:io';
|
||
|
|
|
||
|
|
void main() async {
|
||
|
|
print("🛠️ Avvio build...");
|
||
|
|
|
||
|
|
// 1. Esegui la build
|
||
|
|
var process = await Process.start('flutter', ['build', 'appbundle']);
|
||
|
|
|
||
|
|
// Mostra l'output in tempo reale
|
||
|
|
stdout.addStream(process.stdout);
|
||
|
|
stderr.addStream(process.stderr);
|
||
|
|
|
||
|
|
var exitCode = await process.exitCode;
|
||
|
|
|
||
|
|
if (exitCode != 0) {
|
||
|
|
print("❌ Errore nella build.");
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 2. Leggi la versione dal pubspec.yaml
|
||
|
|
var pubspec = await File('pubspec.yaml').readAsLines();
|
||
|
|
var versionLine = pubspec.firstWhere((line) => line.startsWith('version:'));
|
||
|
|
var version = versionLine.split('version: ')[1].trim();
|
||
|
|
|
||
|
|
// 3. DEFINIZIONE PERCORSI
|
||
|
|
|
||
|
|
// A. DOVE SI TROVA ORA (Sempre nella cartella del progetto)
|
||
|
|
var sourceFile = File('build/app/outputs/bundle/release/app-release.aab');
|
||
|
|
|
||
|
|
// B. DOVE LO VUOI METTERE (Il tuo disco esterno)
|
||
|
|
// Nota: Assicurati che la cartella "buid" esista o correggi in "build" se era un refuso
|
||
|
|
var targetDirectory = '/Volumes/NVME-2TB/cai/buid';
|
||
|
|
|
||
|
|
if (await sourceFile.exists()) {
|
||
|
|
// Crea la directory sul disco esterno se non esiste (per sicurezza)
|
||
|
|
await Directory(targetDirectory).create(recursive: true);
|
||
|
|
|
||
|
|
// Crea il percorso completo di destinazione
|
||
|
|
var newPath = '$targetDirectory/CAI_App_v$version.aab';
|
||
|
|
|
||
|
|
// Esegue la copia
|
||
|
|
await sourceFile.copy(newPath);
|
||
|
|
|
||
|
|
print("✅ File creato con successo!");
|
||
|
|
print("📂 Destinazione: $newPath");
|
||
|
|
} else {
|
||
|
|
print("❌ Impossibile trovare il file generato in build/app/outputs/...");
|
||
|
|
}
|
||
|
|
}
|