2016-08-24 1 views
2

なぜsbt-scapegoatはバージョン1.0.0を解決しようとしていますか?私はplugins.sbtするためにこれを追加することにより、SBT-スケープゴートを使用しようとしている

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を起動し、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文書は基本的に空です。コンソールに表示されるエラーは表示されません。

どうすればこの問題を解決できますか?

+1

また、存在しない2.10の犠牲者を探しています。いくつかの質問:1.あなたはマルチプロジェクトビルドを持っていますか? 2.あなたが 'project/plugins.sbt'と' project/build.scala'と言ったファイルへのパスはありますか? 3. 'show scapegoatVersion'コマンドから何を得るのですか? –

+0

1.はい、mutliprojectです。 2.プロジェクトのパスは指定した通りです。ここ3.出力:(書式設定のため申し訳ありません)[情報] dotdash_messages/*:scapegoatVersion [情報] \t 1.2.1 [情報] dotdash/*:scapegoatVersion [情報] \t 1.2.1 [情報]ルート/ * :scapegoatVersion [info] \t 1.0.0 – Greg

+0

scapegoatVersion:= "1.2.1"をrootに追加しようとすると、rootがscala 2.10(sbt)でコンパイルされていて、 2.11のルートモジュールそれについて何をすべきかわからない。 – Greg

答えて

0

scapegoatVersionをサブプロジェクトに設定するには、hereのように共通の設定にするか、scapegoatVersion in ThisBuild := "1.1.0"を使用する必要があります。

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

または再scalaVersion in ThisBuildを使用します。エラーを回避するために、私は、ルートプロジェクトにscalaVersionを設定することが仕事だと思います。

https://github.com/sksamuel/sbt-scapegoatで問題を提起することもお勧めします。アレクセイから上記の回答に加えて

0

は、ジャストWHEREに答えるために、あなたはScapegoatPlugin.scalaをチェックすることもできます。 これはsbt Auto Pluginで、メソッドbuildSettingsは使用するscapegoatVersionをオーバーライドしました。

override def buildSettings = super.buildSettings ++ Seq(
      scapegoatVersion := "1.0.0", 
      scapegoatRunAlways := true, 
      scapegoatConsoleOutput := true, 
      scapegoatVerbose := true,... 

使用するバージョンを指定できます。scapegoatVersion in ThisBuild

関連する問題