run method

  1. @override
String run(
  1. ParsedInputs inputs,
  2. List<String> args
)
override

Implementation

@override
String run(ParsedInputs inputs, List<String> args) {
  final name = inputs.valueOf(binaryName);
  final file = File(
    '${_parentDirectory.path}${Platform.pathSeparator}bin'
    '${Platform.pathSeparator}$name.dart',
  );

  if (file.existsSync()) {
    throw MambaException('Cannot create $name: the file already exists.');
  }

  file.parent.createSync(recursive: true);
  file.writeAsStringSync(
    "import 'package:mamba/mamba.dart';\n\n"
    'Future<void> main(List<String> args) => '
    "Executor('$name', 'A command-line application.', '1.0.0', [])\n"
    '    .create()\n'
    '    .execute(args);\n',
  );

  return 'Created executable in ${file.path}.';
}