build method

Future<String> build({
  1. List<String>? tags,
  2. @Deprecated('Use tags instead.') String? tag,
  3. required String mountPath,
  4. required String contextPath,
  5. required Stream<Uint8List> chunks,
  6. String? dockerfilePath,
  7. bool optimizeImage = true,
  8. bool private = false,
  9. List<DockerSecret> credentials = const [],
  10. String? builderName,
  11. int? size,
})

Implementation

Future<String> build({
  List<String>? tags,
  @Deprecated('Use tags instead.') String? tag,
  required String mountPath,
  required String contextPath,
  required Stream<Uint8List> chunks,
  String? dockerfilePath,
  bool optimizeImage = true,
  bool private = false,
  List<DockerSecret> credentials = const [],
  String? builderName,
  int? size,
}) async {
  final resolvedTags = tags ?? (tag == null ? const <String>[] : <String>[tag]);
  if (resolvedTags.isEmpty) {
    throw ArgumentError.value(resolvedTags, 'tags', 'must not be empty');
  }
  final input = _BuildInputStream(
    tags: resolvedTags,
    mountPath: mountPath,
    contextPath: contextPath,
    chunks: chunks,
    dockerfilePath: dockerfilePath,
    optimizeImage: optimizeImage,
    private: private,
    credentials: credentials,
    builderName: builderName,
    size: size,
  );
  final output = await room.invoke(toolkit: 'containers', tool: 'build', input: ToolStreamInput(input.inputStream()));
  if (output is! ToolContentOutput || output.content is! JsonContent) {
    throw _unexpectedResponseError(operation: 'build');
  }
  return (output.content as JsonContent).json['build_id'] as String;
}