假设我有一个Scala程序,它创建以.foo.结尾的文件.
我正在构建,sbt并希望在sbt clean调用时删除这些文件.
在SBT构建中添加额外的目录以清除任务显示可以添加单个文件
cleanFiles <+= baseDirectory { _ / "test.foo" }
Run Code Online (Sandbox Code Playgroud)
但是,目前还不清楚如何扩展这个:
cleanFiles <append> <*.foo>
Run Code Online (Sandbox Code Playgroud)
所有.foo文件都在同一目录中,因此我不需要递归检查目录.虽然,这也很有趣.
sbt清除与通配符或正则表达式匹配的文件?sbt clean删除程序生成的文件是一个糟糕的设计决定吗?我应该在程序中使用标志吗?使用sbt clean似乎吸尘器我而不必调用sbt clean然后sbt "run --clean".这将*.foo在基本目录中找到匹配的内容(但不是子目录):
cleanFiles <++= baseDirectory (_ * "*.foo" get)
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为它Seq[File]被隐式转换为a PathFinder,它具有诸如*(匹配基本目录**中的模式)和(匹配包含子目录的模式)之类的方法.然后get将其转换回Seq[File].
| 归档时间: |
|
| 查看次数: |
988 次 |
| 最近记录: |