Sbt:是否可以在build.sbt中导入项目外的文件?

时间:2017-02-10 14:45:19

标签: sbt

上下文:

我有几个应用程序,每个都有自己的build.sbt。

这些应用程序依赖于

的其他应用程序
lazy val sharedApp = RootProject(file("../shared-app"))

问题是我必须在每个build.sbt上重复共享应用程序的配置,这很麻烦。

我怎么能这样做?
有没有办法导入我将放在这个共享应用程序中的文件? (在build.sbt文件的父文件夹中也是如此)

1 个答案:

答案 0 :(得分:1)

您可以在构建"项目"中使用Scala代码来执行您想要的任何操作,如果您在那里存储父项目配置,则可能就是这种情况。

我看到这样的事情:

<强> Parent.scala

import sbt._

object Dependencies {
  // Versions
  lazy val someVersion = "2.3.8" 


  // Libraries
  val someLib = "com.typesafe.akka" %% "akka-actor" % akkaVersion
  val someLib2 = "com.typesafe.akka" %% "akka-cluster" % akkaVersion

}

以及稍后在 build.sbt 中,您可以导入它,它可以减少繁琐的代码,例如。

<强> build.sbt

import Parent._

// user keys from Parent.scala to quicker setup your parent project

对你的用例有意义吗?

一些参考资料 - here