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 kendisiyle ilgili ayrıntılı bilgileri 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_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ı ş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_removal iş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_library kuralı 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 srcs ve non_arc_srcs iç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
|
Etiket listesi; zorunlu Bu hedefe bağlı olan 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ı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 buna 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/#import arama yollarının listesi. Her yol, $(SDKROOT)/usr/include ile 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 srcs ve non_arc_srcs iç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 -D işaretleri. KEY=VALUE biçiminde veya yalnızca KEY biçiminde olmalıdır ve yalnızca bu hedef için derleyiciye (copts olduğu gibi) değil, aynı zamanda bu hedefin tüm objc_ bağımlılarına da iletilir.
"Değişken oluştur" 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_deps ile belirtilen kitaplıklar, bu kitaplığa bağlı 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ı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 buna 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/#import arama yollarının listesi. Her yol, $(SDKROOT)/usr/include ile 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; zorunlu Bu 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_version hedefi tarafından belirtilen sürüm, xcode_version derleme işareti belirtilmediğinde kullanılır. Herhangi bir versions ayarlandıysa bu özellik gereklidir. remote_versions veya local_versions ayarlanmışsa bu özellik ayarlanmayabilir.
|
local_versions
|
Etiket; yapılandırılamaz; varsayılan değer xcode_version hedefler.
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 hedefler.
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
|
Etiket listesi; yapılandırılamaz; varsayılan değer xcode_version hedefler.
xcode_version derleme işaretinin değeri, belirtilen xcode_version hedeflerden herhangi birinin diğer adlarından veya sürüm numarasından biriyle eşleşirse eşleşen hedef kullanılır. remote_versions veya local_versions ayarlanmış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_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ı. |