Closed soniccat closed 12 years ago
Can you add a -v to the command and see if it reports the files which are causing the errors. If you find a file send me the code from the line/character range mentioned in the error. [ e.g. Lexical error at line 29, column 17. ]
Sorry but I don't know java and may do something wrong. I added -v. But the output in console is the same and doesn't show file name.
java -classpath "/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/projiPad/CPD/ObjCLanguage-0.0.2-SNAPSHOT.jar:/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/projiPad/CPD/pmd.jar" net.sourceforge.pmd.cpd.CPD -v --minimum-tokens 100 --files "/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/projiPad" --language ObjectiveC --encoding UTF-8 --format net.sourceforge.pmd.cpd.XMLRenderer > "/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/cpd-output.xml"
Download release 0.0.5 and give it a shot. Paul Taykalo submitted a fix for 0x string literals and a few other things. I also added some additional logging which can be enabled by adding '-DObjC-CPD-LoggingEnabled=YES' to the CPD command. If you enable logging and use XML output the XML may be messed up but you should get filename info as the errors are generated.
I updated the blog post with an example of enabling logging: http://deadmeta4.com/2011/05/17/objective-c-copy-paste-detection-using-jenkins/
There is only : “\n” (10), after : “\” problem. Cannot reproduce it :) All others were fixed in 0.0.5
Thanks guys. ObjCLanguage-0.0.5-SNAPSHOT.jar fixed all errors which I had ). No error messages in console.
I print: java -classpath “/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/projiPad/CPD/ObjCLanguage-0.0.2-SNAPSHOT.jar:/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/projiPad/CPD/pmd.jar” net.sourceforge.pmd.cpd.CPD –minimum-tokens 100 –files “/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/projiPad” –language ObjectiveC –encoding UTF-8 –format net.sourceforge.pmd.cpd.XMLRenderer > “/Users/username/iPhoneProjects/projiOS/projiPad.v2/trunk/cpd-output.xml”
and have: com.deadmeta4.cpd.generated.TokenMgrError: Lexical error at line 2431, column 40. Encountered: “x” (120), after : “\”\” at com.deadmeta4.cpd.generated.ObjCParserTokenManager.getNextToken(ObjCParserTokenManager.java:6164) at com.deadmeta4.cpd.generated.ObjCParser.getNextToken(ObjCParser.java:7720) at net.sourceforge.pmd.cpd.ObjectivecTokenizer.tokenize(ObjectivecTokenizer.java:31) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:106) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:72) at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:82) at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:67) at net.sourceforge.pmd.cpd.CPD.main(CPD.java:180) com.deadmeta4.cpd.generated.TokenMgrError: Lexical error at line 61, column 110. Encountered: “\n” (10), after : “\” at com.deadmeta4.cpd.generated.ObjCParserTokenManager.getNextToken(ObjCParserTokenManager.java:6164) at com.deadmeta4.cpd.generated.ObjCParser.getNextToken(ObjCParser.java:7720) at net.sourceforge.pmd.cpd.ObjectivecTokenizer.tokenize(ObjectivecTokenizer.java:31) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:106) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:72) at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:82) at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:67) at net.sourceforge.pmd.cpd.CPD.main(CPD.java:180) com.deadmeta4.cpd.generated.TokenMgrError: Lexical error at line 13, column 11. Encountered: “$” (36), after : “” at com.deadmeta4.cpd.generated.ObjCParserTokenManager.getNextToken(ObjCParserTokenManager.java:6164) at com.deadmeta4.cpd.generated.ObjCParser.getNextToken(ObjCParser.java:7720) at net.sourceforge.pmd.cpd.ObjectivecTokenizer.tokenize(ObjectivecTokenizer.java:31) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:106) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:72) at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:82) at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:67) at net.sourceforge.pmd.cpd.CPD.main(CPD.java:180) com.deadmeta4.cpd.generated.TokenMgrError: Lexical error at line 495, column 11. Encountered: “$” (36), after : “” at com.deadmeta4.cpd.generated.ObjCParserTokenManager.getNextToken(ObjCParserTokenManager.java:6164) at com.deadmeta4.cpd.generated.ObjCParser.getNextToken(ObjCParser.java:7720) at net.sourceforge.pmd.cpd.ObjectivecTokenizer.tokenize(ObjectivecTokenizer.java:31) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:106) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:72) at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:82) at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:67) at net.sourceforge.pmd.cpd.CPD.main(CPD.java:180) com.deadmeta4.cpd.generated.TokenMgrError: Lexical error at line 49, column 9. Encountered: “$” (36), after : “” at com.deadmeta4.cpd.generated.ObjCParserTokenManager.getNextToken(ObjCParserTokenManager.java:6164) at com.deadmeta4.cpd.generated.ObjCParser.getNextToken(ObjCParser.java:7720) at net.sourceforge.pmd.cpd.ObjectivecTokenizer.tokenize(ObjectivecTokenizer.java:31) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:106) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:72) at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:82) at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:67) at net.sourceforge.pmd.cpd.CPD.main(CPD.java:180) com.deadmeta4.cpd.generated.TokenMgrError: Lexical error at line 70, column 25. Encountered: “$” (36), after : “” at com.deadmeta4.cpd.generated.ObjCParserTokenManager.getNextToken(ObjCParserTokenManager.java:6164) at com.deadmeta4.cpd.generated.ObjCParser.getNextToken(ObjCParser.java:7720) at net.sourceforge.pmd.cpd.ObjectivecTokenizer.tokenize(ObjectivecTokenizer.java:31) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:106) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:72) at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:82) at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:67) at net.sourceforge.pmd.cpd.CPD.main(CPD.java:180) com.deadmeta4.cpd.generated.TokenMgrError: Lexical error at line 29, column 17. Encountered: “$” (36), after : “” at com.deadmeta4.cpd.generated.ObjCParserTokenManager.getNextToken(ObjCParserTokenManager.java:6164) at com.deadmeta4.cpd.generated.ObjCParser.getNextToken(ObjCParser.java:7720) at net.sourceforge.pmd.cpd.ObjectivecTokenizer.tokenize(ObjectivecTokenizer.java:31) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:106) at net.sourceforge.pmd.cpd.CPD.add(CPD.java:72) at net.sourceforge.pmd.cpd.CPD.addDirectory(CPD.java:82) at net.sourceforge.pmd.cpd.CPD.addRecursively(CPD.java:67) at net.sourceforge.pmd.cpd.CPD.main(CPD.java:180)