新到gradle这里,我需要从依赖项目的资源文件夹(递归)中移动所有资源,包括当前编译的项目和具有特定名称的concat文件,即
dependencies {
compile project(':stam-common')
compile project(':stam-db-common')
compile project(':stam-reco')
}
假设我正在编译项目stam-这取决于上面的模块。 我需要将四个项目中的每个项目及其依赖项中的所有文件移动到一个位置并连接所有application.conf文件。
我可以使用一些bash脚本轻松完成它,但需要它是一个gradle任务。 任何的想法 ?
答案 0 :(得分:0)
取决于application.conf
中您可能需要更复杂的内容,但简单的答案就是询问每个项目的文件并将它们合并。
我们可以使用Java的streams
api和一些Groovy的File#text
来简化concat循环
def allAppConfs = rootProject.subprojects.stream().
// using `Project#file(String)` the path will be
// relative to the project's root
map({ proj -> proj.file('src/main/resources/application.conf').text }).
collect(Collectors.toList()).
join('\n')