加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

标准库的SBT Scaladoc配置

发布时间:2020-12-16 18:42:52 所属栏目:安全 来源:网络整理
导读:我想将 ScalaDoc设置为从SBT链接到标准库.我正在使用0.12.4,但我很快就会切换到0.13.此外,我想通过使用0.13的支持使设置变得简单. 最好的选择是使用0.13’s autoAPIMappings 自动映射: //Requires SBT 0.13. However,automatic mapping does not work for t
我想将 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 pom设置了info.apiURL和that’s what SBT reads.

但是,这不起作用. String和GenTraversable都没有超链接. last显示scaladoc参数没有添加任何选项.

所以:

>我该如何修复autoAPIMappings?
>有替代品吗?
>我没有观察到这个功能有效,但也许我只需要另一个设置info.apiUrl的包.想到任何包裹?谷歌似乎没有帮助,如何查询具有某些属性的maven包,甚至如何在poms上进行全文搜索并不明显.找到?/ .m2~ / .ivy2 -name’* .pom’-type f | xargs grep info.apiUrl在我的2G本地缓存中找不到任何结果.

(这个问题可能看起来是SBT Scaladoc Configuration的重复,但是它用于更新配置和不同的SBT版本,所以问题是不同的;此外,现有的答案显示了一个弃??用的解决方案).

解决方法

我知道autoAPIMappings没有解决方案,但这里有一些替代方案.

>一种可能的替代方案,使用0.13’s apiMappings,可以设置手动映射.在我的系统上,上一篇文档显示这添加了-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)是超链接的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读