Как загрузить плагины с помощью 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.

Есть идеи, как это можно сделать?

0 ответов

Другие вопросы по тегам