runStack function
The entry point of a project with one Stack: writes it to out.
// bin/run_stack.dart
final class OrdersStack extends Stack {
OrdersStack() : super(providers: const [TimeProvider()]);
}
Future<void> main(List<String> args) => runStack(args, OrdersStack.new);
dart run bin/infra.dart writes tf-out/main.tf.json; terradart plan
and terradart apply run the engine there.
Implementation
Future<void> runStack(
List<String> args,
Stack Function() build, {
String out = 'tf-out',
}) async {
final stack = build();
await stack.writeTo(out);
stdout.writeln('synthesized $out/main.tf.json');
await _writeManifest(
environments: null,
selected: null,
roots: [_root(null, out, null, const [], stack)],
);
}