SonarQube 1C (BSL) - Выпуск релиза 1.14

sonar-bsl-plugin

#1

1.14

Правила для метаданных

  • Добавлен анализатор описания метаданных для развитие анализа метаданных
    • требуется дополнительная настройка сканирования. См. ниже Настройка сканирования для анализа метаданных
  • Новые правила анализа метаданных:
    • Представление объекта не соответствует имени метаданного
    • Длина наименования объекта метаданных больше N символов
    • Длина наименования объекта процедуры/функции больше N символов
    • Присутствие защищенных, запароленных модулей

Новые правила

  • Использование запроса в цикле в рамках одного модуля
  • Несколько вложенных и последовательно идущих “Если”
  • Запись константы внутри транзакции проведения документа/из модуля документа
  • Использование функции “ОткрытьМодально”
  • Использование функции “НайтиПоРеквизиту”
  • Проверка наличие метода, объявленного при создании оповещения

Исправления/дополнения

  • Улучшена производительность анализа
  • Улучшена работа с АПК - добавлено расширение для работы в АПК, позволяющее выполнять автозапуск АПК и подготовку файла результатов АПК
    • в поставку включена документация на использование расширения и подключение файла результатов АПК к сканированию исходников с помощью нашего продукта
  • Восстановлена работоспособность XPATH-правил
  • Доработан парсер языка для более точного учета инструкций препроцессора
  • Уточнен показ замечаний для правил
    • Одинаковый код во взаимоисключаемых ветках ветвления кода
    • Одинаковые условия в последовательности вида "Если (....) ИначеЕсли (....) ИначеЕсли (....)".
  • Уточнен разбор запросов
  • Правила на использование “НайтиПоКоду” и “НайтиПоНаименованию” стали отлавливать больше проблемных ситуаций.

Настройка сканирования для анализа метаданных

Для анализа метаданных продукту требуется перенастроить анализ xml-файлов продукта в файле “sonar-project.properties”.

Пример настройки этого файла

  sonar.sources=./src/cf
  sonar.inclusions=**/*.bsl,**/*.os,**/*.xml
  sonar.exclusions=**/*.html
  sonar.lang.patterns.xml=**/*.xsd,**/*.xsl

Строка с “sonar.inclusions нужна для указания проверяемых файлов.
Строка с “sonar.lang.patterns.xml” нужна для отключения проверки xml-файлов двумя плагинами (SonarBSL plugin и XML plugin), что приводит к аварийной остановке сканирования.

Ссылка на описание предыдущего релиза:

Всем клиентам обновление уже отправлено.

Также новый релиз развернут на всех наших публичных и непубличных облачных серверах SonarQube.

“Облачные” клиенты уже начали пользоваться новым релизом.


#2

@artbear
Ложное срабатывание bsl:UnusedMethod
Выдало замечание для модуля объекта справочника
Удалите неиспользуемую процедуру/функцию ПередЗаписью

И аналогично на другие процедуры-обработчики стандартных событий появились замечания:
Удалите неиспользуемую процедуру/функцию ОбработкаЗаполнения, ПередСозданиемЗадач и т.д.


#3

Также пофиксились старые замечания по правилу bsl:CodeOutsideRegion (Поместите код в область), хотя областей в модули никто не добавлял.
В модуле есть комментарии вида
// { начало области
// } конец области
Они теперь считаются за области?


#4

Для стандартных событий также выдаются замечания на неиспользуемый параметр
bsl:UnusedParameter
Удалите неиспользуемый параметр Отказ из процедуры/функции ПередЗаписью


#5

Нет, не считаются.
В части правил с областями мы постарались сохранить именно то поведение, которое было раньше.

Проверил. На 46 строке тест ожидаемо упал:
image

Если не сложно, опишите подробнее (или пример модуля приведите), что именно изменилось у вас.


#6

по областям перепроверю.
там почему-то замечания “заменились”. т.е. старые замечания по правилу закрылись, но были созданы новые


#7

Номер строки, к которому привязывается замечание, изменился в некоторых правилах по областям.


#8

Добрый день, коллеги с наступающим Вас, скажите пожалуйста не могу найти статью по инкрементной загрузке в сонар, не могли бы вы скинуть ссылку на нее?


#9

про вот это есть новости?)


#10

Коллеги, оказывается, из-за особенностей форума неверно указаны новые настройки для сканирования с новыми правилами - пропали две звездочки и т.п.

Исправил в шапке и показываю здесь

  sonar.sources=./src/cf
  sonar.inclusions=**/*.bsl,**/*.os,**/*.xml
  sonar.exclusions=**/*.html
  sonar.lang.patterns.xml=**/*.xsd,**/*.xsl

#11

@a.nenashev Непонятно, поясни.


#12

После установки 1.14 массовые ложные срабатывания правил bsl:UnusedMethod для стандартных событий и bsl:UnusedParameter для стандартных параметров.
Писал тебе в почту и на help@silverbulleters.org, но фидбека толком никакого, кроме обещания от @JuliaBulanova в тг “уточнить у разработчиков”.
У себя откатываться на 1.13 не стали, правила отключили полностью пока.


#13

а я думал, что у меня это из-за EDT формата…


#14

Коллеги, повторяю вопрос, по инкрементной загрузке.


#15

@artbear плагин 1.14 поддерживает работу на какой версии сервере SonarQube ?


#16

Все версии SonarQube от 6.7 и выше