Giter Club home page Giter Club logo

sonar-bsl-plugin-community's Introduction

SonarQube 1C (BSL) Community Plugin

Actions Status Quality Gate Maintainability Coverage

Download Download night build

telegram

Поддержка языка 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

По умолчанию в качестве анализатора используется встроенный провайдер диагностик из 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

sonar-bsl-plugin-community's People

Contributors

asosnoviy avatar dependabot[bot] avatar eightm avatar hawk911 avatar lchagelishvili avatar mironovdmitry avatar mt-gitlocalize avatar nixel2007 avatar otymko avatar pzhgulev avatar qtlex avatar theshadowco avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.