Ensure outdated/removed/zombie outputs are deleted
- 主要言語
- Rust
- スター
- 17
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Given a rule like:
```
build/%{1}: cmd/*
inputs: **/*.go
build: go build -o %{OUT} -o build/%{1}
```
If a `cmd` is removed or renamed between builds, the `build` directory will contain stale outputs. The Bit database could be used to track this . This should be relatively straightforward, in that we could populate a variable with a list of files that have been removed from the build since the last run.
eg.
```
build/%{1}: cmd/*
inputs: **/*.go
build:
for stale in %{STALE}; do [[ $stale == build/* ]] && rm $stale; done
go build -o %{OUT} -o build/%{1}
```
Shake has the concept of ["pruning"](http://neilmitchell.blogspot.com/2015/04/cleaning-stale-files-with-shake.html), which could be useful inspiration.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。