我想将CPD(复制粘贴检测)集成到我的iOS项目中.我读到了它
here和
here.
要在代码中自动确定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文件.但是在编译时带错了“Command / bin / sh失败,退出代码为126”.这是日志副本http://pastebin.com/359k1Wni
我从example project中获取了代码
错误发生然后我评论这个字符串:
${BUILT_PRODUCTS_DIR} -cpd-xml "${FULL_PATH_TO_CPD_XML_OUTPUT}"
我试图找到有关此错误的信息,但发现只有少数这些问题没有答案.我对bash脚本没什么了解.任何建议我都会很满意.
感谢您的关注.
附:写下脚本的作者:
In order to integrate XCode and the CPD,we will add to the Build
Phases target with the project,Run Script phase,conventionally
consisting of several parts: Actually calling cpd Parsing
cpd-output.xml Output in the “right format”
解决方法
126 for “command not executable”
# Running self :) ${BUILT_PRODUCTS_DIR} -cpd-xml "${FULL_PATH_TO_CPD_XML_OUTPUT}"
看起来$BUILT_PRODUCTS_DIR}不可执行你能用这个var的值更新吗?