2011-08-10 9 views
0

これはPMDスタティックアナライザの機能です。コピー&ペースト検出器です。スタティックコードアナライザの使用方法CPD ignoreLiteralsとignoreIdentifiersをコマンドラインから無視しますか?

はい、私はhttp://pmd.sourceforge.net/cpd.htmlをよく読んでいます。

しかし、ant-taskからCPDを実行した場合は、ignoreLiteralsignoreIdentifiersを指定して作業を微調整できます。コマンドラインを使用してこれらのキーを指定するにはどうすればよいですか?

答えて

1

現在、私はそれができないと思います(pmd 4.2.6とpmd 4.1.1)。

簡単Properties目的はignoreLiteralsignoreIdentifiers設定を含むが、Antタスク(CPDTask)がないように、コマンドラインCPD.main()方法は、LanguageFactoryに任意のプロパティオブジェクトを通過しません。さらに、私が正しい場合、CPDTaskLanguageFactory.createLanguage(String language, Properties properties)メソッドにこれらのプロパティを渡しますが、このメソッドはプロパティ引数を使用しません。したがって、IMO ignoreLiteralsignoreIdentifiersの設定はantタスクによって無視されます。

Here is an old issue about thisまだ開いています。パッチが正しいように見えますが、おそらくまだ動作しています。残念ながら、コマンドラインCPDクラスの修正は含まれていません。おそらく、それはantタスクを修正します。とにかく、もしあなたが本当にこの機能を必要としているのであれば、これらの問題を解決するのは難しくありません。

0

PMD4.3の注釈(sourceforge)によれば、この問題は修正されています。

関連する問題