Frage

Doxygen ist ein bisschen langsam - es dauert etwa ein paar Minuten meines ganzes Projekt zu bearbeiten, so dass für kleine inkrementelle Änderungen dies länger als eigentlich für den Rest meines Code zu bauen. Es gibt Tausende von Dateien ohne Dokumentation, so denke ich es die meiste Zeit verbringt sie zu verarbeiten. Gibt es eine Möglichkeit, es zu bekommen Dateien zu überspringen ohne Dokumentation?

Was es nur Prozess geänderte Dateien zu bekommen?

War es hilfreich?

Lösung

Von Doxygen Dokumentation:

  

Wie kann ich ausschließen alle Tests Verzeichnisse   von meinem Verzeichnisbaum?

     

Einfach ein ausschließen setzen Muster wie   dies in der Konfigurationsdatei:

     

EXCLUDE_PATTERNS = / test /

Also, sollten Sie Muster verwenden Dateien auszuschließen. Es ist schon eine lange Zeit, da ich Doxygen verwendet habe, aber ich erinnere mich keine Option nur die geänderten Dateien zu verarbeiten.

Andere Tipps

Ich fand, dass die Option SEARCH_INCLUDES Ausschalten einen großen Unterschied gemacht. Es wurde durch die gesamte Plattform SDK suchen und beinhaltet Pfade für den Compiler, die ohnehin nicht dokumentiert wurden und nicht in der erzeugten Dokumentation erscheinen.

Es gibt eine DOT_NUM_THREADS Optionen, die die Leistung auf Multicore-Maschinen erhöhen. Leider doxygen sich nur Single-Threaded ist.

Ein weiterer Ansatz wäre, um Ihren Code zu organisieren in Module für jedes Modul eine separate doxygen Instanz ausgeführt und verknüpfen die resultierenden Tags zusammen: http://www.doxygen.nl/manual/external.html

Doxygen ist gut an den Verbindungen zwischen Dateien zu finden, entweder geändert oder nicht. Aber Doxygen erinnert sich nicht an Informationen über unveränderte Dateien, so muss sie die ganze Code-Basis jedes Mal verarbeiten.

kann eine Lösung sein, wäre das Projekt zu organisieren, so dass nie Dateien geändert zu einem Modul gehören, die von Doxygen Anwendungsbereich ausgeschlossen ist und deren Dokumentation ist bereits verfügbar. Dann wäre es möglich, Doxygen zu sagen, neu gebaute Dokumentation zu dieser vorhandenen Modul-Dokumentation zu verbinden.

Weiter zu gehen, wäre es auch möglich sein, Doxygen Lauf Modul für Modul zu machen, Verarbeitung nur geänderte Module und eine Top-Level-Dokumentation, das für alle Modul Dokumentationen verknüpft.

Ich glaube nicht Doxygen auf einem normalen dev Zyklus laufen ist eine gute Idee. Unsere Doxygen Build läuft als Teil unseres Continuous Integration Servers Verantwortlichkeit.

Das heißt, es gibt einige Vorteile der Ausführung doxygen jeden Build fehlende Dokumente zu fangen. So würde ich die doxygen Config trimmen für dev Diagramme Entfernen baut und sogar Apfel stoppen es in Xcode zu importieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top