build method
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,
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;
}