Как игнорировать папки с помощью cpplint

Как вы говорите cpplint игнорировать папки с определенным именем?

я имею .build папки, которые содержат автоматически сгенерированные файлы, и когда я запускаю cpplint --recursive src он просматривает эти папки и находит массу ошибок, которые меня не волнуют.

Я пытался использовать --exclude параметр, как:

cpplint --recursive --exclude=.build src

но это не имеет никакого эффекта.

Я также попробовал:

cpplint --recursive --exclude=*/.build src

и другие варианты, которые используют подстановочные знаки, но они также не имеют никакого эффекта.

1 ответ

Решение

Попробуй это:

./cpplint.py \
    $( find . -name \*.h -or -name \*.cc | grep -vE "^\.\/<excluded_folder_name>\/" )

Вы можете использовать этот аргумент вместе с вашей командой cpplint:

find $PWD -not \( -path $PWD/<folder1> -prune \) -not \( -path $PWD/<folder2> -prune \) -not \( -path $PWD/<folder3> -prune \) -name *.cpp

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

Я использую следующую команду:

cpplint --exclude ./src/autogenerated --recursive ./src/ > /dev/null 2> ./codestyle.log

В моем случае, cpplint будет работать во всех ./src папка рекурсивно, но будет опускать ./src/autogenerated dir
весь стандартный вывод будет перенаправлен в корзину /dev/null, а все ошибки, которые я хочу исправить, будут перенаправлены в мой файл журнала ./codestyle.log

cpplint --exclude=fold/ * --exclude=fold/ * / * --exclude=fold/ * / * / * 
   exam.c
Другие вопросы по тегам