2013-01-21 9 views
19

Voglio scrivere un plugin "MyPlugin" che dipende da un altro plug-in ("io.spray" %% "sbt-twirl"% "0.6.0").Come un plugin SBT può dipendere da un altro plug-in

Semplicemente aggiungendo sbt-twirl nella libreriaDipendenze non funzionerà, perché i plugin vengono pubblicati con uno schema di percorso diverso rispetto alle librerie standard.

Anche non posso dichiarare SBT-volteggiare come una dipendenza plugin per myplugin progetto, perché myplugin non usa direttamente lo sbt-piroetta, è il progetto con myplugin che indirettamente usarlo.

MyPlugin fornisce un'attività che deve essere eseguita dopo sbt-twirl ha generato le sue origini (in sourceManaged) e dopo la compilazione.

Una soluzione semplice ma non ideale sarebbe quella di chiedere il progetto con myplugin di dichiarare anche SBT-volteggiare come dipendenza plug-in, ma non è asciutta perché i due plugin saranno condividendo alcune impostazioni (directory, versioni, ecc.), e dovranno essere ripetuti e compatibili.

risposta

27

Dovrebbe essere la stessa definizione per l'utilizzo di un plugin come un plugin, tranne che va in build.sbt o project/Build.scala invece di project/plugins.sbt:

addSbtPlugin("io.spray" % "sbt-twirl" % "0.6.0") 
+3

ho fatto: .settings (addSbtPlugin ("io.spray" % "sbt-twirl"% "0.6.0")), e ha funzionato. Grazie –

+2

Questo è stato sorprendentemente difficile da trovare, ma la soluzione era così semplice! –

+0

tks :) ha funzionato –

Problemi correlati