build method
Generates the outputs for a given BuildStep.
Implementation
@override
Future<void> build(BuildStep buildStep) async {
var sourceClasses = <SourceClass>[];
var entryLib = await buildStep.inputLibrary;
var units = entryLib.units;
for (var unit in units) {
for (var classElement in unit.classes) {
var sourceClass = createSourceClass(classElement);
if (sourceClass != null) {
sourceClasses.add(sourceClass);
}
}
}
if (sourceClasses.isNotEmpty) {
var outputId = buildStep.inputId.changeExtension('.g.dart');
StyleClassLibrary styleClassLibrary = StyleClassLibrary(sourceClasses);
var formattedCode = Future.value(styleClassLibrary.toFormattedString());
buildStep.writeAsString(outputId, formattedCode);
}
// var resolver = buildStep.resolver;
// // Get a `LibraryElement` for another asset.
// var libFromAsset = await resolver.libraryFor(
// AssetId.resolve(Uri.parse('some_import.dart'),
// from: buildStep.inputId));
// // Or get a `LibraryElement` by name.
// var libByName = await resolver.findLibraryByName('my.library');
}