マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

ツール・サービス紹介

2023.04.12

【OSS情報】大規模ビルドツール「Buck2」

【OSS情報】大規模ビルドツール「Buck2」

オープンソース大規模ビルドツール「Buck2」の
「概要」「特徴」「機能」「オフィシャルサイト情報」について紹介しています。

【OSS情報】大規模ビルドツール「Buck2」

【OSS情報】大規模ビルドツール「Buck2」

Buck2の「概要」

「Buck2」(バック2)とは、Meta(Facebook)が提供する大規模ビルドツールです。
「高速」「高信頼性」「拡張性」を特徴としており、多くのプラットフォームでさまざまな言語をサポートしています。

ポイント

・多言語対応 :「C++」「Python」「Java」「Rust」など
・「コアルール」と「言語固有ルール」の完全な分離
・ビルド依存関係を分析
・リモート実行
・並列処理
・仮想ファイルシステム統合
・従来版「Buck」より約2倍の高速化
・大規模プロジェクト向けに最適化

Buck2の「特徴」

ビルドツール「Buck」の後継

■「Buck」とは
・Meta(Facebook)が開発したビルドツール
・有能なビルドシステム
・Meta(Facebook)の一部で使用されている

■「Buck2」とは
・「Buck1」の最良の部分を維持することを目的とした書き直し
・他ビルドシステムからのアイデアも取り入れている :「Bazel」「Pants」「Shake」「Tup」など
・「Buck1」の2倍の速さでビルドを完了

■Buck2をBuck1と比較した場合の利点
→buck2.build →docs →benefits

クエリ可能なターゲット

・ビルドは「BUCKファイルで指定された一連のターゲット」として定義
・他のターゲットに依存
・ターゲットグラフを照会できる
・潜在的な影響を理解できる :それらが互いにどのように関連しているか?

高信頼性ビルド

・Buck2ルールはデフォルトで密閉
・依存関係の欠落はエラーとなる
・これらの制限は「ユーザー作成BUCKファイル」と「言語規則」の両方に適用

フェーズ並列化

・ユーザーが要求した結果をもたらす単一グラフ内の一連の依存関係のみ
・異なるフェーズを並列化
・変化を正確に追跡できる

Pythonライク言語「Starlark」

・「Starlark」=決定論的なPythonライク言語
・すべてのルールは Starlarkで記述
・ターゲットをリテラルとして定義する
・高度な操作や共有を可能にする
・ルール反復処理が大幅に高速化

Buck2の「機能」

リモート実行機能

・一連のリモートサーバにアクションを送信してビルド実行
・並列処理が大幅に向上

複数プログラミング言語構成機能

■1つのビルドに多数の異なる言語を含めることができる
・C++
・Python
・Java
・Go
・Rust
・Erlang
・OCaml

ファイル監視機能

・ファイル変更モニタリングツール「Watchman」と統合
・どのファイルが変更されたかを検出

仮想ファイルシステム「Eden」統合機能

・優れたパフォーマンスが得られる
・通常のファイルシステムでも問題なく動作する

Buck2の「オフィシャルサイト情報」

オフィシャルサイト

→buck2.build

GitHubページ

→github.com →facebook →buck2

主要開発元

Buck2は「Meta(Facebook)」が中心となり開発が進められています。

→opensource.fb.com

ライセンス情報

Buck2のライセンスは「MIT License」+「Apache License 2.0」です。

詳細について、こちらを参照ください。

→github.com →facebook →buck2 →LICENSE-MIT

→github.com →facebook →buck2 →LICENSE-APACHE

コンパイル環境

Buck2はRustで記述されているため、コンパイルにはRust公式インストーラー「rustup」が必要です。

インストール

→buck2.build →docs →getting_started

【お知らせ】ITセミナー「マジセミ」のご紹介

「 マジセミ 」では、日々、多くのIT関連セミナーを開催しています。

参加者のみなさまのために「本当に役立つ情報の提供」を目標としています。

また、「 マジセミ 」を通じて、デジタル関連プロダクト(サービス)との「新たな出会いの場」「新たな体験の場」を創造することで、「IT業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。

多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ一度、ご参加ください。

マジセミ


参考サイト
→github.com →facebook →buck2
→buck2.build

おすすめの記事

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。