API for Doxygen Execution [closed]
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this questionI wanted to automate the execution of Doxygen whenever开发者_运维百科 I insert my source code to my code repository. Is there any api/interface for doxygen that I can use in my java code to start its execution?
Doxygen itself is started by executing a command-line command, so you only need a way of executing a command when a check in occurs. You don't say anything about the SCC tool, Dev Environment or OS you are working with, so it's hard to give a specific answer.
The usual way to do this would be using a build server running Continuous Integration. That is, when you check in code, the build server will notice the check in, get the new code, and then execute a build (in this case of Doxygen documentation). There are many tools available that will automate a PC to make a build server. Which one to use would depend on things like the OS and Source Control package you're using. (If you don't have/want a dedicated build server you could also run a tool like this on your own PC in the background).
If you just want the build to occur on your own PC when you check in, then you could investigate your source control software to see if you can be notified of the check-in. Some SCCs may offer an ability to execute a script or command for certain events, so it may be possible to get it to execute the command for you.
Lastly, many people just set up a tool/macro within their development environment that executes Doxygen, and then they run it manually. In visual Studio (for example) you could even write a macro that would do both the Check in and execute Doxygen from a single keypress.
If you want more control with doxygen, you have to generate also xml files and create a program that analyze the xml output files to check all your constraints, and stop the build if a constaint is violated.
this technique needs some developement effort but it's the only way that i know to do what you want with doxygen.
精彩评论