如何使用整个文件夹和另一个文件夹的一部分作为gradle中的资源

时间:2015-12-29 16:16:44

标签: gradle

我的项目结构是:

src/
  main/
    resources/
      A.jpg
      A.gif
    text/
      A.text
      A.doc   /*unwanted*/

如何使用A.gif,A.jpg,A.txt配置build.gradle以获取最终jar?

我希望将来自src/main/resources/的所有文件和来自*.txt

的所有src/main/text/个文件视为主要资源

对于

sourceSets.main.resources {
    srcDir 'src/main/resources'
    srcDir 'src/main/text'

我进入了最后一个不受欢迎的A.doc

对于

sourceSets.main.resources {
    srcDir 'src/main/resources'
    srcDir 'src/main/text'
    include '*.txt'

我的最终jar只有A.txt

更新

然而,给定的简单示例可以通过 exclude 以替代方式解决,当资源由一个整个文件夹和第二个文件夹的一部分组成时,我正在寻找解决方案(在Maven中很容易)

1 个答案:

答案 0 :(得分:0)

您可以使用适用于所有srcDirs的排除:

sourceSets.main.resources {
  srcDir 'src/main/resources'
  srcDir 'src/main/text'
  exclude'*.doc'
}

inlcudes和excludes无法有选择地应用于srcDir,它们会在该sourceSet中的所有srcDirs中生效。