sbt をマルチプロジェクトで構成していて、
アプリケーションプロジェクトの run の前に別プロジェクトで管理している sbt-liquibase の update タスクを実行したい、
みたいなシチュエーション。
lazy val apps = (project in file("modules/apps"))
.settings(
commonSettings,
name := "apps",
(run in Compile) := (run in Compile).dependsOn(liquibaseUpdate in (dbPrj, Compile)).evaluated,
)
.dependsOn(domain, ...)
(run in Compile) := (run in Compile).dependsOn(liquibaseUpdate in (dbPrj, Compile)).evaluated
の部分。
run
の前に、dbPrj の liquibaseUpdate
タスクを実行する形になる。