2016-08-06 7 views
0

FileTreeの各txtファイルに複数のgzipファイルを作成したいとします。gradle - FileTreeの各ファイルに対してgzipを作成します。

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

FileTree内部Tarタスクのgzipを作成するために、各ループを使用することがとにかくあり:ここに私のGradleタスクがありますか?

+0

私の答えが役に立ったら、それを受け入れてください。 – Opal

答えて

0

いいえ、それは不可能です - それはそのようには動作しません。あなたにできることは反転処理に、ここに行くされています

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はデモです。

関連する問題