apache / apache/buildstream-plugins

Create a bazel build element

Offen
#30 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Python
Sterne
8
Forks
16
Ø Merge
36 Min.
Gemergte PRs (30 T.)
2

Beschreibung

[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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der verknüpften GitLab-Issue und ihrer Background- und Task-Beschreibung. Erfasse die vorhandenen BuildStream-Element-Einstiegspunkte, bevor du die sandboxed Bazel-Ausführung, die rekursive Abhängigkeitsbehandlung, die WORKSPACE-Generierung, das Einbinden eines persistenten Caches und die Toolchain-Generierung für die Zielplattform entwirfst; als abgeschlossen gilt die Arbeit, wenn diese Anforderungen gemeinsam unterstützt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.