小编Ker*_*ros的帖子

当项目加载失败(而不是等待用户输入)时,sbt会失败吗?

我正在配置我们的CI基础架构,当项目加载失败时,sbt询问该怎么做:

Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
Run Code Online (Sandbox Code Playgroud)

这会挂起等待进程返回的构建.

有没有办法告诉sbt停止而不问在加载失败时该怎么办?

continuous-integration sbt

8
推荐指数
1
解决办法
863
查看次数

如何在 sbt 中所有模块的所有测试之前运行任务

我有一个多模块播放!用 sbt 构建的应用程序,我在 CI 服务器上遇到了并行测试和进化的问题:当 sbt 开始测试并首先启动进化脚本时,其他失败,因为“数据库‘默认’处于不一致状态”一段时间(直到进化脚本停止)。

我知道如何手动以及如何从SBT运行它们执行变阵,但我不知道我怎么能堵住这个配置SBT确保变阵应用只有一次,并从所有模块的所有测试之前

作为参考,我正在使用以下运行进化:

object ApplyEvolutions extends App {
  OfflineEvolutions.applyScript(
    new File("."), 
    this.getClass.getClassLoader, 
    args.headOption.getOrElse("default"))
}
Run Code Online (Sandbox Code Playgroud)

还有我的 sbt 设置:

val runEvolution = taskKey[Unit]("Applies evolutions")

lazy val runEvolutionTask = runEvolution := {
  val log = streams.value.log
  val dbName = "default"
  Run.executeTrapExit( {
    log.info(s"Applying evolutions for database $dbName")
    Run.run("controllers.ApplyEvolutions",
      (fullClasspath in Compile).value.map { _.data },
      Seq(dbName),
      log
    )(runner.value)
  }, log )
}

lazy val runEvolutionsBeforeTests = Seq(
  Tasks.runEvolutionTask,
  (test in Test) <<= (test in …
Run Code Online (Sandbox Code Playgroud)

scala sbt

5
推荐指数
1
解决办法
1612
查看次数

标签 统计

sbt ×2

continuous-integration ×1

scala ×1