2017-06-27 3 views
1

J'utilise svn keywords ($ Author $, ...) dans mon projet. J'utilise aussi des commentaires doxygen pour améliorer ma documentation. La combinaison des deux cause des problèmes pour moi.
Exemple simplifié:SVN mot-clé est montré dans doxygen

/** 
* @author  $Author$ 
*/ 

@author est le mot-clé doxygen et auteur $ est le mot-clé svn. Ma sortie doxygen-html ressemble à ceci:
enter image description here

Comment est-ce que je peux faire ceci correctement? Je ne veux pas voir les mots-clés svn dans ma documentation doxygen.

Répondre

1

Ce que je l'ai fait dans le passé est que j'ai un fichier modèle versionné doxygen (doxy.in) qui contiennent ceci:

/** 
* @author  $Author$ 
*/ 

Quand je vais construire ma documentation (make doc), d'abord mon script appelle SubWCRev pour remplacer toutes les instances de ces mots-clés par des mots-clés SVN. Je l'utilise pour produire un fichier doxygen non versionné doxy.out que je passe ensuite dans doxygen pour produire ma documentation.

+1

J'ai remarqué que vous n'avez pas encore sélectionné de réponse. Si ça aide, j'ai récemment écrit une bonne réponse à une question similaire en utilisant Cmake [** ici **] (https://stackoverflow.com/questions/33209705/how-to-version-control-out-of-source -build-directory-using-cmake-et-svn/45198417 # 45198417). La fonction référencée utilise la sortie de 'svn info' pour intégrer des informations dans le code source. – Stewart

1

Les mots-clés SVN se développent toujours d'une manière qui indique clairement que la chaîne particulière est un mot-clé étendu et non une ligne "régulière". En d'autres termes, les mots clés développés incluent toujours les signes dollar et le nom du mot clé. L'une des raisons en est d'éviter la confusion entre le contenu généré par un mot clé automatisé et le contenu non généré. Cependant, vous devriez pouvoir configurer Doxygen pour reformater la ligne qui contient le mot-clé développé. Par exemple, configurez-le pour rechercher $Author: CONTENT $ dans une ligne et reformatez-le comme vous le souhaitez dans la sortie HTML.