2016-08-06 16 views
0

Ich möchte mehrere gzip-Datei für jede TXT-Datei in einem FileTree erstellen. Hier ist meine gradle Aufgabe:Gradle - Erstellen gzip für jede Datei in einem FileTree

task gzipFiles << { 
    FileTree tree = fileTree('build/dist') { 
     include '**/*.txt' 
    } 
    tree.each {File file -> 
     println file 
     String fileName = file.getName() 
     //create gzip file 
    } 
} 

Gibt es trotzdem Tar Aufgabe innerhalb FileTree jede Schleife zu verwenden, um eine gzip zu schaffen?

+0

Wenn Sie meine Antwort nützlich fanden, akzeptieren Sie sie bitte. – Opal

Antwort

0

Nein, es ist unmöglich - so wird es nicht funktionieren. Was Sie tun können, ist zu Invertzucker die Verarbeitung, hier gehen Sie:

task all 

fileTree('input') { 
    include('**/*.txt') 
}.each { f -> 
    task "tar_$f.name"(type: Tar) { t -> 
    from f.parentFile 
    include f.name 
    baseName = "$f.name" 
    destinationDir = project.file('output') 
    all.dependsOn(t) 
    } 
} 

Here die Demo ist.