main function
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('');
}
}