main function

void main(
  1. List<String> arguments
)

Implementation

void main(List<String> arguments) async {
  if (arguments.length >= 2) {
    if ((arguments[0] != 'apk') && (arguments[0] != 'ipa')) {
      print('Manual upload type (first argument) must be "apk" or "ipa".');
      return;
    }
    final platform = (arguments[0] == 'apk') ? 'android' : 'ios';
    final version = arguments[1];
    if (arguments.length < 3) {
      print('Manual upload must specify filename argument.');
      return;
    }
    final filename = arguments[2];
    if (!(await File(filename).exists())) {
      print('Could not find file at ${filename}');
      return;
    }
    if ((platform == 'ios') && (arguments.length == 4)) {
      final ios_bundle_id = arguments[3];
      await do_upload(platform, filename, version, ios_bundle_id);
    } else {
      await do_upload(platform, filename, version);
    }
  } else if (arguments.length == 1) {
    if (arguments[0] == 'apk-release') {
      await do_android_upload('release');
    } else if (arguments[0] == 'apk-debug') {
      await do_android_upload('debug');
    } else {
      if ((arguments[0] == 'apk') || (arguments[0] == 'ipa')) {
        print('Manual upload must specify app version and filename arguments.');
      } else {
        print(
            'Upload type must be "apk-release", "apk-debug", "apk", or "ipa". Try the command without arguments to see options.');
      }
      return;
    }
  } else {
    print('Found the following application builds:');
    try {
      final Map release_info = await get_android_build_info('release');
      final releaseVersion = getAndroidVersion(release_info);
      print('\n* Android: release build, version ${releaseVersion}');
      print('>> flutter packages pub run flutter_app_host apk-release');
    } catch (e) {}
    try {
      final debug_info = await get_android_build_info('debug');
      final debugVersion = getAndroidVersion(debug_info);
      print('\n* Android: debug build, version ${debugVersion}');
      print('>> flutter packages pub run flutter_app_host apk-debug');
    } catch (e) {}

    print('\nManually upload Android build archives (.apk file):');
    print(
        '>> flutter packages pub run flutter_app_host apk <version> <filename>');

    print('\nManually upload iOS build archives (.ipa file):');
    print('https://flutter.dev/docs/deployment/ios#create-a-build-archive');
    print(
        '>> flutter packages pub run flutter_app_host ipa <version> <filename> <ios_bundle_identifier>');

    print('');
  }
}