2016-02-16 14 views

Antwort

6

Es ist standardmäßig nicht möglich, aber es ist möglich, travrse alle Dateien, die in der endgültigen Zip enthalten sein werden und ändern Sie den Zielpfad in dieser Zip, wie folgt:

distZip { 
    eachFile { file -> 
     String path = file.relativePath 
     file.setPath(path.substring(path.indexOf("/")+1,path.length())) 
    } 
} 

Hier ist die zusätzliche Task-Konfiguration distZip hinzugefügt, die den Zielpfad jeder Datei im endgültigen Zip-Archiv ändert und den Stammordner daraus löscht. In Ihrem Fall wird der Ordner MyApp aus dem Zip gelöscht.

+0

Dies führt zu seltsamen Ergebnissen, wenn andere Assets in der Verteilung enthalten sind. Es entfernt das Verzeichnis der obersten Ebene korrekt, scheint aber auch die ursprünglichen Dateien beizubehalten. – Max

+0

@max Ich hatte ein ähnliches Problem, wo alte Verzeichnisse zurückgelassen wurden, wenn sie leer waren. Das Hinzufügen von "includeEmptyDirs = false" zum Abschluss "distZip" nach der "eachFile" -Klausel - in der Antwort von stanislav - reparierte es für mich. – jerryb

Verwandte Themen