build method

  1. @override
Future<void> build(
  1. BuildStep buildStep
)

Generates the outputs for a given BuildStep.

Implementation

@override
Future<void> build(BuildStep buildStep) async {
  final String yamlText = await buildStep.readAsString(buildStep.inputId);

  final WhiteLabelConfig config;
  try {
    config = WhiteLabelConfig.parse(yamlText);
  } on WhiteLabelConfigException catch (e) {
    log.severe('white_label.yaml is invalid:\n$e');
    rethrow;
  }

  final String selectedId = resolveGeneratorTenantId(
    config,
    environment: environmentOverride,
  );

  final outputId = AssetId(
    buildStep.inputId.package,
    'lib/white_label.g.dart',
  );
  await buildStep.writeAsString(
    outputId,
    generateWhiteLabelSource(config, selectedId),
  );
}