Bla*_*ade 5 scala sbt scaladoc
我想将ScalaDoc设置为从SBT链接到标准库.我正在使用0.12.4,但我很快就会切换到0.13.此外,我想通过使用0.13的支持使设置变得简单.
最好的选择是自动映射0.13autoAPIMappings
:
//Requires SBT 0.13. However, automatic mapping does not work for the standard library.
autoAPIMappings := true
Run Code Online (Sandbox Code Playgroud)
本scala-library
应该支持它,因为它的POM套info.apiURL
,并且这就是SBT读取.
但是,这不起作用.既没有String
也没有GenTraversable
超链接.last
表明没有选项添加到scaladoc
参数.
所以:
autoAPIMappings
办?info.apiUrl
.想到任何包裹?谷歌似乎没有帮助,如何查询具有某些属性的maven包,甚至如何在poms上进行全文搜索并不明显.find ~/.m2 ~/.ivy2 -name '*.pom' -type f|xargs grep info.apiUrl
在我的2G本地缓存中找不到任何结果.(这个问题似乎是SBT Scaladoc配置的重复,但是它用于更新配置和不同的SBT版本,所以问题是不同的;此外,现有的答案显示了一个弃用的解决方案).
我知道没有解决方案autoAPIMappings
,但这里有一些替代方案.
一个可能的替代方案,使用0.13apiMappings
,可以设置手动映射.在我的系统上,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}/"))
Run Code Online (Sandbox Code Playgroud)这需要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}/"
Run Code Online (Sandbox Code Playgroud)
在0.12语法中:
scalacOptions in (Compile, doc) <+= (scalaVersion, scalaInstance) map { (scalaVer, scalaIn) =>
"-doc-external-doc:" + scalaIn.libraryJar + "#http://www.scala-lang.org/api/" + scalaVer + "/"}
Run Code Online (Sandbox Code Playgroud)
此选项仍需要Scaladoc 2.10.2.
最后,对于较旧的Scaladocs,可以使用-external-urls
,尽管它不那么精确(并因此被弃用),正如@MarkHarrah早先建议的那样.
在0.13语法中:
scalacOptions in (Compile, doc) += s"-external-urls:scala=http://www.scala-lang.org/api/${scalaVersion.value}/"
Run Code Online (Sandbox Code Playgroud)
在0.12语法中:
scalacOptions in (Compile, doc) <+= scalaVersion map (scalaVer => "-external-urls:scala=http://www.scala-lang.org/api/" + scalaVer + "/")
Run Code Online (Sandbox Code Playgroud)最后请注意,在所有情况下String
都不会出现超链接,可能是因为类型别名的一些错误.但是,其他类型(包括GenTraversable
)是超链接的.
归档时间: |
|
查看次数: |
1335 次 |
最近记录: |