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 an app id. Example: flutter pub run publish app-id --value "com.myapp"'
            .makeWarning);
    return;
  }
  if (!_Validator.isValidAppId(value)) {
    stdout.writeln('Invalid app id: $value'.withColor(red));
    return;
  }

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