installPackages method
Implementation
Future<bool> installPackages(List<String> packages) async {
if (packages.isEmpty) {
_cliHelper.printWarning('No packages to install.');
return true;
}
try {
final shell = Shell();
var successCount = 0;
for (var i = 0; i < packages.length; i++) {
final package = packages[i];
_cliHelper.printInfo(
' [${i + 1}/${packages.length}] Installing $package...',
);
try {
await shell.run('flutter pub add $package');
successCount++;
_cliHelper.printSuccess(' ✓ $package installed successfully');
} catch (e) {
_cliHelper.printError(' ✗ Failed to install $package: $e');
}
}
_cliHelper.printInfo(
'\n Summary: $successCount/${packages.length} packages installed',
);
return successCount == packages.length;
} catch (e) {
_cliHelper.printError('Error executing commands: $e');
return false;
}
}