Forum: PC-Programmierung DOXYGEN 'changelog' für gesamtes Projekt


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christian R. (crothe)


Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

ich kann ein Problem bei der Dokumentation meines Codes nicht lösen. 
Vielleicht hat jemand von Euch einen Rat.

Ich habe ein umfangreiches Projekt in c#, in dem viele einzelne code 
dateien für sich jeweils eigene Versionsnummern benötigen. Diese liegen 
jeweils in eigenen verzeichnissen incl. einer dazugehörigen Doxyfile 
Datei, die dieses code Modul einzeln mit DOXYGEN dokumentieren lässt 
(HTML).
Wichtig, um die Änderungen zu überblicken, ist hier der Bereich 
'Changelog'.
Im Header der sourcefiles sieht das z.B. so aus:
1
* \section chlog Changelog
2
* @version 0v00  -  .01.2016
3
* - first release 
4
* @version 0v03  -  27.07.2016
5
* - reading only frequencies of channel 1 was based on enabled debug settings  -  removed
6
* @version 0v05  -  21.09.2016
7
* - rate units changed from A to A/s
8
* @version 0v06  -  08.11.2016
9
* - activate QCM checkboxes moved from configuration tab to operation tab
10
* @version 0v07  -  12.12.2016
11
* - Deactivated channels now can be activated again

Das Ergebnis pro Datei ist gut und übersichtlich. Doxygen habe ich so 
weit konfiguriert, dass nur eine HTML Seite alle Informationen enthält 
die ich brauche.


Da das gesamte Projekt aber über 30 solcher Unterordner enthält wäre es 
nun nötig, eine Gesamtliste aller dieser Changelogs in eine HTML 
Dokumentation zu bringen. Einen geeigneten Syntax habe ich bislang nicht 
gefunden. Getestet habe ich folgendes:
1
* @page ChangeLog
2
* \section chlog Changelog
3
* @version 0v00  -  .01.2016
4
* - first release 
5
* @version 0v03  -  27.07.2016
6
* - reading only frequencies of channel 1 was based on enabled debug settings  -  removed
7
* @version 0v05  -  21.09.2016
8
* - rate units changed from A to A/s
9
* @version 0v06  -  08.11.2016
10
* - activate QCM checkboxes moved from configuration tab to operation tab
11
* @version 0v07  -  12.12.2016
12
* - Deactivated channels now can be activated again

Durch die Anweisung '@page Changelog' bekomme ich im "Related Pages" 
Menü der HTML Ausgabe von Doxygen zwar einen Link auf 'ChangeLog', 
welcher auch die entsprechenden changelogs der einzelnen Dateien 
enthält, jedoch ist dort
 1. keine Zuordnung mehr möglich velcher Eintrag zu welcher Datei gehört
 2. Die Einzeldokumentation enthält ihre eigenen changelogs nicht mehr


Zur eigentlichen Frage:
Wie erzeugt man eine Programmweite und nach sourcefile und release 
separierte Liste mit Doxygen?

Grüße
Christian

von StinkyWinky (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich glaube nicht, dass das geht.

Aber du könntest mit @copydetails arbeiten.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Bewertung
0 lesenswert
nicht lesenswert
Christian R. schrieb:

> Zur eigentlichen Frage:
> Wie erzeugt man eine Programmweite und nach sourcefile und release
> separierte Liste mit Doxygen?

Kannst Du Dir ggf. die Informationen aus Deiner Version-Verwaltung holen 
und dann daraus etwas generieren, das Doxygen wiederum versteht?

von Christian R. (crothe)


Bewertung
0 lesenswert
nicht lesenswert
Im Grunde ist das doch Tex oder LaTex und das was ich brauche entspricht 
doch eigentlich dem Erstellen eines Verzeichnisses, oder sehe ich das 
falsch?

Es gibt halt kein Hauptdokument mit includes. Die Verwaltungsaufgaben 
müssten halt irgendwie von Doxygen ausgeführt werden. Hier kann ich ja 
unter "Expert->Input" die betroffenen Files z.B. anmelden.

von Der kein Bock mehr A. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Umpf, ich erinnere mich an ein Projekt was zeimlich lange her ist .. ich 
glaub ein Teil davon war, eben solche Metainformation zuerst selbst per 
bash/perl zu parsen und diese dann als Teil der doxy.conf zu inkludieren 
...

Hab das Projekt sogar noch gefunden, hehe...

Also, ich hatte damals die doxy.conf erst zur Laufzeit zusammengebaut 
und dann an den Doxygen-Aufruf übergeben.

In dem Projekt ging es darum, um für eine Software verschiedene Branches 
nightly aus dem SVN auszuchecken und deren Doku tagesaktuell zu 
präsentieren.

LG

von Christian R. (crothe)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

das klingt interessant mit dem täglich-automatischen Update, wie auch 
immer Du das im Detail gemacht hast...

Für mein Problem vielleicht nicht ganz die richtige Lösung? Ich würde 
gerne alle vorhandenen source files auf die Änderungen prüfen und dann 
als report oder HTML Seite (am liebsten incrementell) ausgeben. Ein 
Programm könnte man dafür natürlich auch schreiben, jedoch hoffte ich 
mit den Werkzeugen von Doxygen bereits zur Lösung zu kommen :-(

Grüße
Christian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.