【发布时间】:2015-08-27 14:23:36
【问题描述】:
如何在运行测试之前运行来自插件(如 flyway)的顺序任务,例如,如果我想运行:
flywayClean 然后flywayMigrate 然后integrationTests,我该怎么做?
问题是 sbt 并不真正支持任何有副作用的东西,比如 db。
我在这里查看了排序任务的示例: http://eed3si9n.com/sequencing-tasks-with-sbt-sequential
我已经尝试过这些,我可以按照基本示例进行操作,但我不知道如何通过 flyway 等插件运行任务。
问题的一部分似乎是flywayClean 和flywayMigrate 都是TaskKey[Unit] 类型,其中sbt-sequential 示例使用Def.Setting[Task[Unit]]。
sbt 非常复杂,以至于我无法弄清楚如何解析与给定 TaskKey 关联的 Task,然后将其转换为 Setting[Task[Unit]]。
【问题讨论】: