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