apache / apache/buildstream-plugins

Create a bazel build element

オープン
#30 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。