Как объявить зависимость задачи от задач в 0.13?
В sbt 0.12 вы можете указать, что одна задача зависела от другой, фактически не используя вывод из задач ввода. Итак, вы указали чисто упорядочение задач:
unitTask <<= Seq(stringTask, sampleTask).dependOn
В документации Tasks для sbt 0.13 такого примера нет. Какой новый синтаксис для указания указанной зависимости?
Ответы
Ответ 1
Используйте стандартный синтаксис, но игнорируйте результаты используемых задач:
unitTask := {
val x = stringTask.value
val y = sampleTask.value
()
}
Из-за ошибки в скаляре, вы должны использовать имена фиктивных имен, иначе вы могли бы просто использовать val _ = ...
.
Кроме того, я предпочитаю более явный путь выше, но он эквивалентен этой более короткой версии, потому что результаты не используются:
unitTask := {
stringTask.value
sampleTask.value
}
Ответ 2
Официальный руководство по миграции рекомендует, чтобы вместо:
a <<= a dependsOn b
определяет его как:
a := (a dependsOn b).value
Ответ 3
Так же, как вы делали в 0.12
lazy val taskA= taskKey[Unit]("Prints 'Hello World'")
lazy val taskB= taskKey[Unit]("Prints 'Good by World'")
taskA := println("hello world!")
taskB := println("good by world!")
taskB <<= taskB.dependsOn(taskA)
Как < < <= теперь устаревает, см. ответ выше.