After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 676891 - Support for annotation @api
Support for annotation @api
Status: RESOLVED NOTABUG
Product: doxygen
Classification: Other
Component: documentation
1.8.1
Other All
: Normal enhancement
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2012-05-26 17:39 UTC by Fabien Udriot
Modified: 2012-09-30 00:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Fabien Udriot 2012-05-26 17:39:58 UTC
Hi,

We have been using Doxygen successfully so far for the TYPO3 project. Thank you for this excellent piece of software! http://api.typo3.org/

Though, I am requesting the support of annotation "@api" that we have in our project / source code. This annotation is used for marking methods that are exposed to the developers and meant to stay in the long term. In the contrary method without this annotation could change in the future without further notice that makes it easy for us to refactor code. Notice, we are not an isolate case in the PHP world making use of this annotation. The Symphony project is also using it. 

Example of code

/**
 * Bla, bla
 * 
 * @api
 */
public function sayHello() {
   print 'hello';
}

Could we have the support of this annotation in Doxyge?

I would see two possible configuration for this feature. One would be for totally hide all methods expect the ones with @api. The other setting (preferred one) would be to mark them in a special way, so that they are easily identifiable in the documentation.

Does it look feasible?
Comment 1 Dimitri van Heesch 2012-05-27 13:57:23 UTC
If you use doxygen's ALIASES feature you can already define @api yourself.

Here are two possible definitions:

ALIASES = "api=\par API function\nPart of the official API.\n\n"
ALIASES = "api=\xrefitem api \"API\" \"API\" Part of the official API\n\n"    

The first will produce a section (like @warning), the second will collect all API functions in a list and cross reference them (like @todo).

Let me know if you have additional requirements for this command not covered by the aliases.
Comment 2 Tobias Mueller 2012-09-30 00:13:07 UTC
Seems to be NOTABUG to me. Please reopen if this is not the case.