インクリメンタルビルドとは?
インクリメンタルビルドは、前回の build 以降に入力が変わった target だけを再構築し、残りにはキャッシュされた出力を再利用します。変更がどの下流の target を無効化するかを知るために、依存関係グラフに依存します。正しく行えば、クリーンな build と同じ結果をわずかな時間で生成します。
なぜ重要か
ほとんどの変更はコードベースのごく一部にしか触れないため、すべてを再構築すると作業の大半が無駄になります。インクリメンタルビルドはこれを変更に比例した作業に変えます。リスクは正確性です。ツールが依存関係を見落とすと、実際には必要だった rebuild をスキップしてしまうため、正確な入力の追跡が不可欠です。
関連する概念
- 正確な依存関係グラフに依存する
- build cache は再利用可能な以前の出力を保存する
- 誤った入力の追跡は古く誤った build を引き起こす
関連ガイド
What Is a Build Cache?A build cache stores intermediate build outputs so unchanged work can be reused across runs instead of recomp…
What Is a Dependency Graph?A dependency graph maps how components or packages depend on one another, used to order builds, detect cycles…
What Is a Deterministic Build?A deterministic build produces the same output from the same inputs every time, with no run-to-run variation…