我们有一个与某些要求已删除的软件包有关,但是我们不想删除代码,因为将来有可能再次需要它。因此,在我们现有的ant构建中,我们只是将该包排除在了jar中之外。这些类由于我们还删除了它们的依赖关系而无法编译,因此它们不能包含在构建中。
我正在尝试模仿Gradle中的功能,如下所示:
jar {
sourceSets.main.java.srcDirs = ['src', '../otherprojectdir/src']
include (['com/ourcompany/somepackage/activityadapter/**',
...
'com/ourcompany/someotherpackage/**'])
exclude(['com/ourcompany/someotherpackage/polling/**'])
}
即使使用上面的exclude调用(并且我也尝试过不带方括号的尝试),gradle仍在尝试编译
polling
类,这会导致编译失败。如何防止Gradle尝试编译该软件包? 最佳答案
如果您有一些不想被编译的源,则必须为源声明一个过滤器,而不是为Jar中放置的类文件声明一个过滤器。就像是:
sourceSets {
main {
java {
include 'com/ourcompany/somepackage/activityadapter/**'
include 'com/ourcompany/someotherpackage/**'
exclude 'com/ourcompany/someotherpackage/polling/**'
}
}
}