measure_build
measure_build scans your Flutter project and generates a map of all widget types that extend from
Flutter's base Widget class. This generated map is used by the Measure SDK to capture layout
snapshots with proper widget type information.
Usage
1. Install
Add measure_build as a dev dependency:
dev_dependencies:
measure_build: ^0.1.0
build_runner: ^2.4.0
2. Run the code generator
dart run build_runner build
This generates lib/msr_widgets.g.dart containing a map named widgetFilter.
3. Use in Measure SDK initialization
Import the generated file and pass the map to your Measure configuration:
import 'package:your_app/msr_widgets.g.dart';
import 'package:measure_flutter/measure_flutter.dart';
final config = MeasureConfig(
widgetFilter: widgetFilter,
);
Configuration
You can customize the builder's behavior in build.yaml:
targets:
$default:
builders:
measure_build|widget_analyzer:
# Custom output path (default: 'lib/msr_widgets.g.dart')
output_path: lib/src/msr/msr_widgets.g.dart
# Directories to scan for widgets (default: ['lib'])
scan_directories:
- lib
- custom_widgets
# Variable name for the generated map (default: 'widgetFilter')
variable_name: msrWidgetFilter
output_path— the path where the generated file will be saved. Defaults to ' lib/msr_widgets.g.dart'.scan_directories— a list of directories to scan for widgets. Defaults to'lib'.variable_name— the variable name of the generated map. Defaults to 'widgetFilter'.