Bug 373868 - Doxygen build issues for C client docs
Summary: Doxygen build issues for C client docs
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Paho (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Ian Craggs CLA
QA Contact:
URL:
Whiteboard:
Keywords: Documentation
Depends on:
Blocks:
 
Reported: 2012-03-10 11:42 EST by Andy Piper CLA
Modified: 2016-02-05 11:16 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Piper CLA 2012-03-10 11:42:00 EST
Attempting to build the docs for the C client using doxygen on 64-bit Ubuntu 11.10.

doxygen DoxyfileV3ClientAPI completes successfully.

doxygen DoxyfileV3ClientInternal fails as below - looks like both obsolete configuration information and some specific platform / environment build information is in the file.

notroot@ubuntu:~/Development/mqtt/org.eclipse.paho.mqtt.c/doc$ doxygen DoxyfileV3ClientInternal 
warning: Tag `DETAILS_AT_TOP' at line 34 of file DoxyfileV3ClientInternal has become obsolete.
To avoid this warning please update your configuration file using "doxygen -u"
warning: tag INPUT: input source `/home/icraggs/workspaces/6.2.1/Small Client/' does not exist
error: tag OUTPUT_DIRECTORY: Output directory `/home/icraggs/workspaces/6.2.1/Small Client/' does not exist and cannot be created
Exiting...
Comment 1 Andy Piper CLA 2012-03-10 11:46:25 EST
A trivial fix to the error would be to use

OUTPUT_DIRECTORY       = "docs/"

in DoxyfileV3ClientInternal (same as in DoxyfileV3ClientAPI). 

To address the warning simply remove DETAILS_AT_TOP from DoxyfileV3ClientInternal (it does not appear in DoxyfileV3ClientAPI).
Comment 2 Andy Piper CLA 2012-03-11 08:37:33 EDT
Actually - having looked at this more - at the moment that file doesn't appear to generate usable docs even after making those changes. What is the purpose of it?
Comment 3 Ian Craggs CLA 2012-06-28 11:46:07 EDT
I've updated this file to remove the warning mentioned although there are plenty of others about undocumented entities which I haven't fixed yet.  (Another bug could be raised for that).

You should be able to get usable documentation by navigating to the src directory and running the command:

doxygen ../doc/DoxyfileV3ClientInternal

The documentation should be in the html directory: index.html.  It worked for me.  Let me know how you get on Andy.  Thanks,
Comment 4 Andy Piper CLA 2013-02-25 10:33:15 EST
I noticed that the source code sections are not formatted correctly in the docs at http://www.eclipse.org/paho/files/mqttdoc/Cclient/index.html

Reopening this after having tested with the latest doxygen config files. 

Current issues:

- deprecated configuration tags reported by doxygen. Running doxygen -u <configfile> fixes this
- there are still references to '/home/icraggs/workspaces/6.2.1/Small Client/' in  DoxyfileV3ClientInternal

generating the docs for Async I get warnings:
Generating docs for file MQTTAsync.h...
/Users/andyp/Development/git/org.eclipse.paho.mqtt.c/src/MQTTAsync.h:403: warning: explicit link request to 'MQTTClient' could not be resolved
/Users/andyp/Development/git/org.eclipse.paho.mqtt.c/src/MQTTAsync.h:433: warning: explicit link request to 'MQTTASYNC_PERSISTENCE_NONE' could not be resolved
/Users/andyp/Development/git/org.eclipse.paho.mqtt.c/src/MQTTAsync.h:434: warning: explicit link request to 'MQTTASYNC_PERSISTENCE_DEFAULT' could not be resolved
/Users/andyp/Development/git/org.eclipse.paho.mqtt.c/src/MQTTAsync.h:437: warning: explicit link request to 'MQTTASYNC_PERSISTENCE_USER' could not be resolved

There's no makefile rule for docs, and there's no 

Presently I can generate the docs for MQTTClient and MQTTAsyncClient with the source code sections and examples formatted correctly (running doxygen 1.8.3.1 on OS X), but the ClientInternal file does not work at all as there is no valid INPUT rule.

It may be an idea to include a Paho logo via the LOGO tag and also to enable the basic Javascript-based search via SEARCHENGINE=YES too.

Side note, we should document in a README.md for the C client that doxygen and graphviz are both required for building the docs.
Comment 5 Ian Craggs CLA 2013-02-27 18:50:02 EST
Think I've fixed all except:

There's no makefile rule for docs,

It may be an idea to include a Paho logo via the LOGO tag and also to enable the basic Javascript-based search via SEARCHENGINE=YES too.

Side note, we should document in a README.md for the C client that doxygen and graphviz are both required for building the docs.


I have updated the online docs so that the sample code is formatted properly. For example http://www.eclipse.org/paho/files/mqttdoc/Cclient/pubsync.html
Comment 6 Andy Piper CLA 2013-04-15 06:37:55 EDT
Added README.md note on doxygen and graphviz dependencies
Comment 7 Ian Craggs CLA 2013-04-18 17:25:10 EDT
Added:

"It may be an idea to include a Paho logo via the LOGO tag and also to enable the basic Javascript-based search via SEARCHENGINE=YES too"

Make rule for docs covered in 420345.  So I think this bug is fixed.