コンテンツにスキップ

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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
fix
Cewbot (会話 | 投稿記録)
16行目: 16行目:
| license = [[Apache License 2.0]]<ref name="license">{{cite web |url=https://github.com/facebook/buck/blob/master/LICENSE |title=buck/license |date=2013-04-29 |df=mdy |access-date=2017-10-20}}</ref>
| license = [[Apache License 2.0]]<ref name="license">{{cite web |url=https://github.com/facebook/buck/blob/master/LICENSE |title=buck/license |date=2013-04-29 |df=mdy |access-date=2017-10-20}}</ref>
}}
}}
'''Buck'''は、[[Facebook]]により開発・使用されている複数言語に対応したビルドシステムである。{{Ill|monorepo|en|monorepo}}内に格納されたコードとリソースからなる、小さく再利用可能なモジュールをビルドするために設計された<ref>{{Cite web|title=Overview|url=https://buck.build/about/overview.html|website=Buck: a build tool|accessdate=2018-07-16|quote=Buck is designed to build multiple deliverables from a single repository—that is, a monorepo—rather than from multiple repositories}}</ref>。ソースコードの入力として、[[C++]]([[Objective-C]]、[[Swift (プログラミング言語)|Swift]])、[[Bash|Shell]]、[[Java]]([[Kotlin]]、[[Groovy]])、[[Python]]、[[Lua]]、[[OCaml]]、[[Rust (プログラミング言語)|Rust]]、[[Go (プログラミング言語)|Go]]やその他の言語に対応している。 [[IOS (Apple)|iOS]]、[[Android (オペレーティングシステム)|Android]]、[[.NET Framework|.NET]]、[[Java仮想マシン|Java VM]][[ランタイムシステム|ランタイム]]を含むさまざまなターゲットプラットフォーム向けのバイナリ出力が生成できる。Buckは[[Apache License|Apache License 2.0]]でライセンスされている{{r|"license"}}。
'''Buck'''は、[[Facebook]]により開発・使用されている複数言語に対応したビルドシステムである。{{Ill|monorepo|en|monorepo}}内に格納されたコードとリソースからなる、小さく再利用可能なモジュールをビルドするために設計された<ref>{{Cite web|title=Overview|url=https://buck.build/about/overview.html|website=Buck: a build tool|accessdate=2018-07-16|quote=Buck is designed to build multiple deliverables from a single repository—that is, a monorepo—rather than from multiple repositories}}</ref>。ソースコードの入力として、[[C++]]([[Objective-C]]、[[Swift (プログラミング言語)|Swift]])、[[Bash|Shell]]、[[Java]]([[Kotlin]]、[[Groovy]])、[[Python]]、[[Lua]]、[[OCaml]]、[[Rust (プログラミング言語)|Rust]]、[[Go (プログラミング言語)|Go]]やその他の言語に対応している。 [[iOS]]、[[Android (オペレーティングシステム)|Android]]、[[.NET Framework|.NET]]、[[Java仮想マシン|Java VM]][[ランタイムシステム|ランタイム]]を含むさまざまなターゲットプラットフォーム向けのバイナリ出力が生成できる。Buckは[[Apache License|Apache License 2.0]]でライセンスされている{{r|"license"}}。


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

2021年11月10日 (水) 06:19時点における版

Buck
開発元 Facebook, Inc.
初版 2013年4月17日 (11年前) (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”

外部リンク