Выполнять задачу, когда в SBT изменяется любой файл в заданном каталоге?

Есть ли способ запуска задачи при каждом изменении кода в заданном каталоге? Предпочтительно, что хорошо работает с оператором ~ в SBT, чтобы я мог:

~jadeCompile

для выполнения пользовательской задачи jadeCompile.

Ответ 1

Взгляните на документацию по запущенному исполнению. Вы можете настроить наблюдаемый каталог с помощью параметра watchSources. Это немного сложнее, поскольку по умолчанию будут наблюдаться только исходные файлы Scala, поэтому нам нужно указать соответствующий поиск пути:

watchSources <++= baseDirectory map { path => 
    ((path / "src/main/jade") ** "*.jade").get }

Значение watchSources не ограничено, поэтому вам нужно будет сразу просмотреть все источники. Тогда вам просто нужно запустить:

~jadeCompile