run method
Runs this command.
The return value is wrapped in a Future
if necessary and returned by
CommandRunner.runCommand
.
Implementation
@override
Future<void> run() async {
const moduleResolver = ModuleDependencyResolver();
final isStrict = (globalResults?['strict'] as bool?) ?? false;
final moduleCreator = ModuleCreator(
moduleResolver,
smfModules,
coreModuleKeys: const [
kFlutterCoreModule,
kContractsModule,
],
);
final preferences = CreatePrompt(creator: moduleCreator).prompt(
argResults,
allowedModules: allowedModules,
strictMode: isStrict ? StrictMode.strict : StrictMode.lenient,
logger: logger,
);
return SafeGenerationRunner().run(
CliContext(
name: preferences.name,
packageName: preferences.packageName,
selectedModules: preferences.selectedModules,
outputDirectory: argResults?['output'] as String? ?? './',
initialRoute: preferences.initialRoute,
strictMode: isStrict ? StrictMode.strict : StrictMode.lenient,
logger: logger,
moduleResolver: moduleResolver,
),
onConflict: globalResults?['on-conflict'] as String? ?? 'prompt',
);
}