Как стать автором
Обновить

Комментарии 5

Но ведь для C++ проектов изменение одного файла может отразиться вообще на всей кодовой базе, а вы, судя по описанию, только этот файл анализировать будите. Например, добавится какой-нибудь дефайн или include. Как такие ситуации обрабатываются?

Вы правы, что C++ самый неудобный в этом плане. Но мы решили сделать полноценный анализ зависимостей заголовочных файлов, как это делает сборочная система.

При модификации исходного файла — будет проверяться он. При модификации заголовочного файла — все включающие его исходники. Чтобы это работало, первый раз выполняется анализ всех файлов, чтобы создать файл зависимостей. Отсюда требование к кэшированию каталога с этим файлом. Анализируются обслютно все зависимости от изменённых файлов, чтобы обновить связи, но результаты анализа выводятся только для указанных в PR файлах.
Наблюдаю проблему с --indicate-warnings. Даже если включён --disableLicenseExpirationCheck, в последний месяц лицензии мы всё равно получаем предупреждение в отчёте, из-за которого plog-converter с включенным --indicate-warnings выдает код ошибки 2. Как же тогда использовать этот флаг, если целый месяц с исправной лицензией будет падать сборка?
Отвечу сам, вроде --excludedCodes Renew это решает.
Эта проблема исправлена в бете. Вы можете скачать её тут.
В конфиге нужно будет изменить строки:
wget -q -O - https://files.viva64.com/etc/pubkey.txt \
  | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/viva64.list \
  https://files.viva64.com/etc/viva64.list

sudo apt-get update && sudo apt-get -y install pvs-studio

На:
sudo curl -qo /tmp/pvs-studio-beta.deb http://files.viva64.com/beta/pvs-studio-7.04.34889.253-amd64.deb
sudo dpkg -i /tmp/pvs-studio-beta.deb
sudo apt-get -f install
Зарегистрируйтесь на Хабре , чтобы оставить комментарий