Правило SonarQube S1451 Должны быть определены заголовки авторских прав и лицензий - нет регулярного выражения для JavaScript

В нашем проекте используются как Java, так и JavaScript. Для Java мы настроили это правило на использование регулярного выражения, чтобы нам не приходилось жестко кодировать даты авторских прав.

Однако при активации правила для JavaScript в конфигурации нет конфигурации «isRegularExpression», поэтому здесь я не могу сделать то же самое.

Похоже, что правило разрешает только статический текст и, более того, требует всего заголовка (от начала комментария заголовка до конца). Я думаю, что это так, потому что я попробовал обходной путь, установив текст для поиска...

  /**
    * Copyright (c)

(остановившись на датах), но это не сработало. Кто-нибудь знает обходной путь для этого?


person Sid    schedule 27.05.2016    source источник


Ответы (2)


Есть тикет https://jira.sonarsource.com/browse/SONARJS-531 , это должно быть исправлено в следующей версии плагина (2.14)

person Elena Vilchik    schedule 30.05.2016
comment
Елена, спасибо - возможно, мы сейчас будем использовать жестко закодированную целую строку и будем следить за этим тикетом (если мы не реализуем пользовательское правило). - person Sid; 31.05.2016

текущее правило для FileHeaderCheck содержит следующий код, показывающий, что он ищет совпадение полной строки. Таким образом, для соответствия не требуется полный комментарий, но требуется полная строка. Что тебе здесь не поможет. Если ваш комментарий состоит из нескольких строк, это может быть. Потому что вы можете установить правило, соответствующее второй строке, которая не изменится по годам.

if (!line.equals(expectedLines[i])) {

Плагин правил JavaScript позволяет расширять правила с помощью Java. Это означает, что вы можете написать свое собственное правило, чтобы делать то, что вы хотите.

person Jeanne Boyarsky    schedule 29.05.2016
comment
Спасибо, Жанна, посмотрим, интересно :) - person Sid; 31.05.2016
comment
@ Сид рад, что вы нашли полезными и мой ответ, и ответ Елены. Не стесняйтесь голосовать за оба. Это способ выразить признательность за переполнение стека. (Также принято принимать один из ответов, чтобы показать, что вы получили ответ) - person Jeanne Boyarsky; 01.06.2016
comment
на самом деле, это не удалось для меня. Затем, когда я провел еще немного исследований и нашел (я думаю) копию источника проверки заголовка и где я понял, что вы имели в виду «мне нужно предоставить только одну строку из заголовка», реальность такова, что вам нужно « предоставьте все строки заголовка от начала до строки, которую вы хотите проверить, включительно». p.s. спасибо за выделение моментов по использованию форума, я новичок в этом :) - person Sid; 01.06.2016
comment
Ой. Читая код снова, я вижу это сейчас. Извините за плохую информацию. И вы можете получить совет по использованию форума. Быть новым - это как учиться! - person Jeanne Boyarsky; 02.06.2016
comment
Спасибо Линн. У меня это работает сейчас, включая первые 2 строки. Я подожду вышеупомянутого исправления и тогда переключусь на регулярное выражение (надеюсь, это произойдет до следующего года, поэтому мне не нужно обновлять все наши источники :) - person Sid; 06.06.2016