2015-01-28 3 views
0
copy { 
    from zipTree(rootDir.getPath() + "/archive.war") 
    include 'dirAbc/subdir/' 

    into 'src/dirEfg/subdir/' 
    includeEmptyDirs = false 
} 

Я пытаюсь скопировать папку и ее содержимое (включая подпапки и их содержимое) из военного файла в локальное место.Как скопировать содержимое папки рекурсивно в gradle zipTree?

У меня почти есть то, что я хочу. Проблема заключается в том выше оставляет меня с следующей структурой:

Src/dirEfg/подкаталог/dirAbc/подкаталог/

вместо того, что я хочу, и ожидали:

Src/dirEfg/subdir/

Что я делаю неправильно?

+0

Возможно, просто перейдите из 'в 'src/dir/subdir /'' в 'в 'src /''? – Opal

+0

Это не бегун, я изменил имена своих каталогов, чтобы избежать путаницы, которую я вызвал. Извините. – HellishHeat

+0

В основном я хочу, чтобы в военном файле была определенная подпапка, и все это рекурсивное содержимое. Я не хочу никаких родительских папок. – HellishHeat

ответ

0

Похоже, что в настоящее время это невозможно из коробки с текущей реализацией zipTree в Gradle.

Данное усовершенствование отслеживается в this ticket.

Есть некоторые обходные пути, которые вы можете попробовать, как предложено в this post на форумах Gradle. Один из них намекает на извлечение zip-дерева и перемещение/переименование содержимого.

+0

Я использовал временную директорию для имитации этого поведения в подзадаче. – HellishHeat