Opened 7 years ago

Closed 5 months ago

Accessing the doxygen files in a subversion repository

Reported by: Owned by: anonymous cboos normal DoxygenPlugin normal doxygen subversion rjollos 0.11

Description

As documentation should be part of a project, we commit our doxygen HTML documentation to the subversion repository too. What we do now is to checkout this files on the server in an extra directory to let the doxygen plugin have access to them. The subversion directory could be mounted as WebDAV filesystem, but this means much administration efford too. This means a couple of management and administration, so it would be desirable and highly convenient to access the files directly in the subversion repository. So instead of /var/lib/path/to/doxygen/doc something like svn:trunk/doc/html could then be configured.

Unfortunately I don't know python (I looked at the sources and understood nothing), so I ask you to realize this enhancement.

Thank you in advance!

comment:1 Changed 7 years ago by anonymous

• Cc ryano@… added; anonymous removed

comment:2 Changed 7 years ago by anonymous

• Type changed from defect to enhancement

comment:3 Changed 7 years ago by anonymous

I don't think this is necessary. Manually maintaining the documentation like this is not ideal and takes a lot of time. Try this method instead:

1. On the machine hosting Subversion/Trac, checkout the repository that you are interested in documenting into a local working directory.
2. Create a post-commit script that updates the above working directory and generates the Doxygen documentation (in the background, if possible).

Because the documentation will be generated when the commit is successful, you can be sure that you are always serving the latest/greatest documentation.

comment:4 Changed 7 years ago by anonymous

• Cc rjollos added; ryano@… removed

comment:5 Changed 7 years ago by lucasrangit

Instead of a post-commit hook I use Bitten and the following build recipe to generate the latest doxygen documentation and then rsync's them to the SVN host at a location the DoxygenPlugin for Trac is configured to look.

<build xmlns:svn="http://bitten.cmlenz.net/tools/svn"
xmlns:sh="http://bitten.cmlenz.net/tools/sh">
<step id="checkout" description="Checkout source from repository">
<svn:checkout url="https://svn/project/"
path="${path}" revision="${revision}" />
</step>
<step id="build" description="Compile">
<sh:exec executable="doxygen" args=".doxyfile" />
</step>
<step id="rsync" description="Update Trac Doxygen">
<sh:exec executable="rsync" args="-rvz --delete /var/local/doxygen/project/ svn@svn:/var/local/doxygen/project" />
</step>
</build>


comment:6 Changed 5 months ago by Committo-Ergo-Sum

• Resolution set to fixed
• Status changed from new to closed

In 15337:

DoxygenPlugin, now version 0.4, proposes a new item in the Panel Admin, giving acces to a Web form.
This form is automatically built from the Doxyfile given by the doxygen command running on the Trac serveur if any.
The form is filled with the default values in the standard Doxyfile; the user may change them, afterwards he submits the form, the values are saved in a new Doxygen file and the Doxygen command is executed with this file as argument.
On return, the same Web form is shown, with the changes made before, but a message is first shown saying if the Doxygen command ran correctly or not.
A click on the triangle in front of the message will show the wole trace of the command, or the error message if any.

The new Doxygen file is kept on the server, so this Web page, once filled with the proper values, can be seen as a way to execute the Doxygen command on the Trac server.

This way of combining Trac and Doxygen on a unique server is different from the demand in the ticket system, but we may consider it closes #4740.