我们目前build.sbt拥有250多条生产线.
我们有两个问题:
当前的方法分组数据和评论:
// Plugins ///////////////////////////////////////////////////
enablePlugins(DockerPlugin)
// basic configuration : projects ///////////////////////////
name := """projectName"""
lazy val projectName =
(project in file(".")).....
Run Code Online (Sandbox Code Playgroud)
我们有一些配置逻辑,我们希望在不同的项目之间共享.
有没有办法包含其他*.sbt文件?或者你有一个建议如何解决这个问题而不诉诸写sbt插件?
您可以做的一件事是将构建信息的一部分分解为项目目录中的scala文件.
例如,在我们的构建中,项目目录中有一个文件Dependencies.scala,它包含一个地方的各种项目的所有依赖项:
object Dependencies {
val akka_actor = "com.typesafe.akka" %% "akka-actor" % "2.3.13"
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后可以从build.sbt导入:
import Dependencies._
lazy val foo = Project(...) dependsOn (akka_actor, ...)
Run Code Online (Sandbox Code Playgroud)
您还可以将任务和命令放入项目目录中的对象中.
更新:在寻找有关如何组织构建的灵感时,我经常做的一件事是查看复杂,高调的scala项目(如akka)的构建.如您所见,他们已将大量逻辑移动到项目目录中的scala文件中.构建本身在AkkaBuild.scala中定义.
*.sbt文件?是的,您可以简单地将build.sbt文件的一部分放入*.sbt项目根目录中的其他文件中。SBT 选取所有*.sbt文件并将它们合并在一起,因为只有一个大文件。
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |