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.