我目前正在尝试分析 Bugzilla 以找到 number of bugs : lines of code
的比率。对于每个 Firefox 组件。但是,我以前从未使用过 Bugzilla,也不了解 Firefox 的代码库。
我将如何查找每个 Firefox 组件的代码行(因为它们出现在 Comp 标题下的 Bugzilla 上)?我曾尝试翻阅 mozilla central ,但不知道哪些源文件与哪些组件相关。
编辑:Dexter 指出在 mozilla-central 树中有一个指令 BUG_COMPONENT,但是这个指令似乎非常不完整并且没有帮助。任何其他建议或有关我在哪里可以获得此类建议的指示将不胜感激。
最佳答案
好问题!我们最近添加了 BUG_COMPONENT
指令(参见 meta bug )到 Firefox 代码:它在 moz.build
中源文件中的每个目录中包含的文件。该指令允许将存储库中的每个文件链接到相关的 Bugzilla 组件。
例如,以下指令找到 here , 告诉 test/browser 中包含 Telemetry 词的所有文件都属于 Bugzilla 上的 Toolkit::Telemetry 组件。
with Files("test/browser/*Telemetry*"):
BUG_COMPONENT = ("Toolkit", "Telemetry")
您可以使用 DXR或 searchfox快速搜索 Firefox 存储库。
更新了答案以解决评论中的问题。
正如评论中所指出的,一些组件在 Bugzilla 上被跟踪(例如 Activity Stream),但没有直接映射到 mozilla-central 中的源文件。存储库(构建 Firefox 的一个)。这是因为一些较新的组件不支持“the trains”(约 6 周的开发周期),而是更频繁地更新并作为插件部署。
这些组件的代码通常位于 Mozilla 下 github account ,以及其他项目。由于有相当多的项目,识别您可能感兴趣的项目的一种方法是将它们限制为 JavaScript ones .如果您点击最后一个链接,您将看到测试试点和事件流(以及其他插件)的存储库。
恐怕要让GitHub项目与Bugzilla组件相匹配,唯一的办法就是在GitHub上查看仓库名称,在Bugzilla中找到匹配的组件:可以输入名称here获取一些组件建议。如果你想花哨,你也可以利用 Bugzilla REST API :
我个人只是将 mozilla-central 存储库视为一个起点,因为它主要是注释:刮掉
BUG_COMPONENT
从源文件中,将它们映射到路径,然后使用 REST API 获取错误列表。旁注 : 下载面板似乎是 correctly annotated在主仓库中。
关于火狐源代码分析;每个组件的代码行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44891908/