build method
Generates the outputs for a given BuildStep
.
Implementation
@override
FutureOr<void> build(BuildStep buildStep) async {
final libAssetIds = await libraryAssetIds(buildStep);
// Accessing libraries.
for (final libAssetId in libAssetIds) {
final library = LibraryReader(
await buildStep.resolver.libraryFor(libAssetId),
);
// Calling generator.generate.
log.fine('Running ${generator.runtimeType} on: ${libAssetId.path}.');
// Create output file name.
await buildStep.writeAsString(
AssetId(
buildStep.inputId.package,
_outputFile(libAssetId),
),
arrangeContent((await generator.generate(library, buildStep)) ?? '',
generatedBy: 'Generated by ${generator.runtimeType}. '),
);
}
}