resolveProject function

String resolveProject(
  1. String? projectInOption, {
  2. Map<String, String>? env,
})

The resolved Google Cloud project ID for deployment.

projectInOption takes precedence over GOOGLE_CLOUD_PROJECT. Throws a StateError when neither source provides a value.

Implementation

String resolveProject(String? projectInOption, {Map<String, String>? env}) {
  final String? fromOption = projectInOption?.trim();
  if (fromOption != null && fromOption.isNotEmpty) {
    return fromOption;
  }
  final String? fromEnv = (env ?? Platform.environment)['GOOGLE_CLOUD_PROJECT']
      ?.trim();
  if (fromEnv == null || fromEnv.isEmpty) {
    throw StateError('GOOGLE_CLOUD_PROJECT is not set.');
  }
  return fromEnv;
}