У меня есть пользовательские задачи в моем проекте SBT (0.12.2). Назовите их a
, b
и c
. Поэтому, когда я в интерактивном режиме SBT, я могу просто набрать a
и выполнить задачу, связанную с a
. Я также могу набрать ;a;b;c
, и три задачи выполняются последовательно; то же самое, что и ;clean;compile
. То, что я также могу сделать из интерактивной оболочки, - создать псевдоним для их запуска: alias all=;a;b;c
. Теперь, когда я набираю all
, задачи выполняются очевидным образом. Я пытаюсь создать этот псевдоним внутри конфигурации SBT для моего проекта.
В этом разделе документации SBT рассматриваются задачи, но все, что я мог достигнуть, было примерно так:
lazy val a = TaskKey[Unit]("a", "does a")
lazy val b = TaskKey[Unit]("b", "does b")
lazy val c = TaskKey[Unit]("c", "does c")
lazy val all = TaskKey[Unit]("all", ";a;b;c")
lazy val taskSettings = Seq(
all <<= Seq(a,b,c).dependOn
)
Проблема с этим подходом заключается в том, что задачи объединены, и поэтому их выполнение происходит параллельно, в отличие от последовательного, чего я пытаюсь достичь. Итак, как я могу создать псевдоним типа alias all=;a;b;c
внутри конфигурационного файла SBT?