Экспорт диагностик 1С: EDT для SonarQube 1C (BSL) Community Plugin. Трансформация диагностик: изменение параметров, удаление файлов на поддержке, удаление неактуальных диагностик. Получение версии конфигурации.
stebi c ./edt-result.out ./edt-json.json ./src
Команда: c, convert
Конвертировать результат проверки проекта 1С:EDT из .tsv-файл в выбранный формат
Строка запуска: stebi c [ОПЦИИ] EDT_VALIDATION_RESULT EDT_VALIDATION_JSON SRC
Аргументы:
EDT_VALIDATION_RESULT Путь к файлу с результатом проверки edt. Например ./edt-result.out (env $EDT_VALIDATION_RESULT)
EDT_VALIDATION_JSON Путь к файлу результату. Например ./edt-json.json (env $EDT_VALIDATION_JSON)
SRC Путь к каталогам с исходниками. Можно указать несколько, если результат проверки содержит несколько проектов.
Пример для одного проекта: `project/src`.
Пример для несколькоих проектов `project1/src, project2/src` (env $SRC)
Опции:
-e, --ObjectErrors Ошибки объектов назначать на первую строку модуля формы/объекта
-r, --UseRelativePaths В файл результата записывать относительные пути
-f, --Format Формат отчета (env $STEBI_REPORT_FORMAT) (по умолчанию Generic_Issue)
Generic_Issue: Формат Generic issue для SonarQube версии 10.2-. Подробнее: https://docs.sonarsource.com/sonarqube/10.2/analyzing-source-code/importing-external-issues/generic-issue-import-format/
Generic_Issue_10_3: Формат Generic issue для SonarQube версии 10.3+. Подробнее: https://docs.sonarsource.com/sonarqube/10.3/analyzing-source-code/importing-external-issues/generic-issue-import-format/
-d, --debug Режим отладки
sonar.host.url=http://localhost:9000
sonar.projectKey=UNF
sonar.projectVersion=1.6.17
sonar.sources=src
sonar.sourceEncoding=UTF-8
sonar.inclusions=**/*.bsl
sonar.externalIssuesReportPaths=edt-json.json,acc-generic-issue.json,bsl-generic-json.json
Приложение позволяет создать файл настроек по существующим выгрузкам формата generic-issue и применить эти настройки к указанным файлам generic-issue.
Таким образом возможно указать effortMinutes, переопределить type и severity.
Для создания файла используется команда p
или prepare
.
Команда: p, prepare
Подготовить файл настроек
Строка запуска: stebi p [ОПЦИИ] GENERIC_ISSUE_SETTINGS_JSON GENERIC_ISSUE_JSON
Аргументы:
GENERIC_ISSUE_SETTINGS_JSON Путь к файлу настроек. Если файл существует, то он будет обновлен. Например ./generic-issue-settings.json (env $GENERIC_ISSUE_SETTINGS_JSON)
GENERIC_ISSUE_JSON Путь к файлам generic-issue.json, на основе которых будет создан файл настроек. Например ./edt-json.json,./acc-generic-issue.json (env $GENERIC_ISSUE_JSON)
Опции:
-f, --Format Формат отчета (env $STEBI_REPORT_FORMAT) (по умолчанию Generic_Issue)
Generic_Issue: Формат Generic issue для SonarQube версии 10.2-. Подробнее: https://docs.sonarsource.com/sonarqube/10.2/analyzing-source-code/importing-external-issues/generic-issue-import-format/
Generic_Issue_10_3: Формат Generic issue для SonarQube версии 10.3+. Подробнее: https://docs.sonarsource.com/sonarqube/10.3/analyzing-source-code/importing-external-issues/generic-issue-import-format/
-d, --debug Режим отладки
Пример команды stebi prepare ./test/settigs.json ./test/acc-generic-issue.json,./test/edt-json.json
Будет создан файл json с массивом настроек. В каждой настройке есть ключевые поля: ruleId
, message
, filePath
и значения для переопределения severity
, type
и effortMinutes
.
Ошибка соответствует ключевому полю, если значения совпадают, ключевое поле пустое или поле ошибки соответствует ключевому полю с учетом регулярного выражения.
Если все ключевые поля соответствуют ошибке, то в ошибке подменяются заполненные значения для переопределения.
Например, файл настроек с таким содержимым:
[
{
"ruleId": "",
"message": "",
"filePath": ".*Documents.*",
"severity": null,
"type": null,
"effortMinutes": 500
}
]
Установит всем документам effortMinutes = 500.
Настройки проверяются и применяются по очереди, поэтому могут друг друга переопределять.
Для применения файла настроек к файлам используется команда t
или transform
.
Команда: t, transform
Применить файл настроек к generic-issue.json
Строка запуска: stebi t [ОПЦИИ] GENERIC_ISSUE_JSON
Аргументы:
GENERIC_ISSUE_JSON Путь к файлам generic-issue.json, на основе которых будет создан файл настроек. Например ./edt-json.json,./acc-generic-issue.json (env $GENERIC_ISSUE_JSON)
Опции:
-s, --settings Путь к файлу настроек. Например -s=./generic-issue-settings.json (env $GENERIC_ISSUE_SETTINGS_JSON)
--src Путь к каталогу с исходниками. Например -src=./src (env $SRC)
-r, --remove_support Удаляет из отчетов файлы на поддержке. Например -r=0
0 - удалить файлы на замке,
1 - удалить файлы на замке и на поддержке
2 - удалить файлы на замке, на поддержке и снятые с поддержки (env $GENERIC_ISSUE_REMOVE_SUPPORT)
--filter_by_subsystem Фильтр по подсистеме в формате [+/-]Подсистема1.Подсистема2[*][^].
Например, исключение подсистем СтандартныеПодсистемы и ПодключаемоеОборудование и всех дочерних объектов
'-СтандартныеПодсистемы*, -ПодключаемоеОборудование*' (env $GENERIC_ISSUE_FILTER_BY_SUBSYSTEM)
-f, --Format Формат отчета (env $STEBI_REPORT_FORMAT) (по умолчанию Generic_Issue)
Generic_Issue: Формат Generic issue для SonarQube версии 10.2-. Подробнее: https://docs.sonarsource.com/sonarqube/10.2/analyzing-source-code/importing-external-issues/generic-issue-import-format/
Generic_Issue_10_3: Формат Generic issue для SonarQube версии 10.3+. Подробнее: https://docs.sonarsource.com/sonarqube/10.3/analyzing-source-code/importing-external-issues/generic-issue-import-format/
-d, --debug Режим отладки
Пример команды:
@set GENERIC_ISSUE_SETTINGS_JSON=%1conf\settigs.json
@set GENERIC_ISSUE_JSON=%1acc-generic-issue.json,%1bsl-generic-json.json,%1edt-json.json
@set SRC=%1src
@call stebi convert "%1temp\edt-result.out" "%1edt-json.json"
@call stebi transform -r=1
Команда: g, get_version
Выводит версию конфигурации
Строка запуска: stebi g [ОПЦИИ]
Опции:
--src Путь к каталогу с исходниками. Например --src=./src (env $SRC)