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 hakkında ayrıntılı bilgiyi J2ObjC sitesinde bulabilirsiniz.
Özel J2ObjC derleme işaretleri, komut satırında --j2objc_translation_flags
derleme işareti kullanılarak belirtilebilir.
j2objc_library hedefine dahil edilen çevrilmiş dosyaların, varsayılan derleme yapılandırması kullanılarak derleneceğini lütfen unutmayın. Bu yapılandırma, özelliklerde derleme seçeneği belirtilmeyen bir objc_library kuralının kaynaklarıyla aynıdır.
Ayrıca, oluşturulan kod kaynak düzeyinde değil hedef düzeyde tekilleştirilir. 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ı güvenilir 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
|
Etiketler listesi; varsayılan değer j2objc_library , java_library , java_import ve java_proto_library hedeflerinin listesi.
J2ObjC çevirisi, geçişli kapatmaya dahil edilen kaynak Java kaynak dosyalarının türüne bağlı olarak farklı ç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öre yoludur. Örneğin,
proto_library kuralları bu kuralın geçişli kapatmasındaysa J2ObjC proto'ları da ikili düzeyde oluşturulur, derlenir ve bağlanır. |
entry_classes
|
Dize listesi; varsayılan değer --j2objc_dead_code_removal
işareti açıksa bu özellik gereklidir. Java sınıfları, Java Dil Spesifikasyonu'nda tanımlandığı şekilde standart adlarıyla belirtilmelidir.
--j2objc_dead_code_removal işareti belirtildiğinde giriş sınıflarının listesi aktarmalı olarak toplanır ve ölü kod analizi yapmak için giriş noktaları olarak kullanılır.
Kullanılmayan sınıflar, nihai ObjC uygulama paketinden kaldırılır.
|
jre_deps
|
Etiketler listesi; varsayılan değer j2objc_library kuralı tarafından çevrilen tüm Java kodlarının gerektirdiği ek JRE emülasyon kitaplıklarının listesi. Varsayılan olarak yalnızca temel JRE işlevi 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, önceden derlenmiş statik bir kitaplığı .a
dosyası biçiminde kapsar. Ayrıca, objc_library
tarafından desteklenen aynı özellikleri kullanarak üstbilgileri ve kaynakları dışa aktarmanıza da olanak tanır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; zorunlu Bu hedef için benzersiz bir ad. |
deps
|
Etiketler listesi; varsayılan değer |
hdrs
|
Etiketler listesi; varsayılan değer Bu üstbilgiler, kitaplığın herkese açık arayüzünü tanımlar ve bu kuraldaki veya bağımlı kurallardaki kaynaklar tarafından dahil edilmek üzere kullanıma sunulur. Bu kitaplığın bir müşterisi tarafından dahil edilmemesi amaçlanan üstbilgiler, bunun yerine srcs özelliğinde listelenmelidir. Modüller etkinse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
Boole; varsayılan değer srcs ve non_arc_srcs 'te listelenen dosyaların tüm nesne dosyalarını bağlar (bazılarında ikili program tarafından referans verilen simge olmasa bile).
Bu, kodunuz ikili programdaki 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 kaydoluyorsa) kullanışlıdır.
|
archives
|
Etiketler listesi; zorunlu Bu hedefe bağlı Objective-C hedeflerine sağlanan.a dosyalarının listesi.
|
includes
|
Dize listesi; varsayılan değer #include/#import arama yollarının listesi.
Bu, #import/#include ifadelerinde çalışma alanı yolunun tamamını belirtmeyen üçüncü taraf ve açık kaynak kitaplıkları desteklemek içindir.
Yollar, paket dizine göre yorumlanır ve gerçek istemci köküne ek olarak genfile'ler ve bin kökleri (ör. COPTS'tan farklı olarak bu işaretler bu kural ve bu kurala bağlı her kural için eklenir. (Not: Bu, bağlı olduğu kurallar değildir.) Bunun geniş kapsamlı etkileri olabileceğinden çok dikkatli olun. Şüpheye düştüğünüz durumlarda bunun yerine COPTS alanına "-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 ikili dosyası bağlanırken, söz konusu ikili dosyanın 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/#import arama yollarının ve her yolun $(SDKROOT)/usr/include 'ye göreli olduğu tüm bağımlı hedeflerin listesi.
|
textual_hdrs
|
Etiketler 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, belirtilen 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
|
Etiketler listesi; varsayılan değer |
srcs
|
Etiketler listesi; varsayılan değer |
hdrs
|
Etiketler listesi; varsayılan değer Bu üstbilgiler, kitaplığın herkese açık arayüzünü tanımlar ve bu kuraldaki veya bağımlı kurallardaki kaynaklar tarafından dahil edilmek üzere kullanıma sunulur. Bu kitaplığın bir müşterisi tarafından dahil edilmemesi amaçlanan üstbilgiler, bunun yerine srcs özelliğinde listelenmelidir. Modüller etkinse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
Boole; varsayılan değer srcs ve non_arc_srcs 'te listelenen dosyaların tüm nesne dosyalarını bağlar (bazılarında ikili program tarafından referans verilen simge olmasa bile).
Bu, kodunuz ikili programdaki 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 kaydoluyorsa) kullanışlıdır.
|
copts
|
Dize listesi; varsayılan değer Oluşturulan Xcode projesinde, copts içinde "-I" işaretleri kullanılarak belirtilen dizin yollarının ayrıştırıldığını, göreli yollarsa "$(WORKSPACE_ROOT)/" ile başa eklendiğini ve ilişkili Xcode hedefinin başlık arama yollarına eklendiğini unutmayın. |
defines
|
Dize listesi; varsayılan değer -D işaretleri. Bunlar KEY=VALUE veya KEY biçiminde olmalıdır ve yalnızca bu hedefin derleyicisine (copts gibi) değil, bu hedefin tüm objc_ bağımlılarına da iletilir.
"Değişken oluştur" yerine koyma işlemine ve Bourne kabuğu
|
enable_modules
|
Boole; varsayılan değer |
implementation_deps
|
Etiketler listesi; varsayılan değer deps 'tekilerin aksine, bu kitaplıkların üstbilgileri ve dahil etme yolları (ve tüm geçişli bağımlılıkları) yalnızca bu kitaplığın derlenmesi için kullanılır, kendisine bağlı kitaplıklar için kullanılmaz. implementation_deps ile belirtilen kitaplıklar, bu kitaplığa bağlı olan ikili hedeflerde hâlâ bağlıdır.
|
includes
|
Dize listesi; varsayılan değer #include/#import arama yollarının listesi.
Bu, #import/#include ifadelerinde çalışma alanı yolunun tamamını belirtmeyen üçüncü taraf ve açık kaynak kitaplıkları desteklemek içindir.
Yollar, paket dizine göre yorumlanır ve gerçek istemci köküne ek olarak genfile'ler ve bin kökleri (ör. COPTS'tan farklı olarak bu işaretler bu kural ve bu kurala bağlı her kural için eklenir. (Not: Bu, bağlı olduğu kurallar değildir.) Bunun geniş kapsamlı etkileri olabileceğinden çok dikkatli olun. Şüpheye düştüğünüz durumlarda bunun yerine COPTS alanına "-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
|
Etiketler 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 ikili dosyası bağlanırken, söz konusu ikili dosyanın 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/#import arama yollarının ve her yolun $(SDKROOT)/usr/include 'ye göreli olduğu tüm bağımlı hedeflerin listesi.
|
textual_hdrs
|
Etiketler 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 sayede, toplu olarak kullanılabilen xcode'lar arasından resmi bir xcode sürümü seçilebilir.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; zorunlu Bu hedef için benzersiz bir ad. |
default
|
Etiket; yapılandırılamaz; zorunlu Bu platform için varsayılan xcode sürümü. |
versions
|
Etiketler 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
işaretini kabul edilen resmi bir xcode sürümüne çevirmek için --xcode_version_config
derleme işareti tarafından referans verilebilir.
Bu, kayıtlı takma adlar 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_version derleme işareti belirtilmezse sağlanan xcode_version hedefi tarafından belirtilen sürüm kullanılır. Herhangi bir versions ayarlandıysa bu gereklidir. remote_versions veya local_versions ayarlanmışsa bu ayar yapılamaz.
|
local_versions
|
Etiket; yapılandırılamaz; varsayılan değer xcode_version hedefleri.
Bunlar, karşılıklı olarak kullanılabilen bir sürüm seçmek için local_versions ile birlikte kullanılır. versions ayarlanmışsa bu ayarlanmayabilir.
|
remote_versions
|
Etiket; yapılandırılamaz; varsayılan değer xcode_version hedefleri.
Bunlar, karşılıklı olarak kullanılabilen bir sürüm seçmek için remote_versions ile birlikte kullanılır. versions ayarlanmışsa bu ayarlanmayabilir.
|
versions
|
Etiketler listesi; yapılandırılamaz; varsayılan değer xcode_version hedefleri.
xcode_version derleme işaretinin değeri, verilen xcode_version hedeflerinden birinin takma adlarından veya sürüm numaralarından biriyle eşleşirse eşleşen hedef kullanılır. remote_versions veya local_versions ayarlanmışsa bu ayar yapılamaz.
|
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)
Söz konusu Xcode sürümü için kabul edilebilir takma adlar içeren 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_version derleme 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_version derleme 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_version derleme 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_version derleme 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_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
version
|
Dize; yapılandırılamaz; zorunlu Xcode sürümünün resmi sürüm numarası. |