Могу ли я анализировать только файлы .class с sonarqube? - PullRequest
2 голосов
/ 13 апреля 2019

У меня есть несколько jar-файлов, с которыми я хотел бы запустить сканирование sonarqube (особенно findbugs), но у меня нет источника.Есть ли какие-либо изменения для запуска сканирования только по файлам классов?

При запуске sonar-scanner для извлеченного файла JAR всегда появляется сообщение:

18: 49: 58.364 ОТЛАДКА: 'freemarker / template / TemplateServletUtils.class' проиндексированс языком 'null'

и когда я определяю язык в sonar-project.properties как "java", я получаю

18: 58: 41.487 ПРЕДУПРЕЖДЕНИЕ: Файл '/home/hans/testcode/testproj/freemarker/template/SimpleHash.class 'игнорируется, поскольку он не принадлежит принудительному языку' java '

Спасибо!

1 Ответ

0 голосов
/ 05 июня 2019

Архитектура SonarQube не предназначена для поддержки этого варианта использования.

Однако вы можете «обмануть» SonarQube. Во-первых, вы можете запустить CFR, чтобы исходные файлы отображались в SonarQube. Во-вторых, чтобы иметь отчеты об ошибках, вы можете запустить SpotBugs вручную и поместить отчет в /target/findbugsXml.xml или /target/spotbugsXml.xml. Если файл присутствует, плагин SpotBugs предположит, что анализ уже выполнен с Maven и загрузил проблемы из XML.

Что может сломаться: - Некоторые проблемы могут быть трудно сопоставить с их декомпилированным исходным файлом. - Линейное отображение, скорее всего, не будет выполнено, поскольку декомпилятор не обеспечивает отображение 1: 1.

Альтернатива: Вот пример конфигурации Jenkins, который объединил пару инструментов, включая CFR и FSB: https://github.com/GoSecure/jenkins-fsb

...