我正在尝试将checkstyle插件应用到我的gradle项目中。其配置处于单独的共享jar依赖项中:
project.apply plugin: StaticAnalysisPlugin
class StaticAnalysisPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.apply plugin: 'checkstyle'
project.configurations {
codingStandardsConfig
}
project.dependencies {
codingStandardsConfig 'com.sample.tools:coding-standards:1.+:@jar'
}
def checkstyleConfigFileLocation = "classpath:sample-checkstyle-config.xml"
project.checkstyle {
toolVersion = '6.3'
project.logger.debug "$project Using checkstyle version $toolVersion."
project.logger.debug "$project Using checkstyle config from: ${checkstyleConfigFileLocation}"
config = project.resources.text.fromFile(checkstyleConfigFileLocation)
}
project.checkstyleMain.source = "src/main/java"
project.checkstyleTest.exclude "**/*"
}
}
配置文件位于编码标准jar中,但我不确定如何将其连接到checkstyle配置。
答案 0 :(得分:0)
我认为您应该使用configFile
选项(需要File
个对象)而不是config
选项(需要使用实际配置的文本资源)。
然后问题归结为确定正确的File
对象。来自this answer,似乎你可以做到
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("file/test.xml").getFile());
可以在StackOverflow上找到 Alternative solutions。确保类加载器的类路径包含您的coding-standards.jar。您可能必须将该依赖项放在buildscript
块中,以使其可用于构建脚本。