iOS: OCLint не работает с xcode 9.2
Мы интегрировали OCLint в один из наших проектов с помощью скрипта ниже.
source ~/.bash_profile
export PATH=$PATH:/usr/local/bin/
if [ -z "${SCHEME+x}" ]
then
export SCHEME="${PROJECT_NAME}"
fi
if [ -z "${WORKSPACE+x}" ]
then
export WORKSPACE="${PROJECT_NAME}.xcworkspace"
fi
cd "${SOURCE_ROOT}"
# Check if xctool and oclint are installed
if ! which -s xctool
then
echo 'error: xctool not found, install e.g. with homebrew'
exit 1
fi
if ! which -s oclint-json-compilation-database
then
echo 'error: OCLint not installed, install e.g. with homebrew cask'
exit 2
fi
# Cleanup before building
rm -f compile_commands.json
xctool -workspace "${WORKSPACE}" -scheme "${SCHEME}" clean > /dev/null
# Build and analyze
# OCLint Rule Index: http://docs.oclint.org/en/dev/rules/index.html
xctool -workspace "${WORKSPACE}" -scheme "${SCHEME}" -reporter json-compilation-database:compile_commands.json build
oclint-json-compilation-database -e Pods -- -max-priority-1=100000 -max-priority-2=100000 -max-priority-3=100000 \
# Final cleanup
rm -f compile_commands.json
Он выдает "ноль" предупреждений и "ноль" ошибок, хотя код содержит множество предупреждений и ошибок.
Кажется, что он работал нормально со старыми XCodes, но не работал с XCode 9.2.
Может кто-нибудь сказать нам, какие изменения необходимы для идеального запуска OCLint в xcode 9.2?
Мы ожидаем, что xcode покажет предупреждения при создании схемы OCLint. Но мы не получаем никакого результата сейчас.
Пожалуйста, направляйте нас, если мы делаем что-то не так.
1 ответ
Мы столкнулись с подобной проблемой несколько дней назад, когда мы обновили xcode 8.2.1 до xcode 9.2 с oclint 0.11. Можете ли вы попробовать обновить oclint-0.13.1, повторить попытку и посмотреть, поможет ли это.
Есть также другие твики, но вы не уверены, что подойдет или нет?
https://github.com/oclint/oclint/issues/245(найдите тексты для -fmodules и -gmodules и удалите все совпадения.)
https://github.com/oclint/oclint/issues/302(установите CLANG_ENABLE_MODULE_DEBUGGING=NO)