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/..."); } }