2016-10-03 55 views
3

我試圖使用@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

回答

1

此前斯卡拉2.11,你必須在你的build.sbt明確要求Scaladoc分組支持:

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

你可以範圍它in (Compile, doc),但我不知道它的問題了。

像大多數與Scaladoc相關的事情,這本質上是無證的,但它的工作原理。

+0

不錯,非常感謝。我有點害怕答案是RTFM,所以我倍加滿意。有沒有簡單的方法來發現無證的功能?谷歌在這一個失敗了我... – Wilmerton

1

至少對於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" 

然後你的例子,你有它應該工作。