apache / apache/buildstream-plugins

Create a bazel build element

Aperta
#30 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.