最好的选择是使用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版本,所以问题是不同的;此外,现有的答案显示了一个弃用的解决方案).
解决方法
>一种可能的替代方案,使用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)是超链接的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。