Поддержка языка 1С:Предприятие 8 и OneScript для SonarQube.
Сайт проекта -> https://1c-syntax.github.io/sonar-bsl-plugin-community/
English version -> https://1c-syntax.github.io/sonar-bsl-plugin-community/en/
- Project "Overview" dashboard;
- Подсветка исходного кода 1С:Предприятие;
- Расчет базовых метрик, расчет количества строк кода;
- Регистрация диагностик, предоставляемых BSL Language Server как внутренних правил;
- Встроенный анализатор - BSL Language Server Diagnostic provider
- Импорт результатов внешних анализаторов во внутреннем формате json;
- Скачать jar-файл со страницы релизов
- Разместить jar-файл согласно разделу Manual Installation официальной документации (по умолчанию - каталог
$SONARQUBE_HOME/extensions/plugins
) - Перезапустить сервер
Версия SonarQube | Версия плагина |
---|---|
7.9+ | 0.7.0+ |
7.4 - 7.8 | 0.1.0...0.6.0 |
Версия плагина | Версия JAVA |
---|---|
1.0+ | 11 |
0.1.0 - 0.6.0 | 8 |
Для анализа исходных кодов 1С используется утилита sonar-scanner.
Утилите неоходимо указать параметры анализа одним из нижеперечисленных способов:
- в качестве аргументов командной строки, используя синтаксис -DимяПараметра=значениеПараметра
- используя файл
sonar-project.properties
Пример файла sonar-project.properties
:
# Ключ проекта. Уникальный в пределах сервера SonarQube
sonar.projectKey=my_project
# Имя проекта, отображаемое в интерфейсе SonarQube. Значение по умолчанию - ключ проекта.
sonar.projectName=My project
# Версия проекта
sonar.projectVersion=1.0
# Путь к исходным кодам. Относительные пути разрешаются от файла sonar-project.properties
# В качестве разделителя пути используется прямой слэш - /. Можно указать несколько каталогов через запятую.
sonar.sources=src
# Кодировка файлов исходных кодов.
sonar.sourceEncoding=UTF-8
# Фильтры на включение в анализ. В примере ниже - только bsl и os файлы.
sonar.inclusions=**/*.bsl, **/*.os
Способы передачи параметров можно комбинировать.
Если на сервере SonarQube включено требование принудительной авторизации и/или запрет анонимного анализа проектов, утилите sonar-scanner дополнительно нужно передавать токен авторизации, который можно получить согласно инструкции User guide/User token
sonar-scanner -Dsonar.host.url=http://sonar.company.com -Dsonar.login=SONAR_AUTH_TOKEN
sonar.bsl.languageserver.diagnosticLanguage
- язык имен правил и текстов сообщений сработавших правил от BSL Language Server. По умолчанию -ru
- русский;sonar.bsl.languageserver.enabled
- использование встроенного анализатора BSL Language Server Diagnostic provider при запуске анализа черезsonar-scanner
. По умолчанию -true
- включен;sonar.bsl.languageserver.reportPaths
- путь к файлам отчетов во внутреннем формате BSL Language Server -json
. По умолчанию -""
- не заполнено.
По умолчанию в качестве анализатора используется встроенный провайдер диагностик из BSL Language Server.
Выполнение анализа встроенным анализатором можно отключить, установив параметру sonar.bsl.languageserver.enabled
значение false
через командную строку или файл настроек.
sonar-scanner -Dsonar.bsl.languageserver.enabled=false
Отключение анализатора не отключает процесс парсинга файлов. Расчет метрик и подсветка синтаксиса будут работать вне зависимости от значения настройки.
BSL Language Server может запускать анализ исходного кода и выдавать список обнаруженых диагностик в виде json-файла. Инструкция по запуску BSL Language Server в режиме анализа расположена на странице проекта.
Для импорта результата при запуске утилиты sonar-scanner нужно передать параметр sonar.bsl.languageserver.reportPaths
через аргументы командной строки или через файл sonar-project.properties
, в котором указать путь к файлу (или файлам, через запятую) с результатами анализа.
sonar-scanner -Dsonar.bsl.languageserver.reportPaths=./bsl-json.json