run method

Future<void> run()

Implementation

Future<void> run() async {
  final main = _parser.main;
  final name = _parser.name;

  for (var entry in _parser.platforms.entries) {
    late Compile runner;

    switch (entry.key) {
      case 'android':
        runner = AndroidRunner(main: main, name: name);
        break;
      case 'ios':
        runner = IOSRunner(main: main, name: name);
        break;
      case 'windows':
        runner = WindowsRunner(main: main, name: name);
        break;
      case 'macos':
        runner = MacOSRunner(main: main, name: name);
        break;
      case 'linux':
        runner = LinuxRunner(main: main, name: name);
        break;
      case 'web':
        runner = WebRunner(main: main, name: name);
        break;
      default:
        throw 'BindGo: the platform ${entry.key} is not implemented';
    }

    final archs = entry.value['arch'];
    final cc = entry.value['cc'];
    await runner.run(_handleArch(archs), cc);
  }
}