火狐源代码分析;每个组件的代码行数

标签 firefox mozilla bugzilla

我目前正在尝试分析 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")

您可以使用 DXRsearchfox快速搜索 Firefox 存储库。

更新了答案以解决评论中的问题。

正如评论中所指出的,一些组件在 Bugzilla 上被跟踪(例如 Activity Stream),但没有直接映射到 mozilla-central 中的源文件。存储库(构建 Firefox 的一个)。这是因为一些较新的组件不支持“the trains”(约 6 周的开发周期),而是更频繁地更新并作为插件部署。

这些组件的代码通常位于 Mozilla 下 github account ,以及其他项目。由于有相当多的项目,识别您可能感兴趣的项目的一种方法是将它们限制为 JavaScript ones .如果您点击最后一个链接,您将看到测试试点和事件流(以及其他插件)的存储库。

恐怕要让GitHub项目与Bugzilla组件相匹配,唯一的办法就是在GitHub上查看仓库名称,在Bugzilla中找到匹配的组件:可以输入名称here获取一些组件建议。如果你想花哨,你也可以利用 Bugzilla REST API :
  • 获取 JS GitHub 项目的列表。
  • 提取项目名称。
  • 使用 REST API 获取 component suggestion .

  • 我个人只是将 mozilla-central 存储库视为一个起点,因为它主要是注释:刮掉 BUG_COMPONENT从源文件中,将它们映射到路径,然后使用 REST API 获取错误列表。

    旁注 : 下载面板似乎是 correctly annotated在主仓库中。

    关于火狐源代码分析;每个组件的代码行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44891908/

    相关文章:

    java - 可转让/URL导出: Transfering bookmark data between Java App and Mozilla

    html - Mozilla Firefox 不显示我的 svg

    sql - BugZilla,在给定日期获取错误状态(等)的最佳(最快)方式

    perl - Bugzilla-VCS 安装 Extension.pm 中出现错误

    svn - Bugzilla 是否支持集成到 Subversion 中?

    javascript - 上传到 S3 - Chrome/Firefox 中出现新的 "unsafe script"AKA "ran insecure content"错误

    javascript - 在javascript中跨域访问css文件中的CSS类

    javascript - 在 IE 上开发的 Javascript 在 Firefox 上失败的典型原因是什么?

    html - 选择继承(::selection、::-moz-selection)

    cookies - "domain"和 "non-domain"cookie 有什么区别?