main function
General command template:
nftgen <PROJECT-DIR>
Add --no-kill and method will throw NftCliException
instead of calling exit(64).
Implementation
Future<dynamic> main(List<String> args, [DrawBase? drawService]) async {
final runner = CommandRunner("nftgen", "Generate NFTs")
..addCommand(DemoCommand(drawService))
..addCommand(InitCommand())
..addCommand(MetaCommand())
..addCommand(RarityCommand())
..addCommand(CidCommand())
..addCommand(CrunchCommand())
..addCommand(NftCommand(drawService));
try {
await runner.run(args);
if (args.contains("--no-kill") == false) {
exit(0);
}
} catch (error, stack) {
// stderr.writeln(error);
// stderr.writeln(stack);
if (error is NftException) {
stderr.writeln(error.message);
} else {
stderr.writeln(error);
stderr.writeln(stack);
}
// EXIT if on pure CLI
if (args.contains("--no-kill") == false) {
exit(64); // Exit code 64 indicates a usage error.
}
if (error is! UsageException) {
rethrow;
}
}
}