Я хочу написать плагин "MyPlugin", который зависит от другого плагина ( "io.spray" %% "sbt-twirl" % "0.6.0" ).
Просто добавление sbt-twirl в libraryDependencies не будет работать, потому что плагины публикуются с другой схемой маршрута чем стандартные библиотеки.
Я также не могу объявить sbt-twirl как зависимость плагина к MyPlugin проект, потому что MyPlugin не использует sbt-twirl напрямую, это проект с использованием MyPlugin, который косвенно его использует.
MyPlugin предоставляет задачу, предназначенную для запуска после sbt-twirl сгенерировал источники (в sourceManaged) и после компиляции.
Простым, но не идеальным решением было бы потребовать использования проекта MyPlugin также объявляет sbt-twirl как зависимость плагина, но это не DRY, потому что два плагина будут использовать некоторые настройки (каталоги, версии и т.д.), и они должны быть повторены и совместимы.