run method

  1. @override
Future<void> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<void> run() async {
  final results = argResults!;

  final projectId = results['projectId'] as String;
  final serviceAccount = results['serviceAccount'] as String;
  final buildOptions = results['buildOptions'] as String;

  final firebaseHostingUtil = FirebaseHostingUtil(
    serviceAccount: serviceAccount,
    projectId: projectId,
  );

  final authClient = await firebaseHostingUtil.initializeAuthClient();

  final buildLocation = await WebUtil.createBuild(
    buildOptions: buildOptions,
  );
  if (buildLocation != null) {
    stdout.writeln(
      'Uploading flutter build to Firebase Hosting...',
    );
    await firebaseHostingUtil.uploadBuild(
      authClient: authClient,
      buildLocation: buildLocation,
    );
  }
}