【发布时间】:2023-12-01 17:56:01
【问题描述】:
每当我将源代码插入代码存储库时,我都想自动执行 Doxygen。我可以在我的 java 代码中使用 doxygen 的任何 api/接口来开始执行它吗?
【问题讨论】:
-
一个简单的提交钩子应该可以工作,你使用的是什么版本控制系统?
每当我将源代码插入代码存储库时,我都想自动执行 Doxygen。我可以在我的 java 代码中使用 doxygen 的任何 api/接口来开始执行它吗?
【问题讨论】:
Doxygen 本身是通过执行命令行命令启动的,因此您只需要在发生签入时执行命令的方式。您没有提及您正在使用的 SCC 工具、开发环境或操作系统,因此很难给出具体答案。
执行此操作的常用方法是使用运行持续集成的构建服务器。也就是说,当您签入代码时,构建服务器会注意到签入,获取新代码,然后执行构建(在本例中为 Doxygen 文档)。有many tools available 可以自动化PC 来制作构建服务器。使用哪一个将取决于您使用的操作系统和源代码控制包之类的东西。 (如果您没有/想要专用的构建服务器,您也可以在您自己的 PC 上在后台运行这样的工具)。
如果您只是希望在您签入时在您自己的 PC 上进行构建,那么您可以调查您的源代码控制软件,看看您是否可以收到签入通知。一些 SCC 可能会为某些事件提供执行脚本或命令的能力,因此可以让它为您执行命令。
最后,很多人只是在他们的开发环境中设置了一个工具/宏来执行 Doxygen,然后他们手动运行它。在 Visual Studio(例如)中,您甚至可以编写一个宏,该宏可以通过单个按键执行签入和执行 Doxygen。
【讨论】:
如果您想对 doxygen 进行更多控制,您还必须生成 xml 文件并创建一个程序来分析 xml 输出文件以检查您的所有约束,并在违反约束时停止构建。
这种技术需要一些开发工作,但这是我知道用 doxygen 做你想做的事情的唯一方法。
【讨论】: