将maven checkstyle迁移到gradle

时间:2015-09-24 03:04:40

标签: gradle checkstyle

我试图从maven迁移到gradle,在checkstyle中出现了一个奇怪的错误。

buildscript {
    repositories {
        mavenLocal()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'io.spring.gradle:dependency-management-plugin:0.5.3.RELEASE'
    }
}

apply plugin: 'io.spring.dependency-management'
apply plugin: 'java'
apply plugin: 'checkstyle'


jar {
    version = '0.1.0-SNAPSHOT'
}

repositories {
    mavenLocal()
    jcenter()
    mavenCentral()
}

dependencyManagement {
    imports {
        mavenBom 'io.spring.platform:platform-bom:1.1.3.RELEASE'
    }
}

dependencies {
    checkstyle 'com.puppycrawl.tools:checkstyle:6.10.1'
    compile('org.springframework.data:spring-data-commons')
    testCompile('junit:junit')
    testCompile('org.mockito:mockito-core')
    testCompile('nl.jqno.equalsverifier:equalsverifier:1.7.5')
}

test {
    maxParallelForks = 4
}

这是我得到的错误

gradle build                                                                           slave-vi
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:assemble UP-TO-DATE
:checkstyleMain FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkstyleMain'.
> Unable to create a Checker: unable to read /home/xenoterracide/IdeaProjects/entity-api/config/checkstyle/checkstyle.xml - unable to parse configuration stream - Property ${checkstyle.cache.file} has not been set

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 8.688 secs

如何让gradle使用最新版本的checkstyle?值得注意的是我的checkstyle.xml确实适用于maven checkstyle 6.10.1和6.8

2 个答案:

答案 0 :(得分:1)

我在配置中找到了这个

    <property name="cacheFile" value="${checkstyle.cache.file}"/>

我不记得添加它,也许它是sun配置文件的一部分,恰好被maven插件填充。

答案 1 :(得分:0)

这里的问题是你使用的是checkstyle插件,但你没有为它指定任何配置。 在这里你应该添加

   checkstyle {
  ignoreFailures = true
  configFile = file("/home/jenkins/scripts/checks.xml")
   }

你应该在上面提到的位置找到你的检查样式文件(你可以改成你想要的任何东西)。

以下是带有checkstyle,PMD,findbugs,jacoco等的示例gradle文件。 http://www.scmtechblog.net/2016/01/sample-gradle-file.html

您可以将信息添加到build.gradle中以使用它。