Gradle 1.2:排除资源sourceSets下的目录

时间:2012-09-27 09:08:23

标签: gradle

我有一个与外部库相关的开发相关目录src/main/resources/certs/test。这有一些生产版本中不需要的证书文件。

目前,我使用build.gradle中的以下块排除该目录下的所有内容:

sourceSets {
    main {
        resources {
            exclude '**/test/*'
        }
    }
}

这样做很好,但是留下了丑陋的空目录test。我有什么选择在最后的战争中不包括这个目录?

我尝试排除'**/test',但它根本不起作用。

我使用war插件和Gradle 1.2

3 个答案:

答案 0 :(得分:29)

使用Gradle 1.1,这对我有用:

apply plugin: 'war'

sourceSets {
    main {
        resources {
            exclude '**/test/*'
            exclude 'certs/test'
        }
    }
}

答案 1 :(得分:6)

我在JAR文件中遇到类似的生产文件问题(虽然我的不是测试文件)。我解决了以下问题:

jar {
    exclude ("DIRECTORY-TO-EXCLUDE/**")
}

e.g。

jar {
    exclude ("test/**")
}

答案 2 :(得分:0)

常见的专业版布局是将测试文件放在test源集下,这样您就不必将其从main源集中排除。

Gradle documentation开始,默认项目布局如下:

src/main/java       Production Java source
src/main/resources  Production resources
src/test/java       Test Java source
src/test/resources  Test resources