【问题标题】:API for Doxygen Execution [closed]用于 Doxygen 执行的 API [关闭]
【发布时间】:2023-12-01 17:56:01
【问题描述】:

每当我将源代码插入代码存储库时,我都想自动执行 Doxygen。我可以在我的 java 代码中使用 doxygen 的任何 api/接口来开始执行它吗?

【问题讨论】:

  • 一个简单的提交钩子应该可以工作,你使用的是什么版本控制系统?

标签: api doxygen


【解决方案1】:

Doxygen 本身是通过执行命令行命令启动的,因此您只需要在发生签入时执行命令的方式。您没有提及您正在使用的 SCC 工具、开发环境或操作系统,因此很难给出具体答案。

执行此操作的常用方法是使用运行持续集成的构建服务器。也就是说,当您签入代码时,构建服务器会注意到签入,获取新代码,然后执行构建(在本例中为 Doxygen 文档)。有many tools available 可以自动化PC 来制作构建服务器。使用哪一个将取决于您使用的操作系统和源代码控制包之类的东西。 (如果您没有/想要专用的构建服务器,您也可以在您自己的 PC 上在后台运行这样的工具)。

如果您只是希望在您签入时在您自己的 PC 上进行构建,那么您可以调查您的源代码控制软件,看看您是否可以收到签入通知。一些 SCC 可能会为某些事件提供执行脚本或命令的能力,因此可以让它为您执行命令。

最后,很多人只是在他们的开发环境中设置了一个工具/宏来执行 Doxygen,然后他们手动运行它。在 Visual Studio(例如)中,您甚至可以编写一个宏,该宏可以通过单个按键执行签入和执行 Doxygen。

【讨论】:

  • 我对所有这些都使用了提交挂钩 (Mercurial),包括运行 lints、asciidoc 和 doxygen。不过,如果文档覆盖警告可以破坏构建,那将会很方便并被 CI 服务器注意到。
【解决方案2】:

如果您想对 doxygen 进行更多控制,您还必须生成 xml 文件并创建一个程序来分析 xml 输出文件以检查您的所有约束,并在违反约束时停止构建。

这种技术需要一些开发工作,但这是我知道用 doxygen 做你想做的事情的唯一方法。

【讨论】:

    最近更新 更多