String buildDockerfile()

in scripts/lib/src/dockerfile.dart [8:28]


String buildDockerfile(DartSdkVersion version, String template) {
  var variables = {
    'DART_CHANNEL': version.channel,
    'DART_VERSION': version.version.toString(),
    'DART_SHA256_X64': version.sha256['x64'],
    'DART_SHA256_ARM': version.sha256['arm'],
    'DART_SHA256_ARM64': version.sha256['arm64'],
  };
  var dockerfile =
      template.splitMapJoin(RegExp(r'{{(.*?)}}'), onMatch: (match) {
    var value = variables.remove(match[1]!);
    if (value == null) {
      throw StateError('Unknown template variable ${match[1]}');
    }
    return value;
  });
  if (variables.isNotEmpty) {
    throw ArgumentError.value(template, 'template', 'missing $variables');
  }
  return dockerfile;
}