Извлечение файлов json из jar-файлов зависимостей времени исполнения Gradle - PullRequest
1 голос
/ 15 октября 2019

Мне нужно просмотреть список runtime dependencies и из файлов, которые мне нужны, чтобы извлечь файлы json в папки с соответствующими jar name.

Я пробовал приведенный ниже код, но онсоздает папку с именем последнего прочитанного фляги и помещает в нее все файлы 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 голосов
/ 15 октября 2019

Имя файла jar: netty-common-4.1.16.Final.jar.

Итак, часть MyJarName должна быть правильной, верно?

release-resources\DymmyService.json - это имя файла json.

Следовательно, вы хотите переименовать файл json.

Это должно работать для окон (не проверено):

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

Осторожно -это регулярное выражение зависит от ОС. Лучше: сборка, что зависит от регулярных выражений ОС.

...