run method

  1. @override
FutureOr run()
override

Runs this command.

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

Implementation

@override
FutureOr run() async {
  var resultStateManagement = selecStateManagement();

  await isContinue((argResults?['force'] == true) ? 1 : null);

  var result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/main.dart'), key: 'main'));
  execute(result);
  result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/app_module.dart'), key: 'app_module'));
  execute(result);
  result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/app_widget.dart'), key: 'app_widget'));
  execute(result);

  //install packages
  result = await Modular.get<Install>().call(PackageName('flutter_modular')).run();
  execute(result);

  switch (resultStateManagement) {
    case 0:
      //Instal flutter_triple
      result = await Modular.get<Install>().call(PackageName('flutter_triple', isDev: false)).run();
      execute(result);
      //Instal rx_notifier
      result = await Modular.get<Install>().call(PackageName('triple_test', isDev: true)).run();
      execute(result);
      //Create a controller
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_store.dart'), key: 'triple'));
      execute(result);
      //Page
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_page.dart'), key: 'home_page_triple'));
      execute(result);
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_module.dart'), key: 'home_module_triple'));
      execute(result);

      break;
    case 1:
      //Instal mobx
      result = await Modular.get<Install>().call(PackageName('mobx', isDev: false)).run();
      execute(result);
      //Instal flutter_mobx
      result = await Modular.get<Install>().call(PackageName('flutter_mobx', isDev: false)).run();
      execute(result);

      //Instal mobx_codegen
      result = await Modular.get<Install>().call(PackageName('mobx_codegen', isDev: true)).run();
      execute(result);
      //Create a mobx
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_store.dart'), key: 'mobx'));
      execute(result);
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_store.g.dart'), key: 'mobx_g'));
      execute(result);
      //Page
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_page.dart'), key: 'home_page_mobx'));
      execute(result);
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_module.dart'), key: 'home_module_mobx'));
      execute(result);

      break;
    case 2:
      //Instal flutter_bloc
      result = await Modular.get<Install>().call(PackageName('flutter_bloc', isDev: false)).run();
      execute(result);
      //Instal bloc_test
      result = await Modular.get<Install>().call(PackageName('bloc_test', isDev: true)).run();
      execute(result);
      //Create a cubit
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/counter_cubit.dart'), key: 'cubit'));
      execute(result);
      //Page
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_page.dart'), key: 'home_page_cubit'));
      execute(result);
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_module.dart'), key: 'home_module_cubit'));
      execute(result);
      break;
    case 3:
      //Instal rxdart
      result = await Modular.get<Install>().call(PackageName('rxdart', isDev: false)).run();
      execute(result);
      //Create a rxdart
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_controller.dart'), key: 'rx_dart'));
      execute(result);

      //Page
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_page.dart'), key: 'home_page_rx_dart'));
      execute(result);
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_module.dart'), key: 'home_module_rx_dart'));
      execute(result);

      break;
    default:
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_page.dart'), key: 'home_page'));
      execute(result);
      result = await Modular.get<Create>().call(TemplateInfo(yaml: mainFile, destiny: File('lib/app/modules/home/home_module.dart'), key: 'home_module'));
      execute(result);
  }

  //devs
  result = await Modular.get<Install>().call(PackageName('modular_test', isDev: true)).run();
  execute(result);
}