【问题标题】:SBT Scaladoc ConfigurationSBT Scaladoc 配置
【发布时间】:2012-11-28 05:58:06
【问题描述】:

我正在尝试在 SBT 中配置 Scaladoc,特别是标题、输出目录和类路径。

我设法通过将以下内容添加到 build.sbt 来定义标题:

scalacOptions in (Compile, doc) ++= Opts.doc.title("Scala-Tools")

我不知道如何更改文档输出目录。

我也不知道如何将 jars 添加到类路径中。我想编辑类路径的原因是因为当我引用它的类时,标准 Scala 库似乎没有被 scaladoc 拾取,即 [[scala.Option]] 导致警告“找不到任何要链接的成员对于“scala.Option”。”

任何帮助,即使是 SBT 配置示例,我们都将不胜感激!

我正在使用 Scala 2.10-RC3 和 SBT 0.12.1。

【问题讨论】:

    标签: scala classpath sbt scaladoc output-directory


    【解决方案1】:

    Scala 库位于类路径中,否则 scaladoc 会很快因错误而退出。您看到的警告意味着 scaladoc 不知道如何链接到 Option。为此,您需要使用 2.10.1 中的 -external-urls 选项或 -doc-external-doc 选项。即将到来的 2.10.1 的 scaladoc -help 的输出显示:

    -doc-external-doc:<external-doc>  comma-separated list of classpath_entry_path#doc_URL pairs describing external dependencies.
    -external-urls:<externalUrl(s)>   (deprecated) comma-separated list of package_names=doc_URL for external dependencies, where package names are ':'-separated
    

    在 2.10.1 发布之前的解决方案是使用-external-uris

    -external-urls:scala=http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/library/
    

    【讨论】:

    • 谢谢马克!然而,使用这个解决方案,我得到一个错误:[error] source file 'http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/library/' could not be found
    • 另外,查看scaladoc -help,我似乎找不到任何关于输出目录的信息(我的问题的另一部分)。
    • 你应该展示你是如何通过的。我在发布之前从命令行尝试过它并且它有效。该错误消息似乎暗示它被解释为源文件。至于更改输出目录,它是命令行上的-d 选项,但sbt 使用docDirectory in Compile(或in Test)设置为您处理它。但是,为什么要更改输出目录?
    • @MarkHarrah,您的答案有效,但不方便; 0.13 有更好的功能,但autoAPIMappings 似乎不起作用。你能看看stackoverflow.com/q/18747265/53974吗?
    • 一个单独的问题:scala-sbt.org/release/docs/Howto/scaladoc.html#manual-api-links 建议这些选项需要 2.10.2,而不是 .1,这似乎与您的答案相矛盾。文档应该修复吗?
    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 2023-03-10
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多