Kurallar
j2objc_library
Kural kaynağını görüntülemej2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
Bu kural, Java kaynak dosyalarını Objective-C'ye çevirmek için J2ObjC'yi kullanır. Bu dosyalar daha sonra objc_library ve objc_binary kurallarının bağımlılıkları olarak kullanılabilir. J2ObjC'nin kendisi hakkında ayrıntılı bilgiyi J2ObjC sitesinde bulabilirsiniz.
Özel J2ObjC dönüştürme işaretleri, komut satırında --j2objc_translation_flags derleme işareti kullanılarak belirtilebilir.
j2objc_library hedefinde bulunan çevrilmiş dosyaların, derleme seçenekleri özelliklerde belirtilmemiş bir objc_library kuralının kaynaklarıyla aynı yapılandırma olan varsayılan derleme yapılandırması kullanılarak derleneceğini lütfen unutmayın.
Ayrıca, oluşturulan kod kaynak düzeyinde değil hedef düzeyinde yinelenenleri kaldırır. Aynı Java kaynak dosyalarını içeren iki farklı Java hedefiniz varsa bağlantı sırasında yinelenen simge hatası görebilirsiniz. Bu sorunu çözmenin doğru yolu, paylaşılan Java kaynak dosyalarını bağımlı olabilecek ayrı bir ortak hedefe taşımaktır.
Bağımsız değişkenler
| Özellikler | |
|---|---|
| name | Ad; zorunlu Bu hedef için benzersiz bir ad. | 
| deps | Etiket listesi; varsayılan değer  j2objc_library,java_library,java_importvejava_proto_libraryhedeflerinin listesi.
 J2ObjC çevirisi, geçişli kapatmaya dahil edilen kaynak Java kaynak dosyalarının türüne bağlı olarak farklı şekilde çalışır.  Kullanıcılar, J2ObjC tarafından oluşturulan başlık dosyalarını kodlarına aktarabilir. Bu dosyaların içe aktarma yolları, orijinal Java yapılarının köke göreceli yoludur. Örneğin,  
        proto_library kuralları bu kuralın geçişli kapanımındaysa J2ObjC protos'ları da ikili düzeyde oluşturulur, derlenir ve bağlanır. Proto
         | 
| entry_classes | Dize listesi; varsayılan değer  --j2objc_dead_code_removal
        işareti etkinse bu özellik zorunludur. Java sınıfları, Java Dil Spesifikasyonu'nda tanımlandığı şekilde kanonik adlarıyla belirtilmelidir.--j2objc_dead_code_removalişareti belirtildiğinde, giriş sınıflarının listesi geçişli olarak toplanır ve ölü kod analizi yapmak için giriş noktaları olarak kullanılır.
        Kullanılmayan sınıflar daha sonra nihai ObjC uygulama paketinden kaldırılır. | 
| jre_deps | Etiket listesi; varsayılan değer  j2objc_librarykuralı tarafından çevrilen tüm Java kodunun gerektirdiği ek JRE emülasyon kitaplıklarının listesi. Varsayılan olarak yalnızca temel JRE işlevleri bağlanır. | 
objc_import
Kural kaynağını görüntülemeobjc_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)
Bu kural, derlenmiş statik bir kitaplığı .a dosyası şeklinde kapsar. Ayrıca, objc_library tarafından desteklenen özellikler kullanılarak başlıkların ve kaynakların dışa aktarılmasına da olanak tanır.
Bağımsız değişkenler
| Özellikler | |
|---|---|
| name | Ad; zorunlu Bu hedef için benzersiz bir ad. | 
| deps | Etiket listesi; varsayılan değer  | 
| hdrs | Etiket listesi; varsayılan değer  Bu başlıklar, kitaplığın herkese açık arayüzünü tanımlar ve bu kuraldaki veya bağımlı kurallardaki kaynaklar tarafından dahil edilmek üzere kullanılabilir. Bu kitaplığın bir istemcisi tarafından dahil edilmesi amaçlanmayan üstbilgiler bunun yerine srcs özelliğinde listelenmelidir. Modüller etkinleştirilmişse bunlar kaynaktan ayrı olarak derlenir. | 
| alwayslink | Boole değeri; varsayılan değer  srcsvenon_arc_srcsiçinde listelenen dosyaların tüm nesne dosyalarına bağlanır. Bu dosyaların bazıları, ikili dosya tarafından referans verilen sembolleri içermese bile bu işlem gerçekleşir.
          Bu, kodunuz ikilideki kod tarafından açıkça çağrılmıyorsa (ör. kodunuz, bir hizmet tarafından sağlanan geri çağırma işlevini almak için kaydediliyorsa) kullanışlıdır. | 
| archives | Etiketlerin listesi; zorunluBu hedefe bağlı olan Objective-C hedeflerine sağlanan .adosyalarının listesi. | 
| includes | Dize listesi; varsayılan değer  #include/#importarama yollarının listesi.
          Bu,#import/#includeifadelerinde çalışma alanının tamamını belirtmeyen üçüncü taraf ve açık kaynaklı kitaplıkları desteklemek içindir.
          Yollar, paket dizinine göre yorumlanır ve gerçek istemci kökünün yanı sıra genfiles ve bin kökleri (ör.  COPTS'tan farklı olarak, bu işaretler bu kural ve ona bağlı olan her kural için eklenir. (Not: bağlı olduğu kurallar değil!) Bu işlem, geniş kapsamlı etkilere neden olabileceğinden çok dikkatli olun. Şüpheye düştüğünüz durumlarda bunun yerine COPTS'a "-iquote" işaretleri ekleyin. | 
| sdk_dylibs | Dize listesi; varsayılan değer  | 
| sdk_frameworks | Dize listesi; varsayılan değer  Üst düzey bir Apple ikilisi bağlanırken bu ikilinin geçişli bağımlılık grafiğinde listelenen tüm SDK çerçeveleri bağlanır. | 
| sdk_includes | Dize listesi; varsayılan değer  #include/#importarama yollarının listesi. Her yol,$(SDKROOT)/usr/includeile ilgilidir. | 
| textual_hdrs | Etiket listesi; varsayılan değer  | 
| weak_sdk_frameworks | Dize listesi; varsayılan değer  | 
objc_library
Kural kaynağını görüntülemeobjc_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)
Bu kural, verilen Objective-C kaynak dosyalarından statik bir kitaplık oluşturur.
Bağımsız değişkenler
| Özellikler | |
|---|---|
| name | Ad; zorunlu Bu hedef için benzersiz bir ad. | 
| deps | Etiket listesi; varsayılan değer  | 
| srcs | Etiket listesi; varsayılan değer  | 
| hdrs | Etiket listesi; varsayılan değer  Bu başlıklar, kitaplığın herkese açık arayüzünü tanımlar ve bu kuraldaki veya bağımlı kurallardaki kaynaklar tarafından dahil edilmek üzere kullanılabilir. Bu kitaplığın bir istemcisi tarafından dahil edilmesi amaçlanmayan üstbilgiler bunun yerine srcs özelliğinde listelenmelidir. Modüller etkinleştirilmişse bunlar kaynaktan ayrı olarak derlenir. | 
| alwayslink | Boole değeri; varsayılan değer  srcsvenon_arc_srcsiçinde listelenen dosyaların tüm nesne dosyalarına bağlanır. Bu dosyaların bazıları, ikili dosya tarafından referans verilen sembolleri içermese bile bu işlem gerçekleşir.
          Bu, kodunuz ikilideki kod tarafından açıkça çağrılmıyorsa (ör. kodunuz, bir hizmet tarafından sağlanan geri çağırma işlevini almak için kaydediliyorsa) kullanışlıdır. | 
| copts | Dize listesi; varsayılan değer  Oluşturulan Xcode projesi için, copts'taki "-I" işaretleri kullanılarak belirtilen dizin yollarının ayrıştırıldığını, göreli yollar olması durumunda "$(WORKSPACE_ROOT)/" ile öneklenerek ilişkili Xcode hedefinin başlık arama yollarına eklendiğini unutmayın. | 
| defines | Dize listesi; varsayılan değer  -Dişaretleri.KEY=VALUEbiçiminde veya yalnızcaKEYbiçiminde olmalıdır ve yalnızca bu hedef için derleyiciye (coptsolarak) değil, bu hedefin tümobjc_bağımlılarına da iletilir.
          "Değişken yap" yerine koyma ve
          Bourne kabuğu belirteçleştirme işlemine tabidir. | 
| enable_modules | Boole değeri; varsayılan değer  | 
| implementation_deps | Etiket listesi; varsayılan değer  deps'dan farklı olarak, bu kitaplıkların (ve tüm geçişli bağımlılıklarının) başlıkları ve dahil etme yolları yalnızca bu kitaplığın derlenmesi için kullanılır ve kendisine bağlı olan kitaplıklar için kullanılmaz.implementation_depsile belirtilen kitaplıklar, bu kitaplığa bağlı ikili hedeflerde hâlâ bağlıdır. | 
| includes | Dize listesi; varsayılan değer  #include/#importarama yollarının listesi.
          Bu,#import/#includeifadelerinde çalışma alanının tamamını belirtmeyen üçüncü taraf ve açık kaynaklı kitaplıkları desteklemek içindir.
          Yollar, paket dizinine göre yorumlanır ve gerçek istemci kökünün yanı sıra genfiles ve bin kökleri (ör.  COPTS'tan farklı olarak, bu işaretler bu kural ve ona bağlı olan her kural için eklenir. (Not: bağlı olduğu kurallar değil!) Bu işlem, geniş kapsamlı etkilere neden olabileceğinden çok dikkatli olun. Şüpheye düştüğünüz durumlarda bunun yerine COPTS'a "-iquote" işaretleri ekleyin. | 
| linkopts | Dize listesi; varsayılan değer  | 
| module_map | Etiket; varsayılan değer  | 
| module_name | Dize; varsayılan değer  | 
| non_arc_srcs | Etiket listesi; varsayılan değer  | 
| pch | Etiket; varsayılan değer  | 
| sdk_dylibs | Dize listesi; varsayılan değer  | 
| sdk_frameworks | Dize listesi; varsayılan değer  Üst düzey bir Apple ikilisi bağlanırken bu ikilinin geçişli bağımlılık grafiğinde listelenen tüm SDK çerçeveleri bağlanır. | 
| sdk_includes | Dize listesi; varsayılan değer  #include/#importarama yollarının listesi. Her yol,$(SDKROOT)/usr/includeile ilgilidir. | 
| textual_hdrs | Etiket listesi; varsayılan değer  | 
| weak_sdk_frameworks | Dize listesi; varsayılan değer  | 
available_xcodes
Kural kaynağını görüntülemeavailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Bu kuralın iki hedefi, uzaktan ve yerel olarak kullanılabilen Xcode sürümlerini belirtmek için bir xcode_config kural örneği tarafından kullanılabilir.
Bu, toplu olarak kullanılabilen Xcode'lar arasından resmi bir Xcode sürümünün seçilmesine olanak tanır.
Bağımsız değişkenler
| Özellikler | |
|---|---|
| name | Ad; zorunlu Bu hedef için benzersiz bir ad. | 
| default | Etiket; yapılandırılamaz; zorunluBu platform için varsayılan Xcode sürümü. | 
| versions | Etiket listesi; yapılandırılamaz; varsayılan değer  | 
xcode_config
Kural kaynağını görüntülemexcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
Bu kuralın tek bir hedefi, --xcode_version_config işaretini kabul edilen resmi bir Xcode sürümüne çevirmek için --xcode_version_config derleme işaretiyle referans verilebilir.--xcode_version
Bu, kayıtlı bir dizi takma ad arasından resmi bir Xcode sürümünün seçilmesine olanak tanır.
Bağımsız değişkenler
| Özellikler | |
|---|---|
| name | Ad; zorunlu Bu hedef için benzersiz bir ad. | 
| default | Etiket; yapılandırılamaz; varsayılan değer  xcode_versionhedefi tarafından belirtilen sürüm,xcode_versionderleme işareti belirtilmediğinde kullanılır. Herhangi birversionsayarlandıysa bu özellik gereklidir.remote_versionsveyalocal_versionsayarlanmışsa bu özellik ayarlanmayabilir. | 
| local_versions | Etiket; yapılandırılamaz; varsayılan değer  xcode_versionhedefler.
        Bunlar, karşılıklı olarak kullanılabilen bir sürümü seçmek içinlocal_versionsile birlikte kullanılır.versionsayarlanmışsa bu ayarlanmayabilir. | 
| remote_versions | Etiket; yapılandırılamaz; varsayılan değer  xcode_versionhedefler.
        Bunlar, karşılıklı olarak kullanılabilen bir sürümü seçmek içinremote_versionsile birlikte kullanılır.versionsayarlanmışsa bu ayarlanmayabilir. | 
| versions | Etiket listesi; yapılandırılamaz; varsayılan değer  xcode_versionhedefler.xcode_versionderleme işaretinin değeri, belirtilenxcode_versionhedeflerden herhangi birinin diğer adlarından veya sürüm numarasından biriyle eşleşirse eşleşen hedef kullanılır.remote_versionsveyalocal_versionsayarlanmışsa bu özellik ayarlanmayabilir. | 
xcode_version
Kural kaynağını görüntülemexcode_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)
Bu Xcode sürümü için kabul edilebilir diğer adlarla birlikte tek bir resmi Xcode sürümünü temsil eder.
xcode_config kuralını inceleyin.
Bağımsız değişkenler
| Özellikler | |
|---|---|
| name | Ad; zorunlu Bu hedef için benzersiz bir ad. | 
| default_ios_sdk_version | Dize; yapılandırılamaz; varsayılan değer  ios_sdk_versionderleme işareti, burada belirtilen değeri geçersiz kılar. | 
| default_macos_sdk_version | Dize; yapılandırılamaz; varsayılan değer  macos_sdk_versionderleme işareti, burada belirtilen değeri geçersiz kılar. | 
| default_tvos_sdk_version | Dize; yapılandırılamaz; varsayılan değer  tvos_sdk_versionderleme işareti, burada belirtilen değeri geçersiz kılar. | 
| default_visionos_sdk_version | Dize; yapılandırılamaz; varsayılan değer  visionos_sdk_versionderleme işareti, burada belirtilen değeri geçersiz kılar. | 
| default_watchos_sdk_version | Dize; yapılandırılamaz; varsayılan değer  watchos_sdk_versionderleme işareti, burada belirtilen değeri geçersiz kılar. | 
| version | Dize; yapılandırılamaz; zorunluXcode sürümünün resmi sürüm numarası. |