1. Agregar reglas
A menudo veo líneas como load (xxxxxxxxxx) en el archivo de compilación. Esta es una regla agregada al archivo.
load ("@ build_bazel_rules_apple // apple: iso.bzl", "ios_application") le dice a bazel que use las reglas en la biblioteca build_bazel_rulers_apple para compilar el Destino correspondiente. (cargar contenido del archivo apple: iso.bzl)
Para el siguiente código:
cc_library (
name = "universal_lib",
srcs = [
""
]
hdrs = [
]
) Transmite la siguiente información:
1. El nombre del destino donde se encuentra la línea de código después de que se compila en una biblioteca estática
2. La línea srcs le dice a Bazel qué archivos de origen deben compilarse
3. Los archivos de encabezado de la línea hdrs son cc_library instrucciones de compilación integradas de bazel
ios_application (
name =
bundle_id = "com.sunxxx.universal", Families
= ["iphone", "ipad",]
minimum_os_version = "9.0",
infoplists = [": universal / Info.plist"],
visibilidad = ["/ / visibilidad: public "],
deps = [": universal_lib "],)
donde el nombre no necesita ser explicado; build_id es el identificador único de la aplicación; familier es compatible con iphone o ipad;
versión mínima admitida mínima_os_version; ruta del archivo infoplists info.plist; visibilidad Si la biblioteca es visible para otras bibliotecas;
detalla el nombre de la biblioteca estática de la que depende;
Acerca de la introducción de las reglas de Bazel: Reglas
C / C ++: https://docs.bazel.build/versions/master/be/c-cpp.html#cc-rules
Reglas generales: https://docs.bazel.build/versions /master/be/general.html#genruleOther
: https://docs.bazel.build/versions/master/be/functions.html#package_group
https://blog.csdn.net/langb2014/article/details/54314501
Lista de reglas: cc_binary cc_import cc_library cc_proto_library fdo_prefetch_hints
fdo_profile cc_test cc_toolchain cc_toolchain_suite
Común en Apolo son cc_binary cc_library cc_test
Existe un grupo de archivos (
nombre = ""
srcs = glob (["data / * *",]),
donde data / * * es 0 para más de un directorio bajo el directorio de datos puede entenderse como un comodín de directorio, si es un "*" Se puede entender como un comodín para el nombre del archivo.