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


von Christian R. (crothe)


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)


Lesenswert?

Ich glaube nicht, dass das geht.

Aber du könntest mit @copydetails arbeiten.

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


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)


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)


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)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.