Scaladoc:@group标记在API文档中未显示

问题描述:

我试图使用@groupname和@group标记组织我的库API文档中的类的成员,但它不起作用(我正在使用sbt 0.13 0.11)Scaladoc:@group标记在API文档中未显示

我的玩具build.sbt

name := "test" 
scalaVersion := "2.10.5" 

我的玩具代码src/main/scala/test.scala

package test 
/** Test class 
* 
* @groupname print Printer 
* @groupname throw Thrower 
*/ 
class TestClass { 
    /** @group print */ 
    def trivialPrint: Unit = print("Hello") 
    /** @group throw */ 
    def trivialError: Unit = throw new Exception("Hello") 
} 

sbt doc编译的API文档,其中我的两个功能在班级的“价值成员”小组中(参见截图)。我究竟做错了什么?

enter image description here

此前斯卡拉2.11,你必须在你的build.sbt明确要求Scaladoc分组支持:

name := "test" 
scalaVersion := "2.10.5" 
scalacOptions += "-groups" 

你可以范围它in (Compile, doc),但我不知道它的问题了。

像大多数与Scaladoc相关的事情,这本质上是无证的,但它的工作原理。

+0

不错,非常感谢。我有点害怕答案是RTFM,所以我倍加满意。有没有简单的方法来发现无证的功能?谷歌在这一个失败了我... – Wilmerton

至少对于Scala 2.11.x来说,我们似乎仍然需要特别要求它。考虑你的build.sbt如下:

/* Normal scalac options */ 
    scalacOptions := Seq(
    "-deprecation", 
    "-Ypartial-unification", 
    "-Ywarn-value-discard", 
    "-Ywarn-unused-import", 
    "-Ywarn-dead-code", 
    "-Ywarn-numeric-widen" 
) 

    /* Only invoked when you do `doc` in SBT */ 
    scalacOptions in (Compile, doc) += "-groups" 

然后你的例子,你有它应该工作。