我有一个与外部库相关的开发相关目录src/main/resources/certs/test
。这有一些生产版本中不需要的证书文件。
目前,我使用build.gradle
中的以下块排除该目录下的所有内容:
sourceSets {
main {
resources {
exclude '**/test/*'
}
}
}
这样做很好,但是留下了丑陋的空目录test
。我有什么选择在最后的战争中不包括这个目录?
我尝试排除'**/test'
,但它根本不起作用。
我使用war插件和Gradle 1.2
答案 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