このプロジェクトについて

NetsukeはNinjaビルドシステムのハイレベルラッパーとして機能し、ユーザーが読みやすいYAML形式と、動的なプランニング(変数、マクロ、グロビングを含む)のためのJinjaテンプレートを組み合わせて、ビルドルール、ターゲット、依存関係を定義することを可能にします。 主な機能は以下の通りです: - マニフェスト解析:スキーマ検証を備えたYAML 1.2をサポート。 - 動的プランニング:条件ロジック(`when`)、ループ(`foreach`)、および環境ヘルパーにJinjaを利用。 - 静的実行:検証済みのNinjaビルドグラフを生成し、実行前にGraphviz DOT/HTMLとして検査またはレンダリングが可能。 - ツールチェーンに依存しない:あらゆるコマンドラインベースのツールチェーン(例:Rust, C, Python)で動作。 - 診断:ソースを意識したエラー表示、進捗レポート、およびマシン読み取り可能なJSON出力を提供。 - クロスプラットフォームサポート:UnixシェルおよびWindows PowerShell/Bashの実行パスを包含。