2013-04-16 20 views
8

我正在为某些SBT项目生成ScalaDoc HTML文件(在Multi-Project configuration中)。如果我在SBT控制台中执行doc,文档生成的很好,但它被部署在每个项目的独立目录中。由于所有的项目都是相互关联的(包名称),我想生成一个独特的ScalaDoc目录作为输出。值得一提的是,由于涉及一些宏所需的双重编译过程,我无法将所有资源放在一起。有没有解决方法可以做到这一点?如何合并SBT多项目的文档?

+1

嗨耶稣!你看过https://github.com/sbt/sbt-unidoc,“sbt插件跨多个项目统一scaladoc/javadoc”吗?免责声明:我从来没有尝试过,我认为它只是简化了一次运行所有来源的scaladoc;他们证明它与'-Ymacro-no-expand'兼容。 – Blaisorblade

+0

我将它添加到我的积压中,因为它对我们的情况看起来非常有趣。谢谢! – jeslg

回答

3

不幸的是,scaladoc不具有独立编制工作,因为它不能合并生成的文档。必须立即为所有来源生成文档。宏问题的解决方案是使用-Ymacro-no-expand在scaladoc生成期间不扩展宏。另请参见https://issues.scala-lang.org/browse/SI-6812

+0

我没有发现Scala问题!谢谢马克。 – jeslg