2014-08-31 28 views
1

我想在.Scala/.sbt項目文件的taskKey中使用第三方庫。如何在taskKey中使用第三方庫?

我的問題是,當我嘗試導入文件,我得到一個編譯錯誤。

我的目標很簡單我想添加一個使用sbt cli執行一些邏輯的任務鍵,我嘗試過一個使用sbt command line application的例子,但它不符合我的需要,因爲我需要打包應用程序來測試代碼。

那麼如何在加載階段將依賴項導入sbt cli?

例子:

val customTaskKey = TaskKey[Unit]("customTaskKey", "Runs customTaskKey") 
lazy val myProjectSettings: Seq[Setting[_]] = Seq(
    customTaskKey :={ 

    val instance : ThirdPartLibraryClass() 
    //   ^
    //   Symbol not found : compilation error 
    } 
) 

回答

3

您可以添加依賴正常的方式,但在my-project/project/plugin.sbt文件,而不是my-project/build.sbt

libraryDependencies ++= Seq(
    "thirdparty" % "library" % "1.0" 
) 

如果你的項目是foofoo/project是另一個SBT項目,它爲foo項目構建SBT構建。因此在foo/project文件夾中完成的配置適用於foo版本,而不適用於foo本身。

+0

Tahnk你的幫助。 – 2014-08-31 20:07:48