我有一个任务,我想访问外部包(进行反射以查找扩展该包的特定特征的所有类)
包在我的父项目中沿着为所有子项目设置的所有其他依赖项定义。
像这样:
根/ 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 :(得分:1)
不确定它是否可行,但您可以尝试将常用设置放在单独的def文件中,然后尝试(从两个构建文件中):
val sub = Project( id = "sub" , base = file(".")).addSbtFiles("<path/to/common.sbt>")