Wie kann ein SBT-Plugin von einem anderen Plugin abhängen?

Ich möchte ein Plugin "MyPlugin" schreiben, das von einem anderen Plugin abhängt ("io.spray" %% "sbt-twirl"% "0.6.0").

Das einfache Hinzufügen von sbt-twirl in libraryDependencies funktioniert nicht, da Plugins mit einem anderen Pfadschema als Standardbibliotheken veröffentlicht werden.

Ich kann sbt-twirl auch nicht als Plugin-Abhängigkeit zum MyPlugin-Projekt deklarieren, da MyPlugin das sbt-twirl nicht direkt verwendet. Es ist das Projekt, das MyPlugin verwendet, das es indirekt verwendet.

MyPlugin bietet eine Aufgabe, die ausgeführt werden soll, nachdem sbt-twirl seine Quellen generiert hat (in sourceManaged) und nach dem Kompilieren.

Eine einfache, aber nicht ideale Lösung wäre, vom Projekt mit MyPlugin zu verlangen, dass es auch sbt-twirl als Plugin-Abhängigkeit deklariert. Es ist jedoch nicht DRY, da die beiden Plugins einige Einstellungen (Verzeichnisse, Versionen usw.) gemeinsam nutzen und dies auch tun müssen wiederholt und kompatibel sein.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage