generateFcmService function
Generates a dart file and installs the required package.
Implementation
Future<void> generateFcmService() async {
final start = DateTime.now();
ConsoleLog.title('Generating FCMService...');
DartgenxConfig config = DartgenxConfig.load();
final file = File(config.outputPath?.fcmService ?? 'lib/fcm_service.dart');
file.createSync(recursive: true);
file.writeAsStringSync(fcmTemplate);
ConsoleLog.success('FCMService generated at ${config.outputPath?.fcmService ?? 'lib/fcm_service.dart'}');
final packages = [
'firebase_core',
'firebase_messaging',
'flutter_local_notifications'
];
ConsoleLog.info('Installing required dependencies...');
ConsoleLog.step('flutter pub add ${packages.join(" ")}');
final result = await Process.run(
'flutter',
['pub', 'add', ...packages],
runInShell: true,
);
stdout.write(result.stdout);
stderr.write(result.stderr);
final duration = DateTime.now().difference(start).inMilliseconds;
ConsoleLog.info('Completed in ${duration}ms');
ConsoleLog.line();
}