Analysis is run as part of the Fuchsia build.
For each dart_library
target, an analysis script gets
also generated in the output directory under:
out/<build-type>/gen/path/to/package/package.analyzer.sh
Running this script will perform an analysis of the target's sources.
Note that other templates usually define a Dart library they build upon. For
example, a flutter_app //foo/bar
will yield a //foo/bar:bar_dart_library
target that can also be analyzed.
As with standard Dart packages, analysis options are defined in an
analysis_options.yaml
file, which must be placed at the package root.
This file may refer to a common set of options by way of an include
directive:
include: relative/path/to/options.file
A canonical set is available at //analysis_options.yaml It is customary to merely include that set from a local options file:
include: path/to/build/dart/analysis_options.yaml
Analysis may be disabled altogether for a given target with:
dart_library("foo") {
disable_analysis = true
}
The //scripts/run-dart-action.py
script makes it easy to run the analysis over
multiple targets:
scripts/run-dart-action.py analyze --out out/<build-type> --tree //topaz/shell/*
Regular analyzer flags may also be passed:
scripts/run-dart-action.py analyze --out out/<build-type> --fatal-warnings --lints
This holds true for the individual analysis scripts.