I've had success with your own drupaldocs site - which should also be titled "How to publish documentation for your own module" too. ... And made a requirement for publishing a module ;)

But I'm also trying to use doxygen - the real binary application (WinXP)

I've got it reading my *.module files, but it's parsing them wrong.

I can tell it's getting the language wrong, because if I rename file.module as file.module.inc it recognises the syntax correctly and produces a good result.
But trying to run on file.module (all other things remaining the same) The first few function declarations (and code) get read as variable names which is horribly squashed up. I've looked really closely at the code, but I can't see what keywords or constructs may be getting picked up to cause this behaviour, but my best guess it that it thinks it's a C++ source or something, so makes some parsing errors.

Has anyone worked around this problem before? It's got 156 options, but none for this that I can find.
I realise the custom-made api.module parser is good, but it's totally different code from doxygen proper, isn't it? It just happens to follow the same rules. I'd like full, commandline doxygen to work.

TIA.
.dan.

Comments

veelo’s picture

You are correct, Doxygen looks at the extension to determine the language, and an unrecognised extension is parsed as C/C++. The details are in http://www.stack.nl/~dimitri/doxygen/starting.html. What I do is "ln -s mymodule.module mymodule.inc" and live with the wrong extension in the documentation.

Bastiaan Veelo

dman’s picture

Thanks so much for your reply.
At least I know I wasn't going crazy.

Too bad it's not a solution ...
With my dev environment under CVS and all, symlinks would probably get in the way, (if that were even an option (Windows at the mo) .. Although I may be able to pull it on an alternate installation ...

Nah, I really just wanted the real doxygen so I could tune & test, tune & test my docs easily - make em look nice.

Ah well. So much for my attempts at being a well-behaved coder :-/

Thanks, Bastiaan.
.dan.

cpliakas’s picture

I know this thread is old, but I stumbled upon it so maybe it will help someone. You must use a 1.5 version of Doxygen so that you can set the EXTENSION_MAPPING directive in the the configuration file. This way you can map the *.install and *.module files to PHP. Credit goes to the author of the Solving Doxygen Troubles With Drupal blog post. Specifically, you have to set the following directives:

FILE_PATTERNS = *.php *.module *.install *.inc
EXTENSION_MAPPING = module=PHP install=PHP inc=PHP