調べてもピンとくるものがありませんでした。
試行錯誤の結果、とりあえず、目的としていたことができたので紹介します。
目的:特定の名前を持ったファイルを削除する
sample/XXXの下にあるファイルをすべて削除します。
ただ、すべてではなく名前を指定して削除したい場合のサンプルです。
■パターン1
タスクの中で削除を行います。
ただのタスクなので、このほかにも好きなだけ書けます。実行されます。
task deleteFiles() << {
ただのタスクなので、このほかにも好きなだけ書けます。実行されます。
task deleteFiles() << {
println 'deleteFiles Start'
project.delete file('sample/del1').listFiles().findAll{it.name.startsWith('test')}
println 'deleteFiles End'
}
■パターン2
削除用のタスクです。呼び出し時には指定したファイルの削除が行われます。
タスク呼び出し時(gradle deleteFilesWithType実行時)はファイルの削除のみが行われます。
説明が難しいですけど、タスクの中身はタスク実行前に処理されます。
もっと言うと、他のタスクが呼び出されたタイミングでもprintlnやsetDeleteが呼び出されます。
ただ、実際に削除が行われるのは呼び出されたときです。
setDeleteは削除ではなく、対象をセットするだけなので注意してください。
■パターン2
削除用のタスクです。呼び出し時には指定したファイルの削除が行われます。
タスク呼び出し時(gradle deleteFilesWithType実行時)はファイルの削除のみが行われます。
説明が難しいですけど、タスクの中身はタスク実行前に処理されます。
もっと言うと、他のタスクが呼び出されたタイミングでもprintlnやsetDeleteが呼び出されます。
ただ、実際に削除が行われるのは呼び出されたときです。
setDeleteは削除ではなく、対象をセットするだけなので注意してください。
task deleteFilesWithType (type : Delete) {
println 'deleteFilesWithType Start'
setDelete file('sample/del2').listFiles().findAll{it.name.startsWith('test')}
println 'deleteFilesWithType End'
}
以上でした。
パターン2の説明がうまくできないのは、gradleをしっかり理解していないからですかね。
使いこなせるようになりたいです。
ファイルの削除方法に悩んだあの日に、さようなら。
以上でした。
パターン2の説明がうまくできないのは、gradleをしっかり理解していないからですかね。
使いこなせるようになりたいです。
ファイルの削除方法に悩んだあの日に、さようなら。