2013-04-16 4 views
8

Ich erstelle die ScalaDoc HTML-Dateien für einige SBT-Projekte (in einem Multi-Project configuration). Wenn ich doc in der SBT-Konsole ausführen, wird die Dokumentation ordnungsgemäß erstellt, aber es wird in einem eigenständigen Verzeichnis für jedes Projekt bereitgestellt. Da alle Projekte (in Bezug auf Paketnamen) miteinander verwandt sind, möchte ich ein einzigartiges ScalaDoc-Verzeichnis als Ausgabe erzeugen. Es ist erwähnenswert, dass ich wegen des doppelten Kompilierungsprozesses, der von einigen involvierten Makros benötigt wird, nicht alle Quellen zusammensetzen kann. Gibt es einen Workaround dafür?Wie kann man Dokumentation aus SBT-Multiprojekten zusammenführen?

+1

Hallo Jesús! Haben Sie sich https://github.com/sbt/sbt-unidoc angesehen, ein "sbt-Plugin, um scaladoc/javadoc über mehrere Projekte zu vereinheitlichen"? Disclaimer: Ich habe es nie ausprobiert, und ich denke, es vereinfacht einfach das Ausführen von Scaladoc auf allen Quellen gleichzeitig; Sie dokumentieren, dass es mit "-Ymacro-no-expand" kompatibel ist. – Blaisorblade

+0

Ich füge es meinem Backlog hinzu, weil es für unseren Fall sehr interessant erscheint. Vielen Dank! – jeslg

Antwort

3

Leider funktioniert scaladoc nicht mit separater Kompilierung, da die generierte Dokumentation nicht zusammengeführt werden kann. Die Dokumente müssen für alle Quellen gleichzeitig erstellt werden. Die Lösung für das Makroproblem ist die Verwendung von -Ymacro-no-expand, um während der scaladoc-Generierung keine Makros zu erweitern. Siehe auch https://issues.scala-lang.org/browse/SI-6812

+0

Ich habe dieses Scala-Problem nicht gefunden! Danke, Mark. – jeslg