1

由于需要同时使用 Eclipse 和 sbt,我有一些非标准的 sbt 构建设置。

我的来源在src/main/scalasrc/com/companyname/[folder1, folder2, etc]目录中。

如何设置 sbt 以便它还为这些附加folderX文件夹生成文档src/com/companyname

4

1 回答 1

1

tl;dr在中使用以下内容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设置以获得您想要的。

于 2014-07-23T21:36:29.347 回答