Kurallar
j2objc_library
Kural kaynağını gösterj2objc_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. Daha sonra bu dil, objc_library ve objc_binary kurallarına bağımlılık olarak kullanılabilir. J2ObjC hakkında ayrıntılı bilgilere J2ObjC sitesinden ulaşabilirsiniz.
Özel J2ObjC dönüştürme işaretleri, komut satırında derleme işareti --j2objc_translation_flags
kullanılarak belirtilebilir.
Bir j2objc_library hedefine eklenen çevrilmiş dosyaların varsayılan derleme yapılandırmasıyla derleneceğini lütfen unutmayın. Bu, özelliklerde hiçbir derleme seçeneği belirtilmediği bir objc_library kuralının kaynaklarıyla aynı yapılandırmadı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üvenebileceğiniz ayrı bir ortak hedefe taşımaktır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; gerekli Bu hedef için benzersiz bir ad. |
deps
|
Etiket listesi; varsayılan j2objc_library , java_library , java_import ve java_proto_library hedeflerinin listesi.
Java ek açıklama işleme ile oluşturulan dosyalar dahil olmak üzere 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öre yollarıdır. Örneğin,
proto_library kuralları bu kuralın geçişli kapanışındaysa J2ObjC protoları da oluşturulur, derlenir ve ikili düzeyde bağlanır. Kullanıcılar, |
entry_classes
|
Dize listesi; varsayılan değer: --j2objc_dead_code_removal
bayrağı açıksa bu özellik gereklidir. Java sınıfları, Java Dil Spesifikasyonu tarafından tanımlandığı şekilde standart 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 geçersiz 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
|
Etiket listesi; varsayılan j2objc_library kuralı tarafından çevrilen tüm Java kodları için gereken ek JRE emülasyon kitaplıklarının listesi. Varsayılan olarak yalnızca temel JRE işlevleri bağlıdır.
|
objc_import
Kural kaynağını gösterobjc_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ş bir statik kitaplığı .a
dosyası biçiminde içerir. Ayrıca, objc_library
tarafından desteklenen aynı özellikleri kullanarak 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; gerekli Bu hedef için benzersiz bir ad. |
deps
|
Etiket listesi; varsayılan |
hdrs
|
Etiket listesi; varsayılan Bu başlıklar, kitaplığın herkese açık arayüzünü tanımlar ve bu kuraldaki kaynaklar tarafından veya bağımlı kurallarda dahil edilmek üzere kullanıma sunulur. Bu kitaplığın bir istemcisi tarafından eklenmesi amaçlanmayan başlıklar, srcs özelliğinde listelenmelidir. Modüller etkinse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
Boole; varsayılan değer srcs ve non_arc_srcs içinde listelenen dosyalar için tüm nesne dosyalarına bağlantı verir.
Bu, kodunuz ikili programda kod tarafından açıkça çağrılmadığında (ör. kodunuz bir hizmet tarafından sağlanan bir geri çağırmayı almak için kaydedildiyse) yararlı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 yolunun listesi.
Bunun amacı, #import/#include ifadelerinde çalışma alanı yolunun tamamını belirtmeyen üçüncü taraf ve açık kaynaklı kitaplıkları desteklemektir.
Yollar, paket dizinine göre yorumlanır ve gendosyalar ile bin kökleri (ör. COPTS'nin aksine, bu işaretler bu kural ve ona bağlı her kural için eklenir. (Not: Bu kuralların bağlı olduğu kurallar değildir.) Geniş kapsamlı etkileri olabileceği için çok dikkatli olun. Şüpheye düştüğünüzde bunun yerine COPTS öğesine "-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 programını bağlarken ikili programı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: $(SDKROOT)/usr/include ile göreli olduğu, bu hedefe ve bağlı tüm hedeflere eklenecek #include/#import arama yolunun listesi.
|
textual_hdrs
|
Etiket listesi; varsayılan |
weak_sdk_frameworks
|
Dize listesi; varsayılan değer: |
objc_library
Kural kaynağını gösterobjc_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; gerekli Bu hedef için benzersiz bir ad. |
deps
|
Etiket listesi; varsayılan |
srcs
|
Etiket listesi; varsayılan |
hdrs
|
Etiket listesi; varsayılan Bu başlıklar, kitaplığın herkese açık arayüzünü tanımlar ve bu kuraldaki kaynaklar tarafından veya bağımlı kurallarda dahil edilmek üzere kullanıma sunulur. Bu kitaplığın bir istemcisi tarafından eklenmesi amaçlanmayan başlıklar, srcs özelliğinde listelenmelidir. Modüller etkinse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
Boole; varsayılan değer srcs ve non_arc_srcs içinde listelenen dosyalar için tüm nesne dosyalarına bağlantı verir.
Bu, kodunuz ikili programda kod tarafından açıkça çağrılmadığında (ör. kodunuz bir hizmet tarafından sağlanan bir geri çağırmayı almak için kaydedildiyse) yararlıdır.
|
copts
|
Dize listesi; varsayılan değer: Oluşturulan Xcode projesi için copt'lerde "-I" işaretleri kullanılarak belirtilen dizin yollarının ayrıştırıldığını, göreli yollar olduklarında başlarına "$(WORKSPACE_ROOT)/" 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. KEY=VALUE veya KEY biçiminde olmalıdırlar 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 iletilirler.
"Değişken oluşturma" değişikliğine ve Bourne kabuk belirtkelemeye tabidir.
|
enable_modules
|
Boole; varsayılan değer |
implementation_deps
|
Etiket listesi; varsayılan deps işlevinin aksine, bu kitaplıkların başlıkları ve yolları (ve tüm geçişli depoları) yalnızca bu kitaplığın derlenmesi için kullanılır, ona bağlı kitaplıklar için kullanılmaz. implementation_deps ile belirtilen kitaplıklar, bu kitaplığa dayanan ikili hedeflerde bağlı kalmaya devam eder.
|
includes
|
Dize listesi; varsayılan değer: #include/#import arama yolunun listesi.
Bunun amacı, #import/#include ifadelerinde çalışma alanı yolunun tamamını belirtmeyen üçüncü taraf ve açık kaynaklı kitaplıkları desteklemektir.
Yollar, paket dizinine göre yorumlanır ve gendosyalar ile bin kökleri (ör. COPTS'nin aksine, bu işaretler bu kural ve ona bağlı her kural için eklenir. (Not: Bu kuralların bağlı olduğu kurallar değildir.) Geniş kapsamlı etkileri olabileceği için çok dikkatli olun. Şüpheye düştüğünüzde bunun yerine COPTS öğesine "-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 |
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 programını bağlarken ikili programı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: $(SDKROOT)/usr/include ile göreli olduğu, bu hedefe ve bağlı tüm hedeflere eklenecek #include/#import arama yolunun listesi.
|
textual_hdrs
|
Etiket listesi; varsayılan |
weak_sdk_frameworks
|
Dize listesi; varsayılan değer: |
available_xcodes
Kural kaynağını gösteravailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Uzaktan ve yerel olarak kullanılabilen xcode sürümlerini belirtmek için bir xcode_config
kural örneği bu kuralın iki hedefine bağlı olabilir.
Böylece toplu olarak kullanılabilen xcode'lardan resmi bir xcode sürümü seçebilirsiniz.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; gerekli Bu hedef için benzersiz bir ad. |
default
|
Etiket; yapılandırılamaz; gerekli Bu platform için varsayılan xcode sürümü. |
versions
|
Etiket listesi; yapılandırılabilir değil; varsayılan |
xcode_config
Kural kaynağını gösterxcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
--xcode_version
işaretini kabul edilen bir resmi xcode sürümüne çevirmek için --xcode_version_config
derleme işaretiyle bu kuralın tek bir hedefine referans verilebilir.
Bu şekilde kayıtlı birkaç takma addan resmi bir xcode sürümü seçebilirsiniz.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; gerekli Bu hedef için benzersiz bir ad. |
default
|
Etiket; yapılandırılmamış; varsayılan xcode_version hedefi tarafından belirtilen sürüm, xcode_version derleme işareti belirtilmediyse kullanılır. Herhangi bir versions ayarlanmışsa bu gereklidir. remote_versions veya local_versions ayarlanmışsa bu ayar yapılmayabilir.
|
local_versions
|
Etiket; yapılandırılmamış; varsayılan 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ılmamış; varsayılan 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
|
Etiket listesi; yapılandırılabilir değil; varsayılan xcode_version hedef kabul edildi.
xcode_version derleme işaretinin değeri, belirtilen xcode_version hedeflerinden herhangi birinin takma adlarından veya sürüm numarasıyla eşleşirse eşleşen hedef kullanılır. remote_versions veya local_versions ayarlanmışsa bu ayar yapılmayabilir.
|
xcode_version
Kural kaynağını gösterxcode_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 adlara sahip tek bir resmi xcode sürümünü gösterir.
xcode_config
kuralını inceleyin.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Ad; gerekli Bu hedef için benzersiz bir ad. |
default_ios_sdk_version
|
Dize; yapılandırılmamış; 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ılmamış; 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ılmamış; 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ılmamış; 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ılmamış; varsayılan değer watchos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
version
|
Dize; nonstructured; gerekli Bir Xcode sürümünün resmi sürüm numarası. |