1
由於需要使用Eclipse和sbt,因此我有一些非標準的構建設置。如何爲scaladoc指定其他源代碼目錄?
我的源代碼位於src/main/scala
和src/com/companyname/[folder1, folder2, etc]
目錄中。
如何設置sbt,以便在src/com/companyname
下爲這些額外的folderX
文件夾生成文檔?
由於需要使用Eclipse和sbt,因此我有一些非標準的構建設置。如何爲scaladoc指定其他源代碼目錄?
我的源代碼位於src/main/scala
和src/com/companyname/[folder1, folder2, etc]
目錄中。
如何設置sbt,以便在src/com/companyname
下爲這些額外的folderX
文件夾生成文檔?
TL;博士使用在build.sbt
如下:
unmanagedSourceDirectories in Compile += sourceDirectory.value
inspect
是你的朋友。
> inspect doc
[info] Task: java.io.File
[info] Description:
[info] Generates API documentation.
[info] Provided by:
[info] {file:/Users/jacek/sandbox/scaladoc/}scaladoc/compile:doc
[info] Defined at:
[info] (sbt.Defaults) Defaults.scala:706
[info] Dependencies:
[info] compile:doc::configuration
[info] compile:doc::sources
[info] compile:doc::apiMappings
[info] compile:doc::target
[info] compile:doc::fileInputOptions
[info] compile:doc::streams
[info] compile:doc::compilers
[info] compile:doc::scalacOptions
[info] compile:doc::dependencyClasspath
[info] compile:doc::maxErrors
[info] compile:doc::javacOptions
[info] Reverse dependencies:
[info] *:copyDocAssetsTask
[info] Delegates:
[info] compile:doc
[info] *:doc
[info] {.}/compile:doc
[info] {.}/*:doc
[info] */compile:doc
[info] */*:doc
[info] Related:
[info] test:doc
在Dependencies
你會發現,doc
任務除其他事項外取決於compile:doc::sources
。再次使用inspect
進行設置。
> inspect compile:doc::sources
[info] Task: scala.collection.Seq[java.io.File]
[info] Description:
[info] All sources, both managed and unmanaged.
[info] Provided by:
[info] {file:/Users/jacek/sandbox/scaladoc/}scaladoc/compile:sources
[info] Defined at:
[info] (sbt.Defaults) Defaults.scala:187
[info] Reverse dependencies:
[info] compile:doc
[info] Delegates:
[info] compile:doc::sources
[info] compile:sources
[info] *:doc::sources
[info] *:sources
[info] {.}/compile:doc::sources
[info] {.}/compile:sources
[info] {.}/*:doc::sources
[info] {.}/*:sources
[info] */compile:doc::sources
[info] */compile:sources
[info] */*:doc::sources
[info] */*:sources
[info] Related:
[info] compile:sources
[info] test:sources
在Dependencies
你會發現它取決於compile:sources
和沿之後你會發現,你應該改變unmanagedSourceDirectories
設置有你想要的東西。