run method

  1. @override
Future<int> run()
override

Runs this command.

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

Implementation

@override
Future<int> run() async {
  if (argResults == null || argResults!.rest.isEmpty) {
    logger.error('No type provided.');
    logger.info('Usage: flo_cli remove <type> <name>');
    return 64;
  }

  final type = argResults!.rest[0].toLowerCase();

  if (argResults!.rest.length < 2) {
    logger.error('No name provided.');
    logger.info('Usage: flo_cli remove <type> <name>');
    return 64;
  }

  final name = argResults!.rest[1];

  if (type == 'package') {
    return await _handleRemovePackage(name);
  } else {
    logger.error('Remove only supports "package" type currently.');
    return 1;
  }
}