依赖jar

时间:2016-01-04 17:08:30

标签: gradle dependencies checkstyle

我正在尝试将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配置。

1 个答案:

答案 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块中,以使其可用于构建脚本。