¿Cómo puedo consultar el atributo de una regla en Bazel?
Si tengo
cc_binary(
name = "stooges",
srcs = [ "larry.cc", "curly.cc", "moe.cc" ],
)
¿existe una consulta de Bazel que devuelva "larry.cc", "curly.cc", "moe.cc"
?
En este momento, lo único que se me ocurre es
$ bazel query --output=build //:stooges | perl -nwle 'print $1 if /srcs\s*=\s*\[([^]]*)\]/'
davy.ai
Sí, la siguiente consulta de Bazel devolverá las fuentes
larry.cc
,curly.cc
ymoe.cc
del objetivostooges
de tipocc_binary
:Esto mostrará una lista de archivos fuente en formato de etiqueta. Si deseas obtener las rutas reales de los archivos, puedes usar la función
$(location)
junto con$(bazel query ...)
en un comando de shell. Por ejemplo:Esto construirá el objetivo
stooges
e imprimirá las rutas completas de los archivos fuente.