scala - 如何 "include"另一个 sbt 文件中的常见 sbt 片段

标签 scala sbt

假设我在许多项目中都有一个常见的语句片段。有没有办法将共享的 sbt 片段“包含”在另一个片段中(无需编写插件)?

例如

代码片段(common-mapping.sbt)

mappings in Universal ++= {
  for (f <- (baseDirectory.value ** "*-prod.conf").get) yield {
    f -> f.getName.replaceAll( """(\w+)-prod\.conf""", "$1.conf")
  }
}.toSeq

Project1 的 build.sbt

... 
include("path/to/common-mapping.sbt")
...

Project2 (build.sbt)

... 
include("path/to/common-mapping.sbt")
...

有办法吗?或者我需要写一个插件吗?

附:这些项目不一定是同一根项目的一部分

最佳答案

插件就是为了解决这个问题而设计的,所以这是解决办法。插件基本上是一个 JAR 库,旨在用于构建,仅此而已。另请查看 auto plugins这将在 0.13.5 中发布。

关于scala - 如何 "include"另一个 sbt 文件中的常见 sbt 片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23718404/

相关文章:

Scala隐式方法参数消除歧义

scala - Spark 通过 SaveMode 写入数据作为 Append 或 overwrite

list - 在 scala 列表中查找元素并知道满足哪个谓词

java - 在没有 sbt 的情况下运行 sbt 创建的应用程序

scala - sbt 无法从本地存储库解析插件

Scala/Spark 无法匹配函数

scala - 在 SBT 中启动 Scala 应用程序进行集成测试

scala - 在 Play 中通过 "activator run"运行时获取要编译的资源

sbt - 在SBT中,Git中的一个 `addCompilerPlugin`是如何实现的?

scala - 如何在 ScalaQuery 中获取类对象作为结果而不是元组?