run method

  1. @override
void run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
void run() async {
  print(
      '${ColorsText.cyan}═══════════════════════════════════════════════════════════${ColorsText.reset}');
  print(
      '${ColorsText.cyan}          Flutter Project Initialization${ColorsText.reset}');
  print(
      '${ColorsText.cyan}═══════════════════════════════════════════════════════════${ColorsText.reset}\n');

  print(
      '${ColorsText.blue}📁 Creating project structure...${ColorsText.reset}\n');
  Creators.init();

  if (argResults != null) {
    List<String> lang = argResults!['lang'];
    if (lang.isNotEmpty) {
      print(
          '\n${ColorsText.blue}🌍 Adding localizations...${ColorsText.reset}');
      await Creators.addLang(languages: lang);
    }
  }

  print('\n${ColorsText.blue}📦 Installing packages...${ColorsText.reset}');
  for (var package in PackagesName().initPackages) {
    await installPackage(package);
  }

  print(
      '\n${ColorsText.blue}🔧 Installing dependency overrides...${ColorsText.reset}');
  for (var package in PackagesName().dependencyOverrides) {
    await installPackageAsOverride(package);
  }

 await runPubGet();
  await Process.run(
    'flutter',
    ['gen-l10n'],
    workingDirectory: Directory.current.path,
  );


  print(
      '\n${ColorsText.green}═══════════════════════════════════════════════════════════${ColorsText.reset}');
  print(
      '${ColorsText.green}          ✅ Project initialized successfully!${ColorsText.reset}');
  print(
      '${ColorsText.green}═══════════════════════════════════════════════════════════${ColorsText.reset}\n');
}