分析

分析的运行是 Fuchsia 构建的一部分。

对于每一个 dart_library 目标,分析脚本也会生成到位于下面路径中的输出路径下:

  1. 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 指令引用一组通用选项:

  1. include: relative/path/to/options.file

这是一个规范集 //topaz/tools/analysis_options.yaml 通常只在本地选项文件中的包含该集合:

  1. include: path/to/topaz/tools/analysis_options.yaml

对于给定的目标,可以完全禁用分析:

  1. dart_library("foo") {
  2. disable_analysis = true
  3. }

//scripts/run-dart-action.py 脚本可以轻松地在多个目标上运行分析:

  1. scripts/run-dart-action.py analyze --out out/<build-type> --tree //topaz/shell/*

也可以传递常规分析器标志:

  1. scripts/run-dart-action.py analyze --out out/<build-type> --fatal-warnings --lints

这适用于各个分析脚本。