cid_app/lib/build_cai_app.dart

49 lines
No EOL
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/...");
}
}