Civbootのビルドシステム設計論:MakeとBazelの問題点と新しいパッケージマネージャ構想

Build Systems Discussion

Civbootプロジェクトのビルドシステム「civ」を紹介し、良いビルドシステムに必要な原則を論じる。入力と出力の明示、プログラムによる設定、パッケージマネージャとの統合という3つの原則を提示。Makeの欠点を指摘し、Bazelの強みを認めつつ、よりシンプルな実装を提案する。さらに、ハブとハブレポを用いた分散型パッケージマネージャの設計案を、Rustのcrates.ioとの類似性も交えて解説する。

良いビルドシステムの第一原則は、ビルドの各フェーズのすべての入力と出力が、どこかで明示的でなければならないということです。

この日のほかの記事

2026-07-24