build method
Generates the outputs for a given BuildStep.
Implementation
@override
Future<void> build(BuildStep buildStep) async {
// Only run for the synthetic input
if (!buildStep.inputId.path.endsWith(r'$lib$')) {
return;
}
// Ensure gen directory exists
final genDir = Directory('lib/gen');
if (!await genDir.exists()) {
await genDir.create(recursive: true);
}
// Generate code with validation
final generator = EnviroGeneratorLogic();
final output = await generator.generate();
if (output != null) {
final outputId = AssetId(
buildStep.inputId.package,
'lib/gen/enviro.gen.dart',
);
await buildStep.writeAsString(outputId, output);
}
}