2016-08-18 6 views
0

'public-someHash'という名前の 'foo/dir'ディレクトリを削除しようとしています。 'SomeHash'は動的に作成されました(たとえば 'dsflsdfn'など)。常に新しいものです。私は 'fileTree'を使用しようとしましたが、ディレクトリはまだ存在しています。コード:マスクでディレクトリを削除できません

tasks.create(name: 'delete', type : Delete) { 
     delete fileTree(dir: 'foo/dir/', include: 'public-*/**') 
} 

私のマスクには何が問題なのですか?

UDP:私はAntの中で同様のタスクを持っているし、すべてが正常に動作します:

<target name="delete"> 
     <delete includeemptydirs="true"> 
      <fileset dir="foo/dir/"> 
      <include name="public-*/**"/> 
      </fileset> 
     </delete> 
</target> 

答えて

0

EDIT:謝罪、オリジナルの答えは質問の誤読に基づいていたとして。それは助けにはならない

task myDelete(type: Delete) { 
    def files = new HashSet() 

    new File('foo/dir').eachFile { file -> 
     if (file.isDirectory() && (file.name ==~ /public-.*/)) { 
      files << file 
     } 
    } 

    delete files 
} 
+0

は、ここに1つの、それを行うための方法が、最もエレガントではありません。興味深いのprintln fileTree(dir: 'foo/bar') 'ディレクトリ' src/main/webapp '' – bearhunterUA

+0

私の謝罪。私はその質問を誤解した。新しい回答をお試しください。 (これは、対象のディレクトリが 'foo/dir'にあり、サブディレクトリではないと仮定しています) –

+0

はい、動作します、ありがとう! – bearhunterUA

関連する問題