Как игнорировать папки с помощью 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