2017-03-07 91 views
0

我有一個任務,我想訪問一個外部包(做反射以找到所有擴展該包的特定特徵的類)SBT sub/build.sbt導入依賴關係root/build.sbt任務

該軟件包在我的父項目中爲所有子項目設置的所有其他依賴項定義。

像這樣:

根/ build.sbt:

val scalaCss = "com.github.japgolly.scalacss" %% "core" % "0.5.1" 

lazy val subproject = (project in file("subproject")) 
... 
.settings(
... 
, libraryDependencies += scalaCss) 

子項目/ build.sbt

lazy val myAwesomeTask = TaskKey[Unit]("myAwesomeTask") 

myAwesomeTask := { 
    import scalaCss.Defaults._ 
    val standalones = typeOf[scalacss.internal.mutable.StyleSheet.Standalone.Standalone] 
    } 

現在css.Defaults._不能得到解決

我怎樣才能改變這種狀況,所以它在任務中變得可用?

我想要在子項目的build.sbt中指定特定任務,但不要在那裏放置任何依賴項。

由於子項目本身已經定義在root/build.sbt我看不出在這裏指定另一個依賴關係。我能以某種方式將root/build.sbt導入我的subproject/build.sbt

+0

難道我的建議的幫助? – Sheinbergon

回答

1

不知道它會工作,但你可以嘗試把常見的設置在一個單獨的高清文件,然後試試這個(來自構建文件):

val sub = Project(id = "sub" , base = file(".")).addSbtFiles("<path/to/common.sbt>")