Я хочу интегрировать CPD (Copy-Paste-Detection) в мой проект iOS.Я читал об этом здесь и здесь .
Для автоматического определения CopyPaste в коде я использую скрипт bash:
echo "Checking files in ${SOURCE_ROOT}"
JARS_DIR=${PROJECT_DIR}/CPD
FULL_PATH_TO_CPD_XML_OUTPUT=${PROJECT_DIR}/cpd-output.xml
# Running CPD
java -classpath "${JARS_DIR}/ObjCLanguage-0.0.5-SNAPSHOT.jar:${JARS_DIR}/pmd.jar" net.sourceforge.pmd.cpd.CPD --minimum-tokens 100 --files "${SOURCE_ROOT}" -v --language ObjectiveC --encoding UTF-8 --format net.sourceforge.pmd.cpd.XMLRenderer > "${FULL_PATH_TO_CPD_XML_OUTPUT}"
# Running self :)
${BUILT_PRODUCTS_DIR} -cpd-xml "${FULL_PATH_TO_CPD_XML_OUTPUT}"
Токод создать файл cpd-output.xml.Но возьмите мне ошибку во время компиляции «Команда / bin / sh завершилась с кодом выхода 126».Вот копия журнала http://pastebin.com/359k1Wni Я взял код из этого примера проекта Произошла ошибка, затем я комментирую эту строку:
${BUILT_PRODUCTS_DIR} -cpd-xml "${FULL_PATH_TO_CPD_XML_OUTPUT}"
Я пытался найти какую-либо информацию оэта ошибка, но нашел только некоторые из этих проблем без ответов.Я ничего не знаю о скриптах Bash.Буду рад любым советам.Спасибо за ваше внимание.
PS Автор следующего сценария написан:
Чтобы интегрировать XCode и CPD, мы добавим к цели Build Phases проект,Фаза Run Script, обычно состоящая из нескольких частей: Фактический вызов cpd Parsing cpd-output.xml Вывод в «правильном формате»