run method

  1. @override
void run()
override

Runs this command.

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

Implementation

@override
void run() {
  if (!_Validator.isPubspecValid) {
    stdout.writeln(
      "This directory doesn't seem to be a valid Flutter project.".makeError,
    );
    return;
  }

  var value = argResults?['value'];
  if (value == null) {
    stdout.writeln(
        'Please provide a name for your app. Example: flutter pub run publish app-name --value "My App"'
            .makeWarning);
    return;
  }
  if (!_Validator.isValidAppName(value)) {
    stdout.writeln('Invalid app name: $value'.makeError);
    return;
  }

  var platforms = (argResults?['platforms'] ?? "android,ios").split(',');
  for (var platform in platforms) {
    try {
      var done = ConfigsHelper.updateName(value, platform);
      if (done) {
        stdout.writeln(
            'Successfully updated $platform app name to: $value'.makeCheck);
      }
    } catch (e) {
      stdout.writeln('Error updating $platform app name: $e'.makeError);
    }
  }
}