从gradle运行时依赖项jar中提取json文件

时间:2019-10-15 06:09:14

标签: gradle gradle-plugin

我需要遍历runtime dependencies的列表,然后从jar中提取json文件,分别放在文件夹jar name中。

我尝试了下面的代码,但是它创建了一个文件夹,该文件夹的名称为读取的最后一个jar,并将所有json文件放入其中,并保持了jar root的路径。

task copyJsonToQrelease(type: Copy) {
    configurations.runtime.each { File f ->
        from zipTree(f)
        include "**/*.json"
        into "${viewRoot}/Qrelease/JsonResources/"+f.getName()
        includeEmptyDirs = false
    }
}
  

结果:Qrelease \ JsonResources \ netty-common-4.1.16.Final.jar \ release resources \ DummyService.json

     

预期结果:Qrelease \ JsonResources \ MyJarName \ DummyService.json

1 个答案:

答案 0 :(得分:0)

jar文件的名称为netty-common-4.1.16.Final.jar

所以MyJarName部分应该正确,对吧?

release-resources\DymmyService.json是json文件的名称。

因此,您要rename json文件。

这应该适用于Windows(未经测试):

rename(/.*\\(.+json)/, '$1')

当心-此正则表达式特定于操作系统。更好:构建正则表达式操作系统所依赖的。