Ich habe ein R
Paket, das verwendet roxygen2
. Es enthält C
Code /src
und ich habe gerade angefangen, mit Doxygen zu arbeiten. Gibt es Möglichkeiten, die Dokumentation zu kombinieren oder das Kompilieren mit roxygen2 zu integrieren? Gibt es "Best Practices" für das Ablegen der C
Codedokumentation?
Das Googeln nach Roxygen2 und Doxygen führt hauptsächlich zu Roxygen und ähnelt den Ergebnissen von Doxygen . Ich habe einige Pakete mit Doxyfiles gefunden, aber keine konsistente Organisation. Zum Beispiel hat lme4 inst/doc/Doxyfile
in einen Ordner ausgegeben, der doxygen
außerhalb des lme4
Quellverzeichnisses aufgerufen wird . Es gibt auch eine Doxy-Datei im Stammverzeichnis der Matrix (aber in früheren Versionen war in inst
. Diese Dokumentation wird auch außerhalb des Paketverzeichnisses exportiert.
Gibt es einen Grund, die C
Dokumentation nicht in ein Paket aufzunehmen, oder warum wird Doxygen in R-Paketen trotz der weit verbreiteten Verwendung von so selten verwendet C
?
Update: Siehe entsprechende Roxygen2-Funktionsanforderung
Antworten:
Ich persönlich verwende den folgenden Code in einem "dataManagement" -Paket, das ich in allen meinen Skripten aufrufe. Es enthält Sauerstoffdokumentation und Beispiele. Sie rufen tatsächlich einfach document () auf und haben doxygen auf dem C-Code in src / ausgeführt. Das Dokument wird in inst / doxygen abgelegt, damit Ihr Paket CRAN-fähig ist.
Die R-Dokumentation wurde für R- Endbenutzer entwickelt, die sich nicht mit dem C-Code befassen sollten. Ich habe die C-Code-Dokumentation nicht in die klassische R-Dokumentation integriert, aber es wäre wahrscheinlich eine gute Praxis, die resultierende C-Dokumentation als "Vignette" zu kopieren. .
quelle
devtools::document
, um einen Systemaufruf hinzuzufügendoxygen path/to/Doxyfile
. Ich habe dies zu meinem Paket hinzugefügt. Ich habe auch eine Feature-Anfrage im roxygen2 Github-Repository @hadley