我有以下几点build.sbt:
name := "it-config-sbt-project"
scalaVersion := "2.10.4"
Defaults.itSettings
lazy val `it-config-sbt-project` = project.in(file(".")).configs(IntegrationTest)
Run Code Online (Sandbox Code Playgroud)
我怎样才能使我添加IntegrationTest配置的行更简单?
我宁愿想要一个具有项目当前配置和设置的设置,例如
settings ++= Defaults.itSettings
configs += IntegrationTest
Run Code Online (Sandbox Code Playgroud)
甚至itSettings在sbt文件中使用以下行自动应用设置:
configs += IntegrationTest
Run Code Online (Sandbox Code Playgroud)
我发现自己同样感到沮丧.我找到的最佳解决方案是借用Josh Suereth的Effective SBT幻灯片并创建一个项目帮助函数,为您添加IntegrationTest配置.
例如
object BasePlugin extends Plugin {
val baseSettings = Defaults.itSettings
def baseProject(name: String, location: String = "."): Project = (
Project(name, file(location)) configs(IntegrationTest)
)
}
Run Code Online (Sandbox Code Playgroud)
我把这个和其他一些设置作为一个插件,然后我的build.sbt就像这样简单
import caoilte.BasePlugin
BasePlugin.baseSettings
val helloWorld = BasePlugin.baseProject("helloWorld")
Run Code Online (Sandbox Code Playgroud)
sbt 在评估设置之前需要了解委派的配置。因此,无法在设置系统内定义配置。
请注意,如果使用的配置没有extend其他配置,则不一定需要使用该configs方法将其注册到项目上。
| 归档时间: |
|
| 查看次数: |
2738 次 |
| 最近记录: |