gpt4 book ai didi

gradle - 有什么办法在Gradle中排除选择性通配符?

转载 作者:行者123 更新时间:2023-12-03 03:35:18 28 4
gpt4 key购买 nike

假设我有一个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的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
  • include b.java
  • include包括除“myfolder”下的文件以外的所有内容

  • 为了实现最后一个include,我将看一下将闭包传递给include方法而不是匹配模式: http://www.gradle.org/docs/current/javadoc/org/gradle/api/tasks/util/PatternFilterable.html#include(groovy.lang.Closure)

    关于gradle - 有什么办法在Gradle中排除选择性通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24046906/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com