为什么sbt-scapegoat试图解决版本1.0.0?

时间:2016-08-24 15:50:17

标签: scala sbt

我试图通过将此添加到plugins.sbt来使用sbt-scapegoat:

addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "1.0.4")

然后在build.scala文件中我这样做:

import com.sksamuel.scapegoat.sbt.ScapegoatSbtPlugin.autoImport._
scapegoatVersion            := "1.1.0"

这是sbt-scapegoat github网站上显示的内容。我开火了,让它解决sbt-scapegoat 1.0.4,它确实如此。到现在为止还挺好。然后,如果我运行替罪羊我得到:

[info] Resolving com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0 ...
[warn] Host repo1.maven.org not found. url=https://repo1.maven.org/maven2/com/sksamuel/scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/scalac-scapegoat-plugin_2.10-1.0.0.pom
[info] You probably access the destination server through a proxy server that is not well configured.
[warn]  module not found: com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0
[warn] ==== local: tried
[warn]   /Users/wmy965/.ivy2/local/com.sksamuel.scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/sksamuel/scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/scalac-scapegoat-plugin_2.10-1.0.0.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

1.0.0依赖从何而来?我的项目是scala 2.11.7,我正在使用sbt 0.13.11。在sbt-scapegoat网站上我没有看到任何另外的解析器。

在我的输出中,我的控制台显示了一堆发现的分析错误,但生成的HTML文档基本上是空的 - 没有显示控制台上显示的错误。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

要为子项目设置scapegoatVersion,您需要将其置于[{3}}所述的常用设置中,或使用scapegoatVersion in ThisBuild := "1.1.0"。为避免错误,我认为在根项目中设置scalaVersion会起作用:

lazy val root = (project in file(".")).
  aggregate(dotdash, dotdash_messages).
  settings(
    scalaVersion := "2.11.7"
  )

或再次使用scalaVersion in ThisBuild

我还建议在here提出问题。

答案 1 :(得分:0)

除了Alexey的上述答案,只需回答 WHERE ,您可能需要检查ScapegoatPlugin.scala。 这是一个sbt Auto Plugin,方法buildSettings已经覆盖了要使用的scapegoatVersion。

tag query name

我们可以指定我们选择使用的版本override def buildSettings = super.buildSettings ++ Seq( scapegoatVersion := "1.0.0", scapegoatRunAlways := true, scapegoatConsoleOutput := true, scapegoatVerbose := true,...

答案 2 :(得分:0)

对我来说,上述任何工作都没有,所以可能存在两个问题,并且使用fixed version of plugin已解决了我的问题

addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "1.0.9")