Ninja (ソフトウェア)

Ninja(ニンジャ)は、高速な動作を重視した小さなビルドシステムである。より高レベルなビルドシステムによってビルドファイルを生成するように設計されている点と、可能な限りビルドを高速に行うように設計されている点が他のビルドシステムと大きく異なる点である。

Ninja
開発元 Evan Martin
初版 2012年 (2012)[1]
最新版 1.11.1[2] ウィキデータを編集 - 2022年8月30日
リポジトリ
プログラミング
言語
C++Python
対応OS クロスプラットフォーム
種別 ソフトウェア開発ツール
ライセンス Apache License 2.0
公式サイト ninja-build.org

本質的に、NinjaはMakeの置き換えを意図している。Makeは増分ビルドまたはリビルドをした場合に低速である[3]。例えば、40,000のファイルを単一の実行ファイルにコンパイルするGoogle Chromeのような大規模プロジェクトでは、このことは開発者の作業をかなり遅らせてしまう。実際、Google ChromeはNinjaの主要なユーザーであり、Ninja自体の開発の動機となったプロジェクトでもある[4]。NinjaはAndroidの開発や[5]、多くのLLVM開発者にも使用されている[6]

Makeとは対照的に、Ninjaのビルドファイルは手書きされることは意図していないので、文字列操作などの機能は欠如している。代わりに、Ninjaのビルドファイルはより高レベルなビルドシステムによって生成する。CMakeMesonは、Ninjaのビルドファイルの生成に対応した著名なビルド管理ソフトウェアである[7]

脚注

  1. Evan Martin (2012年5月8日). release: ninja v120508”. 2019年7月10日閲覧。
  2. "Release 1.11.1"; 閲覧日: 2022年10月5日; 出版日: 2022年8月30日.
  3. David Röthlisberger (2016年11月16日). The Ninja build tool”. LWN.net. 2019年7月10日閲覧。
  4. Evan Martin. Ninja”. 2019年7月10日閲覧。
  5. Dave Smith (2015年10月28日). Re: ANN: AOSP builds with ninja”. 2019年7月10日閲覧。
  6. Getting Started with the LLVM System”. LLVM Project. 2019年7月10日閲覧。
  7. Ninja”. Kitware, Inc. 2019年7月10日閲覧。

関連項目

外部リンク

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.