3

で終わるファイルを作成する Scala プログラムがあるとします.foo

私はビルドしており、呼び出されるsbtたびにこれらのファイルを削除したいと考えています。sbt clean

Add additional directory to clean task in SBT buildは、単一のファイルを次の方法で追加できることを示しています

cleanFiles <+= baseDirectory { _ / "test.foo" }

ただし、これを次のように拡張する方法は不明です。

cleanFiles <append> <*.foo>

すべての.fooファイルは同じディレクトリにあるため、ディレクトリを再帰的にチェックする必要はありません。とはいえ、それもまた興味深いものです。

  1. sbtワイルドカードまたは正規表現に一致するファイルをクリーンアップするように構成するにはどうすればよいですか?
  2. sbt cleanプログラムが生成するファイルを削除するのは、設計上間違っているのでしょうか? プログラムで代わりにフラグを使用する必要がありますか? thenを呼び出すよりも、使用sbt cleanするほうがきれいに思えます。sbt cleansbt "run --clean"
4

1 に答える 1

5

これにより、ベースディレクトリで一致*.fooするものがすべて検索されます(ただし、子ディレクトリは検索されません):

cleanFiles <++= baseDirectory (_ * "*.foo" get)

これが機能するのは、 が(ベース ディレクトリのパターンに一致する) や (子ディレクトリを含むパターンに一致する)などのメソッドを持つSeq[File]に暗黙的に変換されるためです。次に、それを に戻します。PathFinder***getSeq[File]

于 2013-04-10T18:57:38.743 に答える