2

我正在尝试强制 checkstyle 插件使用存储在不同 jar 文件中的 xml 配置(作为依赖项)。

我创建了一个只包含该配置文件的包。

在 build.gradle 我有以下配置:

apply plugin: 'checkstyle'

checkstyle {
    checkstyleMain {
        classpath += configurations.checkstyleDep
    }
    checkstyleTest {
        classpath += configurations.checkstyleDep
    }
    configFile = new File(getClass().getResource("/checkstyle.xml").toURI())
    println(configFile)
}

configurations {
    checkstyleDep
}

dependencies {
    checkstyleDep "com.example:checkstyle-common:1.0"
}

不幸的是,这不会导致 gradle 看到依赖关系。

我的代码有什么问题?有一个更好的方法吗?

4

2 回答 2

0

从 gradle 2.2 开始,您可以将配置 xml 设置为字符串。

我做了

checkstyle {
    config = getClass().getResource("checkstyle.xml").text
}
于 2016-04-11T07:49:45.307 回答
0

考虑这种方法(Gradle 5.0):

# add the checkstyle plugin
plugins {
    id "java"
    id "checkstyle"
}

# load the dependency that has the rules
configurations {
    checkstyleRules
}

dependencies {
    checkstyleRules "com.github.ngeor:checkstyle-rules:3.3.0"
}

# configure checkstyle
checkstyle {
    toolVersion "8.24"
    config project.resources.text.fromArchiveEntry(configurations.checkstyleRules, "com/github/ngeor/checkstyle.xml")
}

于 2019-10-31T13:21:44.577 回答