Jump to content
The Dark Mod Forums

Putting the Doxygen documentation online


Recommended Posts

I've been fixing up and improving some of the Doxygen information in the codebase, because it really does help to have some nicely-formatted (if incomplete) documentation available to look at, and I was thinking it would be quite cool to have the Doxygen documentation online, linked to from the DarkRadiant website at Sourcforge.

 

This could of course be achieved simply by uploading the generated HTML documentation into the project's webspace, but this would be a manual process and would need to be done very often to keep the documentation up-to-date. What would be very convenient is to have Doxygen run automatically on the server after every commit, so that the online documentation would always be current.

 

The pre-requisites for this would be:

 

1. Doxygen command-line tool available on the SourceForge web server (no idea whether this is the case or not).

2. A server-side script which can detect SVN commits (theoretically possible I guess, but I have no idea how to set it up).

3. The ability to have Doxygen run on the SVN codebase, either directly (not sure if possible) or by copying the source tree down to a local path.

4. A link on the DarkRadiant website to a fixed location in the web space which is used as the destination for Doxygen output.

 

Greebo -- you know more about web development and the SourceForge page than I do, does any of this sound remotely possible or is it just wishful thinking?

Link to comment
Share on other sites

The pre-requisites for this would be:

 

1. Doxygen command-line tool available on the SourceForge web server (no idea whether this is the case or not).

2. A server-side script which can detect SVN commits (theoretically possible I guess, but I have no idea how to set it up).

3. The ability to have Doxygen run on the SVN codebase, either directly (not sure if possible) or by copying the source tree down to a local path.

4. A link on the DarkRadiant website to a fixed location in the web space which is used as the destination for Doxygen output.

 

Greebo -- you know more about web development and the SourceForge page than I do, does any of this sound remotely possible or is it just wishful thinking?

I googled and searched around a bit, but it doesn't look like doxygen is available directly on sourceforge. I could not find any information about cron-jobs or commit-hooks neither, so I guess we're out of luck here.

 

I can generate the info locally and upload the documentation on a weekly basis, if that helps.

 

GtkRadiant had the documentation within the repository, I guess that's not something we want to have?

Link to comment
Share on other sites

I googled and searched around a bit, but it doesn't look like doxygen is available directly on sourceforge. I could not find any information about cron-jobs or commit-hooks neither, so I guess we're out of luck here.

 

Ah well, I suspected this might be the case. I guess the free web server they offer is expected to be fairly limited.

 

I can generate the info locally and upload the documentation on a weekly basis, if that helps.

 

If we just had a link to a location in the webspace and one of us uploaded a ZIP and extracted it into the right location on a regular basis, this would be acceptable. The documentation would not be that up-to-date, but it's better than nothing.

 

GtkRadiant had the documentation within the repository, I guess that's not something we want to have?

 

Currently my dox folder is 47M including many inheritance and collaboration graphs, so this would not be manageable.

Link to comment
Share on other sites

Ah, I think I found it. When logging in via SSH, the welcome message provides a link to some information.

 

We have cronjobs and we have doxygen on the server.

 

How resource-intensive is the doxygen execution? Projects are discouraged to schedule resource-intensive tasks on the servers.

Link to comment
Share on other sites

How resource-intensive is the doxygen execution? Projects are discouraged to schedule resource-intensive tasks on the servers.

 

It will be CPU-intensive while running, but it doesn't run for very long. It only takes a few seconds on my machine since it uses incremental updating of some kind.

 

A good way to do it would be to run it on every commit unless the previous commit was less than an hour ago, in which case it will wait until one hour after the previous commit before running again.

Link to comment
Share on other sites

A good way to do it would be to run it on every commit unless the previous commit was less than an hour ago, in which case it will wait until one hour after the previous commit before running again.

We're not allowed to use custom hook-scripts it seems:

Hook Scripts

 

SVN is capable of running server-side scripts during the various stages of a SVN commit operation. These hook scripts are very powerful, but due to the implementation of hook scripts in SVN, projects are not permitted full control over them. This is quite a large change from how CVS handles pre- and post- commit scripts. Accordingly, SourceForge.net makes available to projects specific scripts which may be of use to hosted projects. The following scripts are available for your use:

 

* svnnotify: Sends email notifications of changes made during a SVN commit. Two versions of this hook script are available, one that includes a diff of the changes, and one that doesn't.

* check-case-insensitive.py: Checks to make sure filenames are valid for a case insensitive environment (Windows, for example)

* check-mime-type.pl: Checks to ensure a mime-type property is set for files added to the repository

* ciabot_svn.py: Reports commit activity to cia.navi.cx.

I guess we need to stick to cronjobs that run every 24 hours or so.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 0 replies
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 3 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
×
×
  • Create New...