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