2015-05-13 2 views
5

Ich schreibe eine benutzerdefinierte Lombok Transformation, aber ich bin fest, weil Lombok-Handler org.mangosdk.spi.ProviderFor Annotation verwenden müssen, und ich kann es nicht in den Maven-Repositories finden. Wie soll man diese Abhängigkeit bei einer benutzerdefinierten Lombok-Transformation erhalten?Wie erhalten Sie die org.mangosdk.spi.ProviderFor-Abhängigkeit zum Schreiben einer benutzerdefinierten Lombok-Umwandlung?

Ich versuchte, schauen, wie diese Abhängigkeit in https://github.com/rzwitserloot/lombok abgerufen wird, aber sie scheinen nur in lib Verzeichnis ihre eigene Kopie der Bibliothek zu haben, was meiner Meinung nach ein sehr unflexibel Weise ist Ihre Abhängigkeiten zu verwalten, würde ich so nicht Betrachte es für mein eigenes Projekt.

Also, wenn ich ein Maven-Projekt für eine Lombok-Erweiterung habe, wie sollte ich diese org.mangosdk.spi.ProviderFor Klasse bekommen?

Antwort

6

Lombok verwendet Ant + Ivy und nicht Maven. Lombok erfordert nicht die Verwendung der Annotation ProviderFor. Diese Annotation generiert automatisch die META-INF/services-Datei, die der Standard-Java-Satz von APIs ist. Sie können eine solche Datei auch manuell verwalten.

Weitere Informationen zur Service Provider-Schnittstelle finden Sie unter documentation des SPI-Projekts.

Es gibt eine similar project, die derzeit bessere Maven-Unterstützung hat.

NB. Da Google Code wird bald nach unten geht, ist dieses Projekt in dem Prozess der migrated to Github

Disclosure sein: Ich bin ein Entwickler Lombok

+1

Danke für die große Bibliothek. Ich habe bereits selbst herausgefunden, wie man eine benutzerdefinierte Transformation durchführt (würden Sie die Pull-Anfragen auf Github bitte überprüfen?), Aber eine Erklärung von einem Projektentwickler ist immer wertvoll. – gvlasov

+0

Danke, @ roel-spilker, gibt es Pläne für eine Migration nach Maven oder Gradle? – omickron

Verwandte Themen