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(packageName);

  final directory = Directory('${_parentDirectory.path}/$name');

  if (directory.existsSync())
    throw MambaException(
      'Cannot create $name: the directory already exists.',
    );

  directory.createSync();

  Directory('${directory.path}/bin').createSync();

  File('${directory.path}/pubspec.yaml').writeAsStringSync(
    'name: $name\nenvironment:\n  sdk: ^3.13.2\ndependencies:\n  mamba: any\n',
  );

  File('${directory.path}/bin/$name.dart').writeAsStringSync(
    "import 'package:mamba/mamba.dart';\nFuture<void> main(List<String> args) => Executor('$name', 'A command-line application.', '1.0.0', []).create().execute(args);\n",
  );

  return 'Created Mamba command-line application in ${directory.path}.';
}