2014-07-19 76 views
1

我有使用1個插件和3相關性的SBT構建文件:爲什麼sbt爲聲明的依賴項使用不正確的版本號?

scalaVersion := "2.10.4" 

val reflect = Def.setting { "org.scala-lang" % "scala-reflect" % "2.10.4" } 

val compiler = Def.setting { "org.scala-lang" % "scala-compiler" % "2.10.4" } 

lazy val macrosSettings = Project.defaultSettings ++ Seq(
addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise_2.10.4-SNAPSHOT" % "2.0.0-SNAPSHOT"), 
libraryDependencies ++= { 
    import Dependencies._ 
    Seq(play_json, specs2, reflect.value) 
} 
) 

lazy val Macros = Project(id="IScala-Macros", base=file("macros"), settings=macrosSettings) 

但是編譯器給了我下面的錯誤在編譯的iScala-宏:

[warn] :: org.scala-lang#scala-compiler;2.10.4-SNAPSHOT: not found 
[warn] :: org.scala-lang#scala-library;2.10.4-SNAPSHOT: not found 
[warn] :: org.scala-lang#scala-reflect;2.10.4-SNAPSHOT: not found 

這似乎是一個錯誤的我不想讓他們解決2.10.4-SNAPSHOT,但只有2.10.4,這是sbt的錯誤嗎?如果不是,這個SNAPSHOT從哪裏來?

回答

1

有這build.sbt構建定義了幾個問題,所以我強烈建議你閱讀,你可以找到the link to a project文檔Macro Paradise一個終端到終端的例子,但概括地說與宏樂園的工作是一樣簡單作爲添加以下兩行到您的版本(已授予您已經設置SBT使用宏)。

至於在此建立的問題,我沒有看到一個Def.setting原因depdendencies reflectcompiler,而且我不確定在addCompilerPlugin的依賴。使用以下Def.setting用於引用scalaVersion設置的值。我仍然認爲addCompilerPlugin應該遵循上面的示例項目。

import Dependencies._ 

scalaVersion := "2.10.4" 

val reflect = Def.setting { 
    "org.scala-lang" % "scala-reflect" % scalaVersion.value 
} 

val compiler = Def.setting { 
    "org.scala-lang" % "scala-compiler" % scalaVersion.value 
} 

lazy val macrosSettings = Project.defaultSettings ++ Seq(
    addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise_2.10.4-SNAPSHOT" % "2.0.0-SNAPSHOT"), 
    libraryDependencies ++= Seq(
    play_json, 
    specs2, 
    reflect.value 
) 
) 

lazy val Macros = Project(id="IScala-Macros", base=file("macros"), settings=macrosSettings) 
+0

對不起原構建文件很長,而且令人費解:我從這次修改: https://github.com/mattpap/IScala/blob/master/project/Build.scala 即我改變scalaVersion從2.10.2到2.10.4 – tribbloid

+0

讓我來分享一個新的git項目來向你展示完整的文件 – tribbloid

+0

好的,我分叉了一個新的分支:https://github.com/tribbloid/IScala/blob/master/project/ Build.scala – tribbloid

相關問題