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 inputId = buildStep.inputId;
  final catalogJson = await buildStep.readAsString(inputId);
  // The shipped builder runs with the default extension set; domains needing
  // custom extensions wrap generateFromCatalog in their own builder.
  final outputs = generateFromCatalog(catalogJson);

  final basePath = inputId.path.substring(
    0,
    inputId.path.length - _inputExtension.length,
  );
  await buildStep.writeAsString(
    AssetId(inputId.package, '$basePath.g.dart'),
    outputs.registryDart,
  );
  await buildStep.writeAsString(
    AssetId(inputId.package, '$basePath.g.json'),
    outputs.toolSchemaJson,
  );
}