Как исключить файлы и папки при использовании Fortify с MSBuild - PullRequest
0 голосов
/ 28 ноября 2018

Я "перевожу" мои источники с помощью msbuild, используя следующую команду:

sourceanalyzer -b sample -exclude "**/*.xml" "**/Test/**" msbuild sample.sln /maxcpucount:1

После этого я анализирую источник с помощью:

sourceanalyzer -b sample -scan -f result.fpr

Решение sample.sln содержитмного тестовых проектов тоже.Эти проекты дают много результатов, которые меня не интересуют. Как я могу исключить эти проекты?Все они находятся в подпапках «Тест».Я попробовал ключ -exclude без удачи.Я предполагаю, что это игнорируется при сборке с msbuild.

Анализатор также выводит результаты для файлов xml, которые поставляются со сторонними библиотеками.Это интересно, но я не хочу, чтобы они были в моем отчете.Исключение также не работает здесь.

1 Ответ

0 голосов
/ 08 января 2019

вот официальная документация Fortify (от версии 17.10):

Спецификаторы файлов - это выражения, которые позволяют передавать длинный список файлов в Fortify Static Code Analyzer с использованием подстановочных знаков.Fortify Static Code Analyzer распознает два типа символов подстановки: один символ звездочки () соответствует части имени файла, а символы двойной звездочки (**) рекурсивно соответствуют каталогам.Вы можете указать один или несколько файлов, один или несколько файловых спецификаторов или комбинацию файлов и файловых спецификаторов. *

<files> | <file specifiers>

В следующей таблице описаны различные формы файловых спецификаторов:

  • dirname: все файлы, найденные в названном каталоге или любых подкаталогах.
  • dirname / ** / Example.java: любой файл с именем Example.java, найденный в указанном каталоге или любых подкаталогах.
  • dirname / *. Java: любой файл с расширением .java найден в названном каталоге.
  • dirname / ** / *. Java: любой файл с расширением .java найден вименованный каталог или любые его подкаталоги.
  • / ** / *: все файлы, найденные в названном каталоге или любых подкаталогах (такие же как).

Примечание: Windows имногие оболочки Unix автоматически расширяют параметры, содержащие символ звездочки (), поэтому вы должны заключать выражения для описания файлов в кавычки.Кроме того, в Windows вы можете использовать символ обратной косой черты () в качестве разделителя каталогов вместо прямой косой черты (/).*

Спецификаторы файлов не применяются к языкам C, C ++ или Objective-C ++.

В соответствии с приведенной выше документацией вам нужно будет пройти все пути к подпапкам «Test»:

-exclude path1/**/*|path2/**/*|etc..

, но в последней строке документации говорится, что она не будет поддерживаться в C / C ++ /ObjectiveC ++.

...