コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「Ninja (ソフトウェア)」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m編集の要約なし
Cewbot (会話 | 投稿記録)
25行目: 25行目:
'''Ninja'''は、高速な動作を重視した小さな[[ビルド自動化|ビルドシステム]]である。より高レベルなビルドシステムによってビルドファイルを生成するように設計されている点と、可能な限りビルドを高速に行うように設計されている点が他のビルドシステムと大きく異なる点である。
'''Ninja'''は、高速な動作を重視した小さな[[ビルド自動化|ビルドシステム]]である。より高レベルなビルドシステムによってビルドファイルを生成するように設計されている点と、可能な限りビルドを高速に行うように設計されている点が他のビルドシステムと大きく異なる点である。


本質的に、Ninjaは[[Make]]の置き換えを意図している。Makeは増分ビルドまたはリビルドをした場合に低速である<ref>{{Cite web|title=The Ninja build tool|url=https://lwn.net/Articles/706404/|author=David Röthlisberger|publisher=LWN.net|date=2016-11-16|accessdate=2019-07-10}}</ref>。例えば、40,000のファイルを単一の実行ファイルにコンパイルする[[Google Chrome]]のような大規模プロジェクトでは、このことは開発者の作業をかなり遅らせてしまう。実際、Google ChromeはNinjaの主要なユーザーであり、Ninja自体の開発の動機となったプロジェクトでもある<ref>{{Cite web|title=Ninja|url=https://www.aosabook.org/en/posa/ninja.html|author=Evan Martin|accessdate=2019-07-10}}</ref>。Ninjaは[[Android]]の開発や<ref>{{Cite web|title=Re: ANN: AOSP builds with ninja|url=https://groups.google.com/forum/#!topic/android-platform/Hhl_4hfOONg/discussion|author=Dave Smith|date=2015-10-28|accessdate=2019-07-10}}</ref>、多くの[[LLVM]]開発者にも使用されている<ref>{{Cite web|title=Getting Started with the LLVM System|url=https://llvm.org/docs/GettingStarted.html#getting-started-quickly-a-summary|publisher=LLVM Project|accessdate=2019-07-10}}</ref>。
本質的に、Ninjaは[[Make]]の置き換えを意図している。Makeは増分ビルドまたはリビルドをした場合に低速である<ref>{{Cite web|title=The Ninja build tool|url=https://lwn.net/Articles/706404/|author=David Röthlisberger|publisher=LWN.net|date=2016-11-16|accessdate=2019-07-10}}</ref>。例えば、40,000のファイルを単一の実行ファイルにコンパイルする[[Google Chrome]]のような大規模プロジェクトでは、このことは開発者の作業をかなり遅らせてしまう。実際、Google ChromeはNinjaの主要なユーザーであり、Ninja自体の開発の動機となったプロジェクトでもある<ref>{{Cite web|title=Ninja|url=https://www.aosabook.org/en/posa/ninja.html|author=Evan Martin|accessdate=2019-07-10}}</ref>。Ninjaは[[Android (オペレーティングシステム)|Android]]の開発や<ref>{{Cite web|title=Re: ANN: AOSP builds with ninja|url=https://groups.google.com/forum/#!topic/android-platform/Hhl_4hfOONg/discussion|author=Dave Smith|date=2015-10-28|accessdate=2019-07-10}}</ref>、多くの[[LLVM]]開発者にも使用されている<ref>{{Cite web|title=Getting Started with the LLVM System|url=https://llvm.org/docs/GettingStarted.html#getting-started-quickly-a-summary|publisher=LLVM Project|accessdate=2019-07-10}}</ref>。


Makeとは対照的に、Ninjaのビルドファイルは手書きされることは意図していないので、文字列操作などの機能は欠如している。代わりに、Ninjaのビルドファイルはより高レベルなビルドシステムによって生成する。[[CMake]]と[[Meson (ソフトウェア)|Meson]]は、Ninjaのビルドファイルの生成に対応した著名なビルド管理ソフトウェアである<ref>{{Cite web|title=Ninja|url=https://cmake.org/cmake/help/v3.8/generator/Ninja.html|publisher=Kitware, Inc|accessdate=2019-07-10}}</ref>。
Makeとは対照的に、Ninjaのビルドファイルは手書きされることは意図していないので、文字列操作などの機能は欠如している。代わりに、Ninjaのビルドファイルはより高レベルなビルドシステムによって生成する。[[CMake]]と[[Meson (ソフトウェア)|Meson]]は、Ninjaのビルドファイルの生成に対応した著名なビルド管理ソフトウェアである<ref>{{Cite web|title=Ninja|url=https://cmake.org/cmake/help/v3.8/generator/Ninja.html|publisher=Kitware, Inc|accessdate=2019-07-10}}</ref>。

2020年9月6日 (日) 10:02時点における版

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

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

本質的に、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. ^ Releases”. GitHub. 2020年5月26日閲覧。
  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日閲覧。

関連項目

外部リンク