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);
  }

  print('\n${ColorsText.blue}🔄 Running pub get...${ColorsText.reset}');
  runPubGet();

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