SuperAPI AI 工具集

module-dependencies

编程与开发

查看项目

更新于 10-15 23:31

技能介绍

用途:在 IntelliJ IDEA 代码库中管理模块依赖,涉及 JPS 的 .iml 文件与由 .iml 自动生成的 Bazel BUILD 文件。.iml 是模块依赖的 source of truth,Bazel BUILD 文件由 .iml 自动生成。

主要能力与使用方式:创建或编辑 .iml 时,用辅助脚本注册模块,避免手工编辑项目模块列表:bun build/jps-module.mjs register <path-to-iml> --fix-iml-eof。该命令会在 .idea/modules.xml 注册模块,也会把 community/ 下模块注册到 community/.idea/modules.xml,按规范顺序插入条目,并在传入 --fix-iml-eof 时移除所列 .iml 文件末尾换行。只检查不写入可用 bun build/jps-module.mjs check <path-to-iml> --fix-iml-eof。修改 .iml 后需运行 ./build/jpsModelToBazel.cmd,使生成的 BUILD.bazel 与 .iml 保持一致;当自动转换未运行、在 IDE 外修改 .iml、或在 git 操作后需要重新生成 BUILD 文件,以及排查构建系统同步问题时使用。

BUILD.bazel 中被标注为 auto-generated section 的内容会被生成器覆盖,段外内容在重新生成时保留;可用 “### skip generation section” 标记阻止某段自动生成,以便自定义内容。内容模块与包装插件方面,产品布局可直接包含内容模块,若生产运行时已可从产品布局中的内容模块获得依赖,则不必自动添加包装插件依赖;测试常常不在完整生产布局或扁 classpath 下运行,若测试模块加载的插件依赖由某个包装插件拥有的内容模块,应在测试模块 .iml 中把该包装插件加为测试或运行时依赖,而不是扩大生产模块依赖。

限制:资料仅描述上述流程,未提供版本要求、平台范围或效果说明。修复缺失依赖时应使用仓库认可的编辑工具修改 .iml,对每个变更模块运行 register 命令,再运行 ./build/jpsModelToBazel.cmd,并验证受影响模块的编译或测试。其他细节暂未提供。