build method

  1. @override
Future<void> build(
  1. BuildStep buildStep
)

Generates the outputs for a given BuildStep.

Implementation

@override
Future<void> build(BuildStep buildStep) async {
  var targetId = buildStep.inputId.toString();
  if (targetId.contains('.vm_test.') ||
      targetId.contains('.node_test.') ||
      targetId.contains('.browser_test.')) return;
  var inputLibrary = await buildStep.inputLibrary;
  var resolver = buildStep.resolver;
  var inputId = buildStep.inputId;
  var outputId = inputId.changeExtension('.reflectable.dart');
  var visibleLibraries = await resolver.libraries.toList();
  var generatedSource = await BuilderImplementation().buildMirrorLibrary(
      resolver, inputId, outputId, inputLibrary, visibleLibraries, true, []);
  await buildStep.writeAsString(outputId, generatedSource);
}