Por el momento, el único tipo de complementos compatibles son los procesadores de anotaciones.
Miembros
JavaPluginInfo
JavaPluginInfo JavaPluginInfo(runtime_deps, *, processor_class, data=[], generates_api=False)El constructor
JavaPluginInfo
Parámetros
Parámetro | Descripción |
---|---|
runtime_deps
|
sequence of JavaInfos (obligatorio)La biblioteca que contiene un procesador de anotaciones. |
processor_class
|
string; or None (obligatorio)El nombre de clase completamente calificado que el compilador de Java usa como punto de entrada al procesador de anotaciones. |
data
|
sequence of Files; or depset of Files ;
default = []Son los archivos que necesita este procesador de anotaciones durante la ejecución. |
generates_api
|
default = False Se establece como verdadero cuando este procesador de anotaciones genera código de API. Este procesador de anotaciones se aplica a un objetivo de Java antes de producir sus archivos jar de encabezado (que contiene firmas de métodos). Cuando no hay complementos de API presentes, se generan los archivos jar de encabezado desde las fuentes, lo que reduce la ruta crítica. ADVERTENCIA: Este parámetro afecta el rendimiento de la compilación. Úsalo solo si es necesario. |
api_generating_plugins
JavaPluginData JavaPluginInfo.api_generating_pluginsMuestra datos sobre los complementos que generan API definidos o exportados por este destino.
Esos procesadores de anotaciones se aplican a un destino Java antes de producir sus archivos jar de encabezado (que contienen firmas de métodos). Cuando no hay complementos de API, se generan los archivos jar de encabezado desde las fuentes, lo que reduce la ruta crítica.
api_generating_plugins
es un subconjunto de plugins
.
java_outputs
list JavaPluginInfo.java_outputsMuestra información sobre los resultados de este objetivo similar a Java/Java.
Complementos
JavaPluginData JavaPluginInfo.pluginsMuestra datos sobre todos los complementos que debe aplicar un destino de consumo.
Por lo general, es un java_plugin
o un java_library
que exporta uno o más complementos.
Un java_library
ejecuta el procesamiento de anotaciones con todos los complementos de este campo que aparecen en los atributos deps
y plugins
.
to_json
string JavaPluginInfo.to_json()Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con
---incompatible_struct_has_no_methods
. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente. Crea una string JSON a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, una lista de estos tipos o un diccionario con claves de string y valores de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de escape. Ejemplos:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}.
Obsoleto: En su lugar, usa json.encode(x) o json.encode_indent(x), que funcionan para valores distintos de structs y no contaminan el espacio de nombres del campo struct.
to_proto
string JavaPluginInfo.to_proto()Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con
---incompatible_struct_has_no_methods
. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente. Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, diccionarios o listas de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de escape. Las claves de struct se iteran en el orden ordenado. Ejemplos:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
Obsoleto: usa proto.encode_text(x) en su lugar.