Saat ini, satu-satunya jenis plugin yang didukung adalah pemroses anotasi.
Anggota
JavaPluginInfo
JavaPluginInfo JavaPluginInfo(runtime_deps, *, processor_class, data=[], generates_api=False)
JavaPluginInfo
.
Parameter
Parameter | Deskripsi |
---|---|
runtime_deps
|
sequence of JavaInfos ;
wajibLibrary yang berisi pemroses anotasi. |
processor_class
|
string; or None ;
wajibNama class yang sepenuhnya memenuhi syarat yang digunakan compiler Java sebagai titik entri ke pemroses anotasi. |
data
|
sequence of Files; or depset of Files ;
default = []File yang diperlukan oleh pemroses anotasi ini selama eksekusi. |
generates_api
|
default = Salah Tetapkan ke true saat pemroses anotasi ini membuat kode API. Pemroses anotasi tersebut diterapkan ke target Java sebelum memproduksi jar header-nya (yang berisi tanda tangan metode). Jika tidak ada plugin API, header jar akan dibuat dari sumber, sehingga mengurangi jalur penting. PERINGATAN: Parameter ini memengaruhi performa build. Gunakan parameter ini hanya jika diperlukan. |
api_generating_plugins
JavaPluginData JavaPluginInfo.api_generating_plugins
Pemroses anotasi tersebut diterapkan ke target Java sebelum menghasilkan jar header-nya (yang berisi tanda tangan metode). Jika tidak ada plugin API, header jar akan dibuat dari sumber, sehingga mengurangi jalur penting.
api_generating_plugins
adalah subset dari plugins
.
java_outputs
list JavaPluginInfo.java_outputs
plugin
JavaPluginData JavaPluginInfo.plugins
Ini biasanya berupa java_plugin
itu sendiri atau java_library
yang mengekspor satu atau beberapa plugin.
java_library
menjalankan pemrosesan anotasi dengan semua plugin dari kolom ini yang muncul di atribut deps
dan plugins
.
to_json
string JavaPluginInfo.to_json()
---incompatible_struct_has_no_methods
. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi. Membuat string JSON dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (rekursif) adalah string, int, boolean, struct lainnya, daftar jenis ini, atau kamus dengan kunci string dan nilai jenis ini. Tanda kutip dan baris baru dalam string akan di-escape. Contoh:
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"}}}
Tidak digunakan lagi: sebagai gantinya, gunakan json.encode(x) atau json.encode_indent(x), yang berfungsi untuk nilai selain struct dan tidak mencemari namespace kolom struct.
to_proto
string JavaPluginInfo.to_proto()
---incompatible_struct_has_no_methods
. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi. Membuat pesan teks dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (rekursif) adalah string, int, boolean, struct atau dict lain, atau daftar jenis ini. Tanda kutip dan baris baru dalam string akan di-escape. Kunci struktur diiterasi dalam urutan yang diurutkan. Contoh:
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 # }
Tidak digunakan lagi: sebagai gantinya, gunakan proto.encode_text(x).