run method

Future<void> run(
  1. List<String> arguments
)

Runs the icon generation command.

Parses arguments, validates input, creates configuration files, and triggers icon generation for Android and/or iOS.

Implementation

Future<void> run(List<String> arguments) async {
  final parser = _buildParser();
  final results = parser.parse(arguments);

  if (results['help'] as bool) {
    _printUsage(parser);
    return;
  }

  final iconPath = results['path'] as String?;
  final projectPath = results['project'] as String? ?? Directory.current.path;
  final generateAndroid = results['android'] as bool;
  final generateIos = results['ios'] as bool;
  final removeAlpha = results['remove-alpha'] as bool;

  await _validateInputs(iconPath, projectPath);

  await _setupIconConfiguration(
    projectPath,
    iconPath!,
    generateAndroid,
    generateIos,
    removeAlpha,
  );

  await _generateIcons(projectPath);

  _printSuccessMessage(generateAndroid, generateIos);
}