build method
Generates the outputs for a given BuildStep
.
Implementation
@override
Future<void> build(BuildStep buildStep) async {
final inputId = buildStep.inputId;
final outputId = AssetId(
inputId.package,
inputId.path
.replaceFirst('assets/', 'lib/generated/')
.replaceFirst('.json', '.dart'),
);
final messages = (json.decode(await buildStep.readAsString(inputId)) as Map)
.cast<String, String>();
final outputBuffer = StringBuffer('// Generated, do not edit\n');
messages.forEach((key, value) {
outputBuffer.writeln("const String $key = '$value';");
});
await buildStep.writeAsString(outputId, outputBuffer.toString());
}