Я часто хочу сделать некоторые настройки перед выполнением одной из стандартных задач.Я понимаю, что могу создавать новые задачи, которые выполняют существующие задачи в нужном мне порядке, но я нахожу это громоздким, и вероятность того, что разработчик пропустит то, что он должен выполнить my-compile вместо compile, велика и приводит к трудным исправлениям ошибок.
Итак, я хочу определить пользовательскую задачу (скажем, prepare-app ) и добавить ее в дерево зависимостей существующих задач (скажем, package-bin ).так что каждый раз, когда кто-то вызывает package-bin , мои собственные задачи запускаются прямо перед ним.
Я пытался сделать это
def mySettings = {
inConfig(Compile)(Seq(prepareAppTask <<= packageBin in Compile map { (pkg: File) =>
// fiddle with the /target folder before package-bin makes it into a jar
})) ++
Seq(name := "my project", version := "1.0")
}
lazy val prepareAppTask = TaskKey[Unit]("prepare-app")
, но package-bin не выполняет его автоматически перед упаковкой вывода компиляции в jar.Итак, как мне изменить приведенный выше код для запуска в нужное время?
В более общем смысле, где я могу найти информацию о подключении к другим задачам, таким как компиляция, и существует ли общий способ обеспечить выполнение ваших собственных задач до и после вызова стандартных задач?.