run method

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

Implementation

@override
Future<String> run(ParsedInputs inputs, List<String> args) async {
  final name = inputs.valueOf(packageName);

  final description = inputs.valueOf(projectDescription);

  // A flag answers its own step, so the prompt is only reached when the
  // answer is still open.
  final installsDependencies =
      inputs.valueOf(install) || await _installPrompt.confirmsInstallation();
  final initializesGitRepository =
      inputs.valueOf(initializeGit) ||
      await _gitPrompt.confirmsInitialization();

  _projectScaffolder.scaffold(
    name,
    description,
    installDependencies: installsDependencies,
    initializeGitRepository: initializesGitRepository,
  );

  final projectPath =
      '${_parentDirectory.path}${Platform.pathSeparator}$name';

  return [
    'Created Mamba command-line application in $projectPath.',
    if (!installsDependencies)
      'Run `dart pub get` in $projectPath to install its dependencies.',
  ].join('\n');
}