【发布时间】:2013-12-07 22:18:55
【问题描述】:
我想在我的 Gradle 构建中使用复制/粘贴检测器。
这就是为什么我决定将以下 Ant 任务(我发现 here)翻译成 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,堆栈跟踪是here。
如何使用 Gradle 1.9 使用复制/粘贴检测器扫描我的源代码?
谢谢!
【问题讨论】: