有没有办法在Gradle中进行选择性通配符排除?
假设我有一个Java项目,在src/main/Java中有一堆源代码,在src/main/Java/myfolder中还有一些其他源代码:有没有办法在Gradle中进行选择性通配符排除?,gradle,build.gradle,Gradle,Build.gradle,假设我有一个Java项目,在src/main/Java中有一堆源代码,在src/main/Java/myfolder中还有一些其他源代码: src/main/java/myfolder/a.java src/main/java/myfolder/b.java src/main/java/myfolder/c.java ... src/main/java/myfolder/z.java 从这个文件夹中,我只想包括a.java和b.java。有什么简单的方法可以做到这一点吗 如果Gradle in
src/main/java/myfolder/a.java
src/main/java/myfolder/b.java
src/main/java/myfolder/c.java
...
src/main/java/myfolder/z.java
从这个文件夹中,我只想包括a.java和b.java。有什么简单的方法可以做到这一点吗
如果Gradle include/excludes能够直观地工作,我希望它能够工作:
sourceSets {
main {
java {
include 'src/main/java/**'
exclude 'main/java/myfolder/**'
include 'main/java/myfolder/a.java'
include 'main/java/myfolder/b.java'
}
}
}
但是排除会覆盖后续的包含。您在中指定的包含和排除顺序不相关。将其视为一组过滤器:
- 将筛选出与任何包含不匹配的文件
- 与任何排除项匹配的文件将被过滤掉
- 包括a.java
- 包括b.java
- 包含除“myfolder”下的文件以外的所有内容
为了实现最后一个include,我将考虑向include方法传递一个闭包,而不是一个匹配模式:我不认为android插件在“main/java”中搜索,如果删除exclude,会发生什么?我想只包括a.java和b.java。