Как загрузить плагины с помощью StandaloneSonarLintEngineImpl?
Я работаю над плагином Jenkins, который использует автономную версию Sonar (StandaloneSonarLintEngineImpl), и проблема в том, что SonarEngine ожидает, что вы предоставите массив URL-адресов (URL[]), откуда загружать плагины.
Я пытался использовать getClass().getClassLoader().getResource(...)
чтобы получить URL для файлов jar плагинов и связать эти jar с моим плагином, но это не работает.
Каким-то образом Jenkins меняет ClassLoader, поэтому, когда я запускаю плагин локально с mvn hpi:run
все работает нормально, но когда я компилирую его как.hpi и импортирую в обычный экземпляр Jenkins, он больше не может найти файлы.jar.
Есть идеи, что я мог сделать?
Я вижу два возможных пути:
1) Как-то получить ресурс из плагина Jenkins. Как? Обычный способ getClass().getClassLoader().getResource(...)
не работает. Возвращается file:/var/cache/jenkins/war/WEB-INF/classes/
это не путь к моему ресурсу.
или же
2) Каким-то образом добавить плагин сонара в качестве зависимости к моему файлу pom.xml, а затем заставить StandaloneSonarLintEngineImpl загрузить плагин не так, как дать ему URL.
Есть идеи, как это можно сделать?