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. Daha sonra bu dil, objc_library ve objc_binary kurallarına bağımlılık 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.
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üvenilir olabilecek 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.
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 kapanışındaysa J2ObjC protoları da oluşturulur, derlenir ve ikili düzeyde 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 analizini gerçekleştirmek 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ö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 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
|
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 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 '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 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
|
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 dizinine göre yorumlanır ve gendosyalar ile 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 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: #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
|
Etiket listesi; varsayılan |
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
|
Etiket listesi; varsayılan |
srcs
|
Etiket listesi; varsayılan |
hdrs
|
Etiket listesi; varsayılan 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 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 '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 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ı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ş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ı olan 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 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 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; zorunlu 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örüntülemexcode_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, 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; gerekli 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 belirtilmediyse kullanılır. Herhangi bir versions ayarlanmışsa bu gereklidir. remote_versions veya local_versions ayarlanmışsa bu ayar yapılamaz.
|
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 ayar yapılamaz.
|
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ı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 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; 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ılabilir değil; 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ılabilir değil; varsayılan değer watchos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
version
|
Dize; yapılamayan; gerekli Bir Xcode sürümünün resmi sürüm numarası. |