0

在我的项目中,我有以下目录设置:

  • src/main/resources/common
  • src/main/resources/local
  • src/main/resources/release

我的目标是覆盖默认资源细化并在最终存档中“展平”这个目录树。

目前我发现只有这个丑陋的解决方案:

resources {
  exclude 'release'
  exclude 'common'
  exclude 'local'
  srcDir 'src/main/resources/common'
  srcDir 'src/main/resources/local'
  srcDir 'src/main/resources/release'
}

使用此解决方案,我认为其中的文件src/main/resources将被复制到最终存档中。有没有办法排除资源默认目录?

有没有更好的方法来解决我的问题?

4

1 回答 1

1

更好的方法是覆盖默认位置:

sourceSets {
    main {
        resources {
            srcDirs = [
                'src/main/resources/common', 
                'src/main/resources/local',
                'src/main/resources/release'
            ]
        }
    }
}

Gradle API 的一个常见习惯用法是提供允许设置集合(从而覆盖任何默认值)的属性(例如srcDirs),以及允许添加到集合(从而添加到默认值)的类似名称的方法(例如) srcDir)。

我的目标是 [...] 在最终存档中“展平”这个目录树。

不知道你的意思是什么。

于 2013-03-21T10:16:02.243 回答