我的笔记本电脑上有一个java项目,我用gradle构建它.所有依赖项都在文件系统中,因为我在处理它时大部分时间都在离线.反正他们并不是太多.
的build.gradle:
repositories {
flatDir {
dirs "${rootDir}/lib/main", "${rootDir}/lib/test", "${rootDir}/lib/quality"
}
}
ext.configDir = "${rootDir}/gradle/config"
ext.scriptsDir = "${rootDir}/gradle/scripts"
Run Code Online (Sandbox Code Playgroud)
现在我需要对我的代码添加一些质量检查.我很幸运能够通过checkstyle检查PMD检查,但不是那么幸运.gradle分发的例子,我读过的动作书中的gradle,gradle文档似乎不是火箭科学,但是我不能让它工作变得非常令人沮丧,特别是那些本来是五分钟任务的蚂蚁.无论如何这是checkstyle的gradle.build条目:
apply from: "${scriptsDir}/checkstyle.gradle"
Run Code Online (Sandbox Code Playgroud)
这是我的checkstyle.gradle(部分显示):
apply plugin: 'checkstyle'
ext.checkstyleConfigDir = new File(configDir, "checkstyle")
ext.checkstyleReportsDir = new File(reportsDir, "checkstyle")
ext.xslStyleFile = new File(checkstyleConfigDir, "checkstyle-noframes.xsl")
checkstyle {
toolVersion = '6.10.1'
configFile = new File(checkstyleConfigDir, 'sun_checks.xml')
ignoreFailures = true
showViolations = true
}
checkstyleMain.doLast {
def main = new File(checkstyleReportsDir, "main.xml")
if (main.exists()) {
ant.xslt(in: main, style: xslStyleFile, out: new File(checkstyleReportsDir, "main.html"))
}
}
dependencies {
checkstyle( 'com.puppycrawl.tools:checkstyle:6.10.1' )
}
Run Code Online (Sandbox Code Playgroud)
但是,在运行我的构建时,checkstyle任务会失败,如下所示:
* What went wrong:
Execution failed for task ':checkstyleMain'.
> java.lang.ClassNotFoundException: com.puppycrawl.tools.checkstyle.CheckStyleTask
Run Code Online (Sandbox Code Playgroud)
查看checkstyle-6.10.1.jar,我可以看到没有这样的类,com.puppycrawl.tools.checkstyle.CheckStyleTask但有一个被调用com.puppycrawl.tools.checkstyle.ant.CheckStyleAntTask,我怀疑这是gradle应该调用的那个.但是我不知道如何让gradle调用它.
我唯一怀疑的是我toolVersion = '6.10.1'没有正确定义,并且gradle使用默认调用.但是,所有gradle api文档都说明了这一点:"String toolVersion要使用的代码质量工具的版本."
所以我做错了什么,我应该如何解决它.
提前感谢您的意见.
你在Gradle(GRADLE-3314)中遇到了一个错误.Gradle 2.7中已修复此问题,该问题很快就会出来.您是否介意使用最新的2.7版本来验证问题是否已解决?
您可以从gradle release candidate登录页面获取Gradle 2.7-rc-2 .
| 归档时间: |
|
| 查看次数: |
3957 次 |
| 最近记录: |