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