Aturan
j2objc_library
Lihat sumber aturanj2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
Aturan ini menggunakan J2ObjC untuk menerjemahkan file sumber Java ke Objective-C, yang kemudian dapat digunakan sebagai dependensi aturan objc_library dan objc_binary. Informasi mendetail tentang J2ObjC itu sendiri dapat ditemukan di situs J2ObjC
Flag transpilasi J2ObjC kustom dapat ditentukan menggunakan flag build
--j2objc_translation_flags di command line.
Perhatikan bahwa file yang diterjemahkan yang disertakan dalam target j2objc_library akan dikompilasi menggunakan konfigurasi kompilasi default, konfigurasi yang sama seperti untuk sumber aturan objc_library tanpa opsi kompilasi yang ditentukan dalam atribut.
Selain itu, kode yang dihasilkan akan dihapus duplikasinya di tingkat target, bukan tingkat sumber. Jika memiliki dua target Java berbeda yang menyertakan file sumber Java yang sama, Anda mungkin melihat error simbol duplikat pada waktu penautan. Cara yang tepat untuk mengatasi masalah ini adalah dengan memindahkan file sumber Java bersama ke target umum terpisah yang dapat diandalkan.
Argumen
| Atribut | |
|---|---|
| name | Nama; wajib Nama unik untuk target ini. | 
| deps | Daftar label; defaultnya adalah  j2objc_library,java_library,java_import, danjava_proto_libraryyang berisi
        file Java yang akan ditranspilasi ke Objective-C.Semua target  Terjemahan J2ObjC berfungsi secara berbeda, bergantung pada jenis file sumber Java yang disertakan dalam penutupan transitif. Untuk setiap file sumber .java yang disertakan dalam
         Pengguna dapat mengimpor file header yang dibuat J2ObjC dalam kode mereka. Jalur impor untuk
        file ini adalah jalur relatif root dari artefak Java asli. Misalnya,
         
        Jika aturan proto_library berada dalam penutupan transitif aturan ini, proto J2ObjC juga akan
        dibuat, dikompilasi, dan ditautkan di tingkat biner. Untuk proto
         | 
| entry_classes | Daftar string; defaultnya adalah  --j2objc_dead_code_removal
        aktif. Class Java harus ditentukan dalam nama kanonisnya sebagaimana ditentukan oleh
        Spesifikasi
        Bahasa Java.
        Jika tanda--j2objc_dead_code_removalditentukan, daftar class entri
        akan dikumpulkan secara transitif dan digunakan sebagai titik entri untuk melakukan analisis kode tidak terpakai.
        Class yang tidak digunakan kemudian akan dihapus dari paket aplikasi ObjC akhir. | 
| jre_deps | Daftar label; defaultnya adalah  j2objc_libraryini. Hanya fungsi JRE inti yang ditautkan secara default. | 
objc_import
Lihat sumber aturanobjc_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)
Aturan ini merangkum library statis yang sudah dikompilasi dalam bentuk file
.a. Hal ini juga memungkinkan header dan resource diekspor menggunakan atribut yang sama yang didukung oleh objc_library.
Argumen
| Atribut | |
|---|---|
| name | Nama; wajib Nama unik untuk target ini. | 
| deps | Daftar label; defaultnya adalah  | 
| hdrs | Daftar label; defaultnya adalah  Header ini menjelaskan antarmuka publik untuk library dan akan disediakan untuk disertakan oleh sumber dalam aturan ini atau dalam aturan dependen. Header yang tidak dimaksudkan untuk disertakan oleh klien library ini harus dicantumkan dalam atribut srcs. File ini akan dikompilasi secara terpisah dari sumber jika modul diaktifkan. | 
| alwayslink | Boolean; defaultnya adalah  srcsdannon_arc_srcs, meskipun beberapa tidak berisi
          simbol yang dirujuk oleh biner.
          Hal ini berguna jika kode Anda tidak dipanggil secara eksplisit oleh kode dalam
          biner, misalnya, jika kode Anda mendaftar untuk menerima beberapa callback
          yang disediakan oleh beberapa layanan. | 
| archives | Daftar label; wajib diisiDaftar file .ayang diberikan ke target Objective-C yang
        bergantung pada target ini. | 
| includes | Daftar string; defaultnya adalah  #include/#importyang akan ditambahkan ke target ini
          dan semua target yang bergantung.
          Hal ini untuk mendukung library pihak ketiga dan open source yang tidak
          menentukan seluruh jalur ruang kerja dalam pernyataan#import/#include.
          Jalur ditafsirkan relatif terhadap direktori paket, dan
          root genfiles dan bin (misalnya,  Tidak seperti COPTS, tanda ini ditambahkan untuk aturan ini dan setiap aturan yang bergantung padanya. (Catatan: bukan aturan yang bergantung padanya.) Berhati-hatilah, karena hal ini dapat berdampak luas. Jika ragu, tambahkan tanda "-iquote" ke COPTS. | 
| sdk_dylibs | Daftar string; defaultnya adalah  | 
| sdk_frameworks | Daftar string; defaultnya adalah  Saat menautkan biner Apple tingkat teratas, semua framework SDK yang tercantum dalam grafik dependensi transitif biner tersebut akan ditautkan. | 
| sdk_includes | Daftar string; defaultnya adalah  #include/#importyang akan ditambahkan ke target ini
          dan semua target yang bergantung, dengan setiap jalur relatif terhadap$(SDKROOT)/usr/include. | 
| textual_hdrs | Daftar label; defaultnya adalah  | 
| weak_sdk_frameworks | Daftar string; defaultnya adalah  | 
objc_library
Lihat sumber aturanobjc_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)
Aturan ini menghasilkan library statis dari file sumber Objective-C yang diberikan.
Argumen
| Atribut | |
|---|---|
| name | Nama; wajib Nama unik untuk target ini. | 
| deps | Daftar label; defaultnya adalah  | 
| srcs | Daftar label; defaultnya adalah  | 
| hdrs | Daftar label; defaultnya adalah  Header ini menjelaskan antarmuka publik untuk library dan akan disediakan untuk disertakan oleh sumber dalam aturan ini atau dalam aturan dependen. Header yang tidak dimaksudkan untuk disertakan oleh klien library ini harus dicantumkan dalam atribut srcs. File ini akan dikompilasi secara terpisah dari sumber jika modul diaktifkan. | 
| alwayslink | Boolean; defaultnya adalah  srcsdannon_arc_srcs, meskipun beberapa tidak berisi
          simbol yang dirujuk oleh biner.
          Hal ini berguna jika kode Anda tidak dipanggil secara eksplisit oleh kode dalam
          biner, misalnya, jika kode Anda mendaftar untuk menerima beberapa callback
          yang disediakan oleh beberapa layanan. | 
| copts | Daftar string; defaultnya adalah  Perhatikan bahwa untuk project Xcode yang dihasilkan, jalur direktori yang ditentukan menggunakan tanda "-I" di copts diuraikan, ditambahkan dengan "$(WORKSPACE_ROOT)/" jika merupakan jalur relatif, dan ditambahkan ke jalur penelusuran header untuk target Xcode terkait. | 
| defines | Daftar string; defaultnya adalah  -Dtambahan untuk diteruskan ke compiler. Harus dalam
          bentukKEY=VALUEatau cukupKEYdan
          diteruskan tidak hanya ke compiler untuk target ini (seperticoptslainnya), tetapi juga ke semua dependenobjc_dari target ini.
          Tunduk pada penggantian "Buat variabel" dan
          tokenisasi Bourne shell. | 
| enable_modules | Boolean; defaultnya adalah  | 
| implementation_deps | Daftar label; defaultnya adalah  deps, header dan jalur include library ini (dan semua
          dependensi transitifnya) hanya digunakan untuk kompilasi library ini, dan bukan library yang
          bergantung padanya. Library yang ditentukan denganimplementation_depsmasih ditautkan
          dalam target biner yang bergantung pada library ini. | 
| includes | Daftar string; defaultnya adalah  #include/#importyang akan ditambahkan ke target ini
          dan semua target yang bergantung.
          Hal ini untuk mendukung library pihak ketiga dan open source yang tidak
          menentukan seluruh jalur ruang kerja dalam pernyataan#import/#include.
          Jalur ditafsirkan relatif terhadap direktori paket, dan
          root genfiles dan bin (misalnya,  Tidak seperti COPTS, tanda ini ditambahkan untuk aturan ini dan setiap aturan yang bergantung padanya. (Catatan: bukan aturan yang bergantung padanya.) Berhati-hatilah, karena hal ini dapat berdampak luas. Jika ragu, tambahkan tanda "-iquote" ke COPTS. | 
| linkopts | Daftar string; defaultnya adalah  | 
| module_map | Label; defaultnya adalah  | 
| module_name | String; default-nya adalah  | 
| non_arc_srcs | Daftar label; defaultnya adalah  | 
| pch | Label; defaultnya adalah  | 
| sdk_dylibs | Daftar string; defaultnya adalah  | 
| sdk_frameworks | Daftar string; defaultnya adalah  Saat menautkan biner Apple tingkat teratas, semua framework SDK yang tercantum dalam grafik dependensi transitif biner tersebut akan ditautkan. | 
| sdk_includes | Daftar string; defaultnya adalah  #include/#importyang akan ditambahkan ke target ini
          dan semua target yang bergantung, dengan setiap jalur relatif terhadap$(SDKROOT)/usr/include. | 
| textual_hdrs | Daftar label; defaultnya adalah  | 
| weak_sdk_frameworks | Daftar string; defaultnya adalah  | 
available_xcodes
Lihat sumber aturanavailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Dua target aturan ini dapat diandalkan oleh instance aturan xcode_config untuk
menunjukkan versi xcode yang tersedia dari jarak jauh dan secara lokal.
Hal ini memungkinkan pemilihan versi xcode resmi dari xcode yang tersedia secara kolektif.
Argumen
| Atribut | |
|---|---|
| name | Nama; wajib Nama unik untuk target ini. | 
| default | Label; tidak dapat dikonfigurasi; wajibVersi xcode default untuk platform ini. | 
| versions | Daftar label; tidak dapat dikonfigurasi; defaultnya adalah  | 
xcode_config
Lihat sumber aturanxcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
Satu target aturan ini dapat dirujuk oleh tanda build --xcode_version_config untuk menerjemahkan tanda --xcode_version ke dalam versi xcode resmi yang diterima.
Hal ini memungkinkan pemilihan versi xcode resmi dari sejumlah alias terdaftar.
Argumen
| Atribut | |
|---|---|
| name | Nama; wajib Nama unik untuk target ini. | 
| default | Label; tidak dapat dikonfigurasi; defaultnya adalah  xcode_versionyang diberikan akan digunakan jika
        tidak ada flag buildxcode_versionyang ditentukan. Atribut ini wajib diisi jika adaversionsyang ditetapkan. Ini mungkin tidak disetel jikaremote_versionsataulocal_versionsdisetel. | 
| local_versions | Label; tidak dapat dikonfigurasi; defaultnya adalah  xcode_versionyang tersedia secara lokal.
        Ini digunakan bersama denganlocal_versionsuntuk memilih versi yang tersedia bersama. Ini mungkin tidak disetel jikaversionsdisetel. | 
| remote_versions | Label; tidak dapat dikonfigurasi; defaultnya adalah  xcode_versionyang tersedia dari jarak jauh.
        Ini digunakan bersama denganremote_versionsuntuk memilih versi yang tersedia bersama. Ini mungkin tidak disetel jikaversionsdisetel. | 
| versions | Daftar label; tidak dapat dikonfigurasi; defaultnya adalah  xcode_versionyang diterima yang dapat digunakan.
        Jika nilai flag buildxcode_versioncocok dengan salah satu alias atau nomor versi dari salah satu targetxcode_versionyang diberikan, target yang cocok akan digunakan. Ini mungkin tidak disetel jikaremote_versionsataulocal_versionsdisetel. | 
xcode_version
Lihat sumber aturanxcode_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)
Mewakili satu versi xcode resmi dengan alias yang dapat diterima untuk versi xcode tersebut.
Lihat aturan xcode_config.
Argumen
| Atribut | |
|---|---|
| name | Nama; wajib Nama unik untuk target ini. | 
| default_ios_sdk_version | String; tidak dapat dikonfigurasi; defaultnya adalah  ios_sdk_versionakan menggantikan nilai yang ditentukan di sini. | 
| default_macos_sdk_version | String; tidak dapat dikonfigurasi; defaultnya adalah  macos_sdk_versionakan menggantikan nilai yang ditentukan di sini. | 
| default_tvos_sdk_version | String; tidak dapat dikonfigurasi; defaultnya adalah  tvos_sdk_versionakan menggantikan nilai yang ditentukan di sini. | 
| default_visionos_sdk_version | String; tidak dapat dikonfigurasi; defaultnya adalah  visionos_sdk_versionakan menggantikan nilai yang ditentukan di sini. | 
| default_watchos_sdk_version | String; tidak dapat dikonfigurasi; defaultnya adalah  watchos_sdk_versionakan menggantikan nilai yang ditentukan di sini. | 
| version | String; tidak dapat dikonfigurasi; wajibNomor versi resmi dari versi Xcode. |