gcloudLogin method

Future<bool> gcloudLogin()

Login to gcloud

Implementation

Future<bool> gcloudLogin() async {
  final String? serviceAccountPath = _resolvedServiceAccountPath;
  if (serviceAccountPath != null) {
    info('Authenticating gcloud with configured service account key...');
    final List<String> args = <String>[
      'auth',
      'activate-service-account',
      '--key-file',
      serviceAccountPath,
    ];

    final String? projectId = _requireFirebaseProjectId();
    if (projectId != null) {
      args.addAll(<String>['--project', projectId]);
    }

    final ProcessResult result = await _runner.run('gcloud', args);
    return result.success;
  }

  info('Logging in to Google Cloud...');

  final int result = await _runner.runStreaming('gcloud', <String>[
    'auth',
    'login',
  ]);
  return result == 0;
}