Reglas
j2objc_library
Ver la fuente de la reglaj2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
Esta regla usa J2ObjC para traducir archivos fuente de Java a Objective-C, que luego se pueden usar como dependencias de las reglas objc_library y objc_binary. Encontrarás información detallada sobre J2ObjC en el sitio de J2ObjC.
Las marcas de transpilación de J2ObjC personalizadas se pueden especificar con la marca de compilación --j2objc_translation_flags en la línea de comandos.
Ten en cuenta que los archivos traducidos incluidos en un destino j2objc_library se compilarán con la configuración de compilación predeterminada, la misma configuración que para las fuentes de una regla objc_library sin opciones de compilación especificadas en los atributos.
Además, el código generado se elimina de forma duplicada a nivel del destino, no a nivel de la fuente. Si tienes dos destinos de Java diferentes que incluyen los mismos archivos fuente de Java, es posible que veas un error de símbolo duplicado en el momento de la vinculación. La forma correcta de resolver este problema es mover los archivos de origen de Java compartidos a un destino común independiente del que se pueda depender.
Argumentos
| Atributos | |
|---|---|
| name | Nombre: Obligatorio Es un nombre único para este destino. | 
| deps | Lista de etiquetas. El valor predeterminado es  j2objc_library,java_library,java_importyjava_proto_libraryque contienen archivos Java que se deben transpilar a Objective-C.Todos los destinos  La traducción de J2ObjC funciona de manera diferente según el tipo de archivos fuente de Java incluidos en el cierre transitivo. Para cada archivo fuente .java incluido en  Los usuarios pueden importar los archivos de encabezado generados por J2ObjC en su código. Las rutas de importación de estos archivos son las rutas relativas a la raíz de los artefactos originales de Java. Por ejemplo,
         
        Si las reglas de proto_library están en el cierre transitivo de esta regla, los protos de J2ObjC también se generarán, compilarán y vincularán a nivel binario. Para el archivo .proto  | 
| entry_classes | Lista de cadenas; el valor predeterminado es  --j2objc_dead_code_removal
        está activada. Las clases de Java se deben especificar con sus nombres canónicos, según se definen en la especificación del lenguaje Java.
        Cuando se especifica la marca--j2objc_dead_code_removal, la lista de clases de entrada se recopilará de forma transitiva y se usará como puntos de entrada para realizar el análisis de código no utilizado.
        Luego, las clases sin usar se quitarán del paquete final de la app para ObjC. | 
| jre_deps | Lista de etiquetas. El valor predeterminado es  j2objc_library. De forma predeterminada, solo se vincula la funcionalidad principal del JRE. | 
objc_import
Ver la fuente de la reglaobjc_import(name, deps, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, features, includes, licenses, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, visibility, weak_sdk_frameworks)
Esta regla encapsula una biblioteca estática ya compilada en forma de un archivo .a. También permite exportar encabezados y recursos con los mismos atributos que admite objc_library.
Argumentos
| Atributos | |
|---|---|
| name | Nombre: Obligatorio Es un nombre único para este destino. | 
| deps | Lista de etiquetas. El valor predeterminado es  | 
| hdrs | Lista de etiquetas. El valor predeterminado es  Estos encabezados describen la interfaz pública de la biblioteca y estarán disponibles para su inclusión por parte de las fuentes en esta regla o en reglas dependientes. Los encabezados que no deben incluirse en un cliente de esta biblioteca deben aparecer en el atributo srcs. Se compilarán por separado de la fuente si los módulos están habilitados. | 
| alwayslink | Booleano; el valor predeterminado es  srcsynon_arc_srcs, incluso si algunos no contienen símbolos a los que hace referencia el archivo binario.
          Esto es útil si el código no se llama de forma explícita en el código binario, por ejemplo, si el código se registra para recibir alguna devolución de llamada proporcionada por algún servicio. | 
| archives | Lista de etiquetas; obligatoriaEs la lista de archivos .aproporcionados a los destinos de Objective-C que dependen de este destino. | 
| includes | Lista de cadenas; el valor predeterminado es  #include/#importque se agregarán a este destino y a todos los destinos dependientes.
          Esto es para admitir bibliotecas de terceros y de código abierto que no especifican la ruta de acceso completa del espacio de trabajo en sus instrucciones#import/#include.
          Las rutas de acceso se interpretan en relación con el directorio del paquete, y las raíces de genfiles y bin (p.ej.,  A diferencia de COPTS, estas marcas se agregan para esta regla y para todas las reglas que dependen de ella. (Nota: No son las reglas de las que depende). Ten mucho cuidado, ya que esto puede tener efectos de gran alcance. Si tienes dudas, agrega marcas "-iquote" a COPTS. | 
| sdk_dylibs | Lista de cadenas; el valor predeterminado es  | 
| sdk_frameworks | Lista de cadenas; el valor predeterminado es  Cuando se vincula un objeto binario de Apple de nivel superior, se vinculan todos los frameworks del SDK que se enumeran en el gráfico de dependencia transitiva de ese objeto binario. | 
| sdk_includes | Lista de cadenas; el valor predeterminado es  #include/#importque se agregarán a este destino y a todos los destinos dependientes, en la que cada ruta de acceso es relativa a$(SDKROOT)/usr/include. | 
| textual_hdrs | Lista de etiquetas. El valor predeterminado es  | 
| weak_sdk_frameworks | Lista de cadenas; el valor predeterminado es  | 
objc_library
Ver la fuente de la reglaobjc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, copts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, implementation_deps, includes, licenses, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
Esta regla produce una biblioteca estática a partir de los archivos fuente de Objective-C proporcionados.
Argumentos
| Atributos | |
|---|---|
| name | Nombre: Obligatorio Es un nombre único para este destino. | 
| deps | Lista de etiquetas. El valor predeterminado es  | 
| srcs | Lista de etiquetas. El valor predeterminado es  | 
| hdrs | Lista de etiquetas. El valor predeterminado es  Estos encabezados describen la interfaz pública de la biblioteca y estarán disponibles para su inclusión por parte de las fuentes en esta regla o en reglas dependientes. Los encabezados que no deben incluirse en un cliente de esta biblioteca deben aparecer en el atributo srcs. Se compilarán por separado de la fuente si los módulos están habilitados. | 
| alwayslink | Booleano; el valor predeterminado es  srcsynon_arc_srcs, incluso si algunos no contienen símbolos a los que hace referencia el archivo binario.
          Esto es útil si el código no se llama de forma explícita en el código binario, por ejemplo, si el código se registra para recibir alguna devolución de llamada proporcionada por algún servicio. | 
| copts | Lista de cadenas; el valor predeterminado es  Ten en cuenta que, para el proyecto de Xcode generado, se analizan las rutas de acceso a directorios especificadas con marcas "-I" en copts, se les antepone "$(WORKSPACE_ROOT)/" si son rutas relativas y se agregan a las rutas de búsqueda de encabezados para el destino de Xcode asociado. | 
| defines | Lista de cadenas; el valor predeterminado es  -Dadicionales para pasar al compilador. Deben tener la formaKEY=VALUEo simplementeKEY, y se pasan no solo al compilador de este destino (comocopts), sino también a todos los dependientes deobjc_de este destino.
          Sujeto a la sustitución de "Make variable" y la tokenización de Bourne shell. | 
| enable_modules | Booleano; el valor predeterminado es  | 
| implementation_deps | Lista de etiquetas. El valor predeterminado es  deps, los encabezados y las rutas de inclusión de estas bibliotecas (y todas sus dependencias transitivas) solo se usan para la compilación de esta biblioteca, y no para las bibliotecas que dependen de ella. Las bibliotecas especificadas conimplementation_depsaún se vinculan
          en los destinos binarios que dependen de esta biblioteca. | 
| includes | Lista de cadenas; el valor predeterminado es  #include/#importque se agregarán a este destino y a todos los destinos dependientes.
          Esto es para admitir bibliotecas de terceros y de código abierto que no especifican la ruta de acceso completa del espacio de trabajo en sus instrucciones#import/#include.
          Las rutas de acceso se interpretan en relación con el directorio del paquete, y las raíces de genfiles y bin (p.ej.,  A diferencia de COPTS, estas marcas se agregan para esta regla y para todas las reglas que dependen de ella. (Nota: No son las reglas de las que depende). Ten mucho cuidado, ya que esto puede tener efectos de gran alcance. Si tienes dudas, agrega marcas "-iquote" a COPTS. | 
| linkopts | Lista de cadenas; el valor predeterminado es  | 
| module_map | Etiqueta: El valor predeterminado es  | 
| module_name | Cadena. El valor predeterminado es  | 
| non_arc_srcs | Lista de etiquetas. El valor predeterminado es  | 
| pch | Etiqueta: El valor predeterminado es  | 
| sdk_dylibs | Lista de cadenas; el valor predeterminado es  | 
| sdk_frameworks | Lista de cadenas; el valor predeterminado es  Cuando se vincula un objeto binario de Apple de nivel superior, se vinculan todos los frameworks del SDK que se enumeran en el gráfico de dependencia transitiva de ese objeto binario. | 
| sdk_includes | Lista de cadenas; el valor predeterminado es  #include/#importque se agregarán a este destino y a todos los destinos dependientes, en la que cada ruta de acceso es relativa a$(SDKROOT)/usr/include. | 
| textual_hdrs | Lista de etiquetas. El valor predeterminado es  | 
| weak_sdk_frameworks | Lista de cadenas; el valor predeterminado es  | 
available_xcodes
Ver la fuente de la reglaavailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Una instancia de la regla xcode_config puede depender de dos destinos de esta regla para indicar las versiones de Xcode disponibles de forma remota y local.
Esto permite seleccionar una versión oficial de Xcode entre las versiones disponibles de forma colectiva.
Argumentos
| Atributos | |
|---|---|
| name | Nombre: Obligatorio Es un nombre único para este destino. | 
| default | Label: No configurable; obligatorioEs la versión predeterminada de Xcode para esta plataforma. | 
| versions | Lista de etiquetas; no configurable; el valor predeterminado es  | 
xcode_config
Ver la fuente de la reglaxcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
La marca de compilación --xcode_version_config puede hacer referencia a un solo destino de esta regla para traducir la marca --xcode_version a una versión oficial aceptada de Xcode.
Esto permite seleccionar una versión oficial de Xcode entre varios alias registrados.
Argumentos
| Atributos | |
|---|---|
| name | Nombre: Obligatorio Es un nombre único para este destino. | 
| default | Etiqueta; no configurable; el valor predeterminado es  xcode_versionproporcionado se usará si no se especifica ninguna marca de compilaciónxcode_version. Es obligatorio si se configura algúnversions. No se puede establecer si se configuranremote_versionsolocal_versions. | 
| local_versions | Etiqueta; no configurable; el valor predeterminado es  xcode_versionque están disponibles a nivel local.
        Se usan junto conlocal_versionspara seleccionar una versión disponible mutuamente. Es posible que no se establezca si se configuraversions. | 
| remote_versions | Etiqueta; no configurable; el valor predeterminado es  xcode_versionque están disponibles de forma remota.
        Se usan junto conremote_versionspara seleccionar una versión disponible mutuamente. Es posible que no se establezca si se configuraversions. | 
| versions | Lista de etiquetas; no configurable; el valor predeterminado es  xcode_versionaceptados que se pueden usar.
        Si el valor de la marca de compilaciónxcode_versioncoincide con uno de los alias o el número de versión de cualquiera de los destinosxcode_versionproporcionados, se usará el destino coincidente. No se puede establecer si se configuranremote_versionsolocal_versions. | 
xcode_version
Ver la fuente de la reglaxcode_version(name, default_ios_sdk_version, default_macos_sdk_version, default_tvos_sdk_version, default_visionos_sdk_version, default_watchos_sdk_version, deprecation, distribs, features, licenses, tags, testonly, version, visibility)
Representa una sola versión oficial de Xcode con alias aceptables para esa versión.
Consulta la regla xcode_config.
Argumentos
| Atributos | |
|---|---|
| name | Nombre: Obligatorio Es un nombre único para este destino. | 
| default_ios_sdk_version | Cadena; no configurable; el valor predeterminado es  ios_sdk_versionanulará el valor especificado aquí. | 
| default_macos_sdk_version | Cadena; no configurable; el valor predeterminado es  macos_sdk_versionanulará el valor especificado aquí. | 
| default_tvos_sdk_version | Cadena; no configurable; el valor predeterminado es  tvos_sdk_versionanulará el valor especificado aquí. | 
| default_visionos_sdk_version | Cadena; no configurable; el valor predeterminado es  visionos_sdk_versionanulará el valor especificado aquí. | 
| default_watchos_sdk_version | Cadena; no configurable; el valor predeterminado es  watchos_sdk_versionanulará el valor especificado aquí. | 
| version | Cadena; no configurable; obligatorioEs el número de versión oficial de una versión de Xcode. |