Zip diretório para vários destinos usando Gradle

Oct 02 2020

É possível com a tarefa Zip do Gradle copiar o zip resultante em vários destinos?

AFAIK você só pode compactar vários diretórios de entrada com apenas um destino de saída. Existe uma maneira de compactar um diretório e copiar o arquivo para vários destinos (em uma única tarefa)? Como estou fadado a usar o Gradle v5.0, uma solução para essa versão do Gradle seria muito apreciada.

Respostas

1 LukasKörfer Oct 02 2020 at 17:36

A ação interna das Ziptarefas só produzirá o arquivo zip em um único diretório. Se você não quiser criar Copytarefas adicionais , você pode usar um doLastencerramento e usar o método copyfornecido pela Projectinstância.

task myZip(type: Zip) {
    ...
    doLast {
        copy {
            from archivePath
            into 'path/to/other/destination'
        }
    } 
} 
JoachimNilsson Oct 02 2020 at 15:32

Eu sugiro que você use uma tarefa Cópia para a cópia e, possivelmente, adicione uma instrução 'finalizedBy' na tarefa Zip.

Copiar para vários destinos é abordado aqui .