sbt 0.13.x中IntegrationTest配置的最小设置是什么?
我有以下sbt 0.13.x中IntegrationTest配置的最小设置是什么?,sbt,Sbt,我有以下build.sbt: name := "it-config-sbt-project" scalaVersion := "2.10.4" Defaults.itSettings lazy val `it-config-sbt-project` = project.in(file(".")).configs(IntegrationTest) 我怎样才能使我添加的行更简单 我希望有一个项目当前配置和设置的设置,例如 settings ++= Defaults.itSettings c
build.sbt
:
name := "it-config-sbt-project"
scalaVersion := "2.10.4"
Defaults.itSettings
lazy val `it-config-sbt-project` = project.in(file(".")).configs(IntegrationTest)
我怎样才能使我添加的行更简单
我希望有一个项目当前配置和设置的设置,例如
settings ++= Defaults.itSettings
configs += IntegrationTest
甚至可以使用sbt文件中的以下行自动应用itSettings
设置:
configs += IntegrationTest
sbt需要在评估设置之前了解委派的配置。因此,无法在设置系统内定义配置
请注意,如果使用的配置不扩展另一个配置,则严格来说不需要使用
configs
方法在项目上注册它。我假设您使用的是SBT 0.13,因为您的项目定义在.SBT文件中
有一个名为“自动设置”的新功能,可用于影响多个sbt文件中的组合.sbt设置
例如:
lazy val `it-config-sbt-project` = project.in(file("."))
.autoSettings(userSettings, allPlugins, sbtFiles(file("../mysetting.sbt")), defaultSbtFiles)
我发现自己也同样感到沮丧。我找到的最好的解决方案是借用Josh Suereth的方法,创建一个project helper函数,为您添加IntegrationTest配置 乙二醇 我把这个和其他一些设置作为插件拉进来,然后我的build.sbt就这么简单了
import caoilte.BasePlugin
BasePlugin.baseSettings
val helloWorld = BasePlugin.baseProject("helloWorld")
我认为目前还没有更好的方法,但我希望知道我错了。有一种更好的方法,但不是很多-在文件(“.”)中使用
项目。configs(IntegrationTest)
@JacekLaskowski您的较短版本不适合我:发现:sbt.project required:sbt.Def.settings定义
@Caoilte您使用的是sbt 0.13+?似乎有这样的信息。您是否使用了lazy val
it config sbt project`=project in file(“.”)配置了集成测试?你的整个
build.sbt`?我确实在你的OP中使用了lazy val,效果很好。我以为你在后面的评论中建议不需要lazy val,而实际上我认为你是在指出括号是可选的。
import caoilte.BasePlugin
BasePlugin.baseSettings
val helloWorld = BasePlugin.baseProject("helloWorld")