【问题标题】:how to gather all dependencies resources from a gradle multiproject into a dist folder如何将 gradle 多项目中的所有依赖项资源收集到 dist 文件夹中
【发布时间】:2017-07-30 11:23:03
【问题描述】:

这里是 gradle 的新手,我需要从我的依赖项项目的资源文件夹中(递归地)移动所有资源,包括当前编译的项目和具有特定名称的 concat 文件,即

dependencies {
   compile project(':stam-common')
   compile project(':stam-db-common')
   compile project(':stam-reco') 
}

假设我正在编译项目 stam-this,这取决于上面的模块。 我需要将四个项目中的每个项目及其依赖项中的所有文件移动到一个位置并连接所有 application.conf 文件。

我可以使用一些 bash 脚本轻松完成,但需要它成为一个 gradle 任务。 任何想法 ?

【问题讨论】:

    标签: java scala gradle groovy build


    【解决方案1】:

    取决于您的 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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多