我想在我的Gradle构建中使用复制/粘贴检测器。
这就是为什么我决定将以下Ant任务(我在这里找到)翻译成Gradle语法的原因:
<target name="cpd">
<taskdef name="cpd" classname="net.sourceforge.pmd.cpd.CPDTask" />
<cpd minimumTokenCount="100" outputFile="/home/tom/cpd.txt">
<fileset dir="/home/tom/tmp/ant">
<include name="**/*.java"/>
</fileset>
</cpd>
</target>
这是当前翻译的样子:
check << {
ant.taskdef(name: 'cpd', classname: 'net.sourceforge.pmd.cpd.CPDTask', classpath: configurations.pmd.asPath)
ant.cpd(minimumTokenCount: '100', outputFile: file('build/reports/pmd/copyPasteDetector.txt').toURI().toString()) {
fileset(dir: 'src'){
include(name: '**.java')
}
}
}
很不幸地,调用gradle check
会产生一个net.sourceforge.pmd.cpd.ReportException
,具体的堆栈跟踪信息在这里。
我该如何使用Gradle 1.9来使用复制/粘贴检测器扫描我的源代码?
谢谢!