【问题标题】:SBT sub/build.sbt import dependency of root/build.sbt for taskSBT sub/build.sbt 为任务导入 root/build.sbt 的依赖项
【发布时间】:2017-03-08 05:54:28
【问题描述】:

我有一个任务,我想访问一个外部包(进行反射以查找扩展该包的特定特征的所有类)

该包是在我的父项目中定义的,以及为所有子项目设置的所有其他依赖项。

像这样:

root/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 吗?

【问题讨论】:

  • 我的建议有帮助吗?

标签: scala sbt


【解决方案1】:

不确定它是否有效,但您可以尝试将常用设置放在单独的 def 文件中,然后尝试此操作(来自两个构建文件):

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

【讨论】:

    猜你喜欢
    • 2014-09-18
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 2020-01-01
    • 2014-02-23
    • 2019-02-12
    • 1970-01-01
    相关资源
    最近更新 更多