Buck (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Buck
開発元 Facebook, Inc.
初版 2013年4月17日 (10年前) (2013-04-17)[1]
最新版
2021.01.12.01 / 2021年1月12日 (3年前) (2021-01-12)[2]
リポジトリ ウィキデータを編集
プログラミング
言語
Java
対応OS クロスプラットフォーム
ライセンス Apache License 2.0[3]
公式サイト buck2.build ウィキデータを編集
テンプレートを表示

Buckは、Facebookにより開発・使用されている複数言語に対応したビルドシステムである。

解説[編集]

monorepo英語版内に格納されたコードとリソースからなる、小さく再利用可能なモジュールをビルドするために設計された[4]。ソースコードの入力として、C++Objective-CSwift)、ShellJavaKotlinGroovy)、PythonLuaOCamlRustGoやその他の言語に対応している。 iOSAndroid.NETJava VMランタイムを含むさまざまなターゲットプラットフォーム向けのバイナリ出力が生成できる。

BuckはApache License 2.0でライセンスされている[3]

Buckは依存関係の明示的な宣言を必要とし、シンボリックリンクツリーを使用することを強制する。すべての依存関係は明示的であり、Buckはすべてのソースファイルとビルドターゲットの有向非巡回グラフを持っているため、Buckはターゲットのダウンストリームの変更されたファイルだけを再ビルドするインクリメンタルな再コンパイルを実行できる。Buckは各ターゲットに対して、依存しているファイルのコンテンツハッシュをキーとして計算し、ビルドキャッシュ内にキーからビルド対象へのマッピングを保存する。ターゲットがコンテンツの決定的な関数である場合、BuckはHTTP Cache APIをサポートするため、このビルドキャッシュは開発者と継続的インテグレーション(CI)で共有される。

関連項目[編集]

出典[編集]

  1. ^ Bolin, Michael (2013年5月14日). “Buck: How we build Android apps at Facebook”. Facebook. Facebook Engineering. 2019年7月16日閲覧。
  2. ^ Releases · facebook/buck”. GitHub. 2021年11月4日閲覧。
  3. ^ a b buck/license” (2013年4月29日). 2017年10月20日閲覧。
  4. ^ Overview”. Buck: a build tool. 2018年7月16日閲覧。 “Buck is designed to build multiple deliverables from a single repository—that is, a monorepo—rather than from multiple repositories”

外部リンク[編集]