gpt4 book ai didi

scala - 标准库的 SBT Scaladoc 配置

转载 作者:行者123 更新时间:2023-12-04 17:10:21 25 4
gpt4 key购买 nike

我想设置 ScalaDoc 以链接到来自 SBT 的标准库。我正在使用 0.12.4,但我很快就会切换到 0.13。此外,我想通过使用 0.13 的支持来简化设置。

最好的选择是自动映射 0.13's autoAPIMappings :

//Requires SBT 0.13. However, automatic mapping does not work for the standard library.
autoAPIMappings := true
scala-library应该支持它,因为 its pominfo.apiURL , 和 that's what SBT reads .

但是,这不起作用。都没有 String也不是 GenTraversable是超链接的。 last显示没有选项添加到 scaladoc论据。

所以:
  • 我该如何修复 autoAPIMappings ?
  • 有其他选择吗?
  • 我没有观察到此功能有效,但也许我只需要另一个设置 info.apiUrl 的包.有没有想到的包?谷歌似乎没有帮助,如何查询具有某些属性的maven包,甚至如何对poms进行全文搜索都不明显。 find ~/.m2 ~/.ivy2 -name '*.pom' -type f|xargs grep info.apiUrl在我的 2G 本地缓存中没有发现任何结果。

  • (这个问题似乎是 SBT Scaladoc Configuration 的重复,但它是针对更新的配置和不同的 SBT 版本,所以问题是不同的;此外,现有答案显示了一个已弃用的解决方案)。

    最佳答案

    我不知道 autoAPIMappings 的解决方案,但这里有一些替代方案。

  • 一个可能的选择,使用 0.13's apiMappings ,可以设置手动映射。在我的系统上,last doc显示这增加了 -doc-external-doc:/Users/pgiarrusso/.sbt/boot/scala-2.10.2/lib/scala-library.jar#http://www.scala-lang.org/api/2.10.2/到命令行,它的工作原理。
    apiMappings += (scalaInstance.value.libraryJar -> url(s"http://www.scala-lang.org/api/${scalaVersion.value}/"))

  • 这需要 Scaladoc 2.10.2 或更高版本。
  • 或者,您可以手动添加相同的选项。这在 SBT 0.12 上是必需的。主要的重要步骤是找到合适的库。

    在 0.13 语法中:
    scalacOptions in (Compile, doc) += s"-doc-external-doc:${scalaInstance.value.libraryJar}#http://www.scala-lang.org/api/${scalaVersion.value}/"

    在 0.12 语法中:
    scalacOptions in (Compile, doc) <+= (scalaVersion, scalaInstance) map { (scalaVer, scalaIn) =>
    "-doc-external-doc:" + scalaIn.libraryJar + "#http://www.scala-lang.org/api/" + scalaVer + "/"}

    此选项仍需要 Scaladoc 2.10.2。
  • 最后,在较旧的 Scaladocs 上可以使用 -external-urls ,即使它不太精确(因此已弃用),如 @MarkHarrah had suggested earlier .

    在 0.13 语法中:
    scalacOptions in (Compile, doc) += s"-external-urls:scala=http://www.scala-lang.org/api/${scalaVersion.value}/"

    在 0.12 语法中:
    scalacOptions in (Compile, doc) <+= scalaVersion map (scalaVer => "-external-urls:scala=http://www.scala-lang.org/api/" + scalaVer + "/")

  • 最后,请注意在所有情况下都会出现 String不要成为超链接,可能是因为一些带有类型别名的错误。但是,其他类型(包括 GenTraversable )是超链接的。

    关于scala - 标准库的 SBT Scaladoc 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747265/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com