apache / apache/buildstream-plugins
Create a bazel build element
- 主要言語
- Python
- スター
- 8
- フォーク
- 16
- 平均マージ
- 36分
- マージ済み PR(30日)
- 2
説明
[See original issue on GitLab](https://gitlab.com/BuildStream/buildstream/-/issues/529)
In GitLab by [[Gitlab user @edbaunton]](https://gitlab.com/edbaunton) on Jul 30, 2018, 16:20
## Background
Create an element that provides support for building with `bazel`.
Specifically, a bst would declare itself of kind `bazel` and BuildStream would take care of generating the `WORKSPACE` file by recursively scanning the dependencies of the element being built.
## Task description
* `bazel` would be executed inside the sandbox (not using a host tool)
* The workspace file would identify the built sources to consume with `new_local_repository` rules; if it encounters a dependency of type `bazel` it would stage the sources rather than the binaries and consume the `BUILD` file to leverage `bazel`.
* `bazel` would need access to a persistent disk cache (use `_set_mount_source`?) between BuildStream runs so as to take advantage of its built in caching. The `bazel` server will actually be torn down between runs but it is said to serialize its state between runs so the startup time will no be prohibitive.
* Toolchain generation: we need to generate correct toolchain for the target platform and have that be considered as part of the key for the element.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
リンクされた GitLab issue と、その Background および Task の説明から始めます。sandbox 化された Bazel 実行、再帰的な依存関係の処理、WORKSPACE の生成、永続キャッシュのマウント、ターゲットプラットフォーム向けのツールチェーン生成を設計する前に、既存の BuildStream 要素のエントリーポイントを把握します。これらの要件が一体としてサポートされれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- build-system
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100