2016-06-22 56 views
1

我有刪除文件匹配他們的名字一定模式的gradle這個任務年長:搖籃:刪除文件超過一定時間

task deleteTempFiles(type: Delete) { 
    tasks['clean'].dependsOn(it) 
    delete fileTree(dir: '..', include: '**/tempfile*.tmp') 
} 

我想刪除比舊的文件,讓說,2小時24小時。這件事可能是2天。在gradle中最簡單的方法是什麼?

+0

我想你應該能夠使用'filetree.matching()'的一些變化和使用'file.getlastmodified' – RaGe

回答

1
task deleteTempFiles(type: Delete) { 

    def cutoff = new Date().minus(1); //24 hrs ago 

    delete fileTree (dir: '..') 
     .matching{ include '**/tempfile*.tmp' } 
     .findAll { 
      def filedate = new Date (it.lastModified()) 
      filedate.before(cutoff) 
     } 
} 
+0

什麼文件超過8小時之前封閉? – user3111525

+1

@ user3111525,這可能很容易做到,不是嗎? – Opal

+0

搜索是你的朋友。 http://stackoverflow.com/questions/21166927/incrementing-date-object-by-hours-minutes-in-groovy http://stackoverflow.com/questions/25046910/how-do-i-subtract-minutes-from - 當前時間 – RaGe