Cześć,
Myślę nad rozwiązaniem zadania - jak rozwiązać możliwość dodawania własnych pluginów w aplikacji Javowej.
Chcę zrobić podobnie jak w Jenkinsie, ale nie chce mi się szukać w kodzie - zrobię to dopiero, jak nie znajdę rozwiązania w ten weekend :)
Jak chciałem to zrobić?
- Wpisujemy do JSONa konfiguracyjnego nazwę pluginu i jego wersję z rejestru, który jest dostępny analogicznie jak Docker registry, albo Maven Repository.
- Następnie mój zapięty listener na ten plik wykrywa zmianę -> waliduje -> jeśli wersja istnieje to ją sobie dociąga z mojego FTPa.
-
No i tutaj zaczyna się problem. Mam pobrany pakiet nieskompilowanych plików .java ewentualnie .groovy albo .kt .
W moich klasach pluginu, chcę np. rozszerzyć interfejs SecurityProvider. - Moja aplikacja pobrała sobie zatem paczkę plików i muszę ją jakoś zmusić, żeby się sama w miejscu przekompilowała i wciągnęła w jara nowe pliki.
Jakieś pomysły? Intellij też to ma fajnie rozwiązane, wystarczy dodać kilka linijek xmla i klasę javowoą.