集成 IDK 就是使用 IDK 并将其转换为开发环境专用的 SDK,以便开发者直接使用的过程。
注入过程的主要入口点是一个位于 //meta/manifest.json
的文件。与 IDK 中的每个元数据文件一样,清单遵循 //meta/schemas/manifest.json
中的 JSON 架构。
此文件包含此 IDK 中包含的所有元素的列表,通过指向其相应元数据文件的路径表示。每个元素文件一定会包含一个顶级 type
属性,该属性可用于对不同的元素类型进行不同的处理。例如,为 FIDL 库生成 build 文件,或只是将主机工具移到最终开发环境中某个方便的位置。
各种元数据文件是否存在,及其内容的详尽程度应该使提取过程实现完全自动化。 甚至可以使用 JSON 架构生成表示元数据容器的代码,并让提取程序处理惯用的数据结构(而不是原始 JSON 表示法)。
元数据架构将随着时间的推移而演变。为了让该元数据的使用者适应架构更改,主元数据文件包含一个名为 schema_version
的属性,该属性是这些架构的不透明版本标识符。每当元数据架构以需要开发者注意的方式发展时,此版本标识符都会被修改。IDK 使用方可以记录他们用于上次提取 IDK 的元数据的版本标识符,并将该版本标识符与下一个 IDK 的版本标识符进行比较,以便检测何时可能需要开发者执行操作。