apache / apache/buildstream-plugins
Create a bazel build element
- Lingua principale
- Python
- Stelle
- 8
- Fork
- 16
- Merge medio
- 36m
- PR unite (30g)
- 2
Descrizione
[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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia dall’issue GitLab collegata e dalla relativa descrizione di Background e Task. Mappa i punti di ingresso esistenti degli elementi BuildStream prima di progettare l’esecuzione di Bazel in sandbox, la gestione ricorsiva delle dipendenze, la generazione di WORKSPACE, il montaggio di una cache persistente e la generazione della toolchain per la piattaforma di destinazione; il lavoro è completato quando questi requisiti sono supportati insieme.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- build-system
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100