Como um plugin do SBT pode depender de outro plugin?

Eu quero escrever um plugin "MyPlugin" que depende do outro plugin ("io.spray" %% "sbt-twirl"% "0.6.0").

Basta adicionar sbt-twirl em libraryDependencies não funcionará, porque os plug-ins são publicados com um esquema de caminho diferente das bibliotecas padrão.

Eu também não posso declarar sbt-twirl como uma dependência de plugin para o projeto MyPlugin, porque MyPlugin não usa o sbt-twirl diretamente, é o projeto usando MyPlugin que irá indiretamente usá-lo.

O MyPlugin fornece uma tarefa que deve ser executada após o sbt-twirl ter gerado suas origens (no sourceManaged) e após a compilação.

Uma solução simples, mas não ideal seria exigir que o projeto usando MyPlugin também declare sbt-twirl como uma dependência de plugin, mas não é DRY porque os dois plugins estarão compartilhando algumas configurações (diretórios, versões, etc), e eles irão tem que ser repetido e compatível.

questionAnswers(1)

yourAnswerToTheQuestion