分析
分析的运行是 Fuchsia 构建的一部分。
对于每一个 dart_library
目标,分析脚本也会生成到位于下面路径中的输出路径下:
out/<build-type>/gen/path/to/package/package.analyzer.sh
运行此脚本将对目标的来源进行分析。
请注意,其他模板通常定义它们构建的 Dart 库。
例如,flutter_app //foo/bar
将产生一个 //foo/bar:bar_dart_library
目标,也可以对其进行分析。(that can also be analyzed.)
与标准 Dart 包一样,分析选项在 analysis_options.yaml
文件中定义,该文件必须放在包的根目录下。
该文件可以通过 include
指令引用一组通用选项:
include: relative/path/to/options.file
这是一个规范集 //topaz/tools/analysis_options.yaml 通常只在本地选项文件中的包含该集合:
include: path/to/topaz/tools/analysis_options.yaml
对于给定的目标,可以完全禁用分析:
dart_library("foo") {
disable_analysis = true
}
//scripts/run-dart-action.py
脚本可以轻松地在多个目标上运行分析:
scripts/run-dart-action.py analyze --out out/<build-type> --tree //topaz/shell/*
也可以传递常规分析器标志:
scripts/run-dart-action.py analyze --out out/<build-type> --fatal-warnings --lints
这适用于各个分析脚本。