我即将使用来自maven存储库的cobertura4sbt sbt插件。
我在project\plugins.sbt
添加了以下几行:
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/groups/scala-tools"
addSbtPlugin("de.johoop" % "cobertura4sbt" % "1.0.0")
但是,当我尝试“sbt compile”时,它总是将我的本地SBT和Scala版本号附加到解析路径,以便找不到相应的pom。我在哪里都会错过什么?
[warn] ==== Sonatype OSS Snapshots: tried
[warn] https://oss.sonatype.org/content/groups/scala-tools/de/johoop/cobertura4sbt_2.9.2_0.12/1.0.0/cobertura4sbt-1.0.0.pom
[warn] ==== public: tried
答案 0 :(得分:1)
Scala和sbt版本的自动后缀在sbt中添加了一段时间,以区分不同版本的sbt的插件。来自this source,cobertura4sbt看起来像是为0.7.4构建的,但作者says不再维护插件:
这个SBT插件让您可以在伟大的Cobertura工具的帮助下测量您的代码覆盖率。
然而,由于Cobertura不再真正开发,我决定暂时停止使用这个插件,而是开始使用jacoco4sbt。请使用jacoco4sbt而不是此插件进行思考...
jacoco4sbt似乎也可用于最新的sbt 0.13.0。您选择的插件,请按照维基中的说明进行操作。
鉴于日志,我假设你正在使用sbt 0.12.x. jacoco4sbt for sbt 0.12发布于Sonatype OSS,最新版本似乎是2.0.0:https://oss.sonatype.org/content/groups/public/de/johoop/jacoco4sbt_2.9.2_0.12/2.0.0/
尝试将其放入project/plugins.sbt
:
resolvers += Resolver.sonatypeRepo("public")
addSbtPlugin("de.johoop" % "jacoco4sbt" % "2.0.0")
和jacoco.sbt
:
jacoco.settings
这会将jacoco:cover
任务加载到sbt shell中,我可以运行它并在target/scala-2.10/jacoco
目录中获取报告。