resolveDartVersionForDeploy static method

String? resolveDartVersionForDeploy({
  1. required String? override,
  2. required String? configDartSdk,
  3. required Iterable<String? Function()> lazyVersionSources,
})

Implementation

static String? resolveDartVersionForDeploy({
  required final String? override,
  required final String? configDartSdk,
  required final Iterable<String? Function()> lazyVersionSources,
}) {
  final fromOverride = _nonBlank(normalizeBareMajorMinorOverride(override));
  if (fromOverride != null) {
    ensureValidVersionConstraint(
      fromOverride,
      sourceDescription: '(from --dart-version flag)',
    );
    return fromOverride;
  }
  final fromConfig = _nonBlank(configDartSdk);
  if (fromConfig != null) {
    ensureValidVersionConstraint(
      fromConfig,
      sourceDescription: '(from scloud.yaml)',
    );
    return fromConfig;
  }
  for (final source in lazyVersionSources) {
    final candidate = _nonBlank(source());
    if (candidate != null) {
      ensureValidVersionConstraint(candidate);
      return candidate;
    }
  }
  return null;
}