Public data in plugin yaml is ignored
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- build-system
Línea de trabajo
Compara la sección pública de my-plugin.yaml con la ruta get_public_data("bst") y set_public_data("bst", ...) mostrada en my-plugin.py. Empieza cargando el plugin de ejemplo y siguiendo cómo se procesa su YAML. Se considera completado cuando se respeta el YAML público o su carga produce un error de validación claro.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When writing a new plugin e.g.:
my-plugin.py
from buildstream import BuildElement
class MyPluginElement(BuildElement):
BST_MIN_VERSION = "2.2"
def setup():
return MyPluginElement
my-plugin.yaml
variables:
my_var: "some value"
config:
install-commands:
- echo "Installing a file to %{install-root}"
public:
bst:
split-rules:
integration-commands:
- echo "integrating artifacts"
devel:
- /my/custom/development/paths
The public section of the YAML is ignored by Buildstream.
Instead it's required to go via the python API:
from buildstream import BuildElement
class MyPluginElement(BuildElement):
BST_MIN_VERSION = "2.2"
def assemble(self, sandbox):
collectdir = super().assemble(sandbox)
bstdata = self.get_public_data("bst")
bstdata["integration-commands"] = [ 'echo "integrating artifacts" ' ]
bstdata["split-rules"] = {
"devel" : [ " /my/custom/development/paths" ]
}
self.set_public_data("bst", bstdata)
return collectdir
def setup():
return MyPluginElement
Proposed solutions from @gtristan
It should either (A) Be supported or (B) Trigger a validation error at load time
- Lenguaje dominante
- Python
- Estrellas
- 144
- Forks
- 45
- Merge medio
- 20 h 38 min
- PR fusionados (30 d)
- 6
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/buildstream
-
logging
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/buildstream#2150 · 3 comentarios ·
-
question
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
apache/buildstream#2143 · 2 comentarios · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
apache/buildstream#2194 ·
-
Modification time of an element with an open workspace propagates into consumer element's sandbox Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
apache/buildstream#2186 · 2 comentarios · 2 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
apache/buildstream#2184 · 1 comentario ·
Todos los issues de apache/buildstream
Issues similares
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
open-webui/open-webui#30750 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100