2017-03-07 70 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>")