buildApp function

Future<void> buildApp({
  1. required BuildSettings settings,
})

Implementation

Future<void> buildApp({
  required BuildSettings settings,
}) async {
  final neededProperties = settings.neededEnvKeys.map((e) {
    return EnvProperty(
      e,
      defaultValue: settings.initialEnv[e],
    );
  }).toSet();

  final collectEnvStep = StepCollectEnvProperties(
    sources: {
      if (settings.envFilePath != null)
        FileEnvPropertySource(
          envFilePath: settings.envFilePath!,
        ),
    },
  );

  // final normalizeEnvStep = StepNormalizeEnvProperties(
  //   neededProperties: neededProperties,
  // );

  final guardEnvStep = StepGuardEnvProperties(
    requiredProperties: neededProperties,
  );

  final buildCompositor = BuildCompositor()
    ..setNext(const StepGuardBuildSettings())
    ..setNext(collectEnvStep)
    ..setNext(const StepInjectSystemProperties())
    // ..setNext(normalizeEnvStep)
    ..setNext(guardEnvStep)
    ..setNext(const StepRunActualBuild())
    ..setNext(const StepMoveArtifacts());

  await buildCompositor.run(
    settings: settings,
    listener: ConsolePrinterStepListener(
      Logger.verbose(ansi: Ansi(true)),
    ),
  );
}