Kurallar
j2objc_library
Kural kaynağını görüntülej2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
Bu kural, Java kaynağını çevirmek için J2ObjC kodunu kullanır. dosyalarını Objective-C'ye kopyalayın. Bu dosyalar daha sonra objc_library ve objc_binary bağımlıları olarak kullanılabilir. kurallar. J2ObjC hakkında ayrıntılı bilgi için şu adrese gidin: J2ObjC sitesi
Özel J2ObjC dönüştürme işaretleri, derleme işareti kullanılarak belirtilebilir
--j2objc_translation_flags
komut satırı işaretini kullanabilir.
j2objc_library hedefinde yer alan çevrilmiş dosyaların varsayılan derleme yapılandırması kullanılarak derlenen, özelliklerde derleme seçeneği belirtilmemiş bir objc_library kuralı.
Ayrıca, oluşturulan kod kaynak düzeyinde değil, hedef düzeyde tekilleştirilir. İki aynı Java kaynak dosyalarını içeren farklı Java hedefleri varsa, yinelenen simge hatası bağlantı anında. Bu sorunu çözmenin doğru yolu, paylaşılan Java kaynak dosyalarını bir ortak hedef belirleyin.
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 ,
Şunları içeren java_import ve java_proto_library hedefleri
Objective-C'ye aktarılacak Java dosyaları.
Ulaşılabilecek tüm J2ObjC çevirisi, kaynak Java kaynağının türüne bağlı olarak farklı şekilde çalışır
dosyaları geçişli kapatmaya dahil edilir.
Kullanıcılar, J2ObjC tarafından oluşturulan başlık dosyalarını kodlarına aktarabilir. Şu verilerin içe aktarma yolları:
bu dosyalar, orijinal Java yapılarının köke bağlı yoludur. Örneğin,
proto_library kuralları bu kuralın geçişli kapanışındaysa J2ObjC proto'ları da
ikili düzeyde oluşturulması, derlenmesi ve bağlanmasını sağlamak. Proto için
|
entry_classes
|
Dize listesi; varsayılan değer --j2objc_dead_code_removal
bayrağı açıksa bu özellik gereklidir. Java sınıfları, aşağıdaki gibi standart adlarıyla belirtilmelidir:
Java
Dil Spesifikasyonu.
--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 değer j2objc_library kural. Varsayılan olarak yalnızca temel JRE işlevleri bağlıdır.
|
objc_import
Kural kaynağını görüntüleobjc_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ı yükleyin. Ayrıca aynı
özellikler objc_library
tarafından desteklenir.
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 kütüphanenin herkese açık arayüzünü tanımlar ve bu kuraldaki kaynaklar tarafından veya bağımlı kurallar. Üstbilgiler, bu kitaplığın bir istemcisi tarafından eklenmek üzere tasarlanmamıştır srcs özelliğinde listelenmesi gerekir. Modüller etkinse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
Boole; varsayılan değer srcs ve non_arc_srcs
iki simgeli dosya biçimi tarafından başvurulmuştur.
Bu, kodunuz yalnızca dil tercihinde kod tarafından
kodu alır. Örneğin, kodunuz bir geri çağırma işlemi almak için kaydedilir
bir hizmet tarafından sağlanır.
|
archives
|
Etiket listesi; zorunlu Objective-C hedeflerine sağlanan.a dosyalarının listesi
bu hedefe bağlıdır.
|
includes
|
Dize listesi; varsayılan değer #include/#import arama yolunun listesi
hedeflere bağlı olarak değişiyor.
Bu, çalışmayan üçüncü taraf ve açık kaynaklı
çalışma alanı yolunun tamamını
#import/#include ifadeleri.
Yollar, paket dizinine göre yorumlanır ve
gendosyaları ve bin kökleri (ör. COPTS'nin aksine, bu işaretler bu kural için eklenir ona bağlı tüm kuralları görebiliriz. (Not: Bu kuralların bağlı olduğu kurallar değildir.) geniş kapsamlı etkileri olabileceği için dikkatli olun. Şüpheye düştüğünüzde "-alıntı" COPTS olarak işaretler. |
sdk_dylibs
|
Dize listesi; varsayılan değer |
sdk_frameworks
|
Dize listesi; varsayılan değer Üst düzey bir Apple ikili programına bağlanırken, söz konusu ikili programın geçişli bağımlılık grafikleri bağlantılıdır. |
sdk_includes
|
Dize listesi; varsayılan değer #include/#import arama yolunun listesi
ve her yolun göreceli olduğu hedeflere bağlı olarak
$(SDKROOT)/usr/include .
|
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üleobjc_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 değer |
srcs
|
Etiket listesi; varsayılan değer |
hdrs
|
Etiket listesi; varsayılan değer Bu başlıklar kütüphanenin herkese açık arayüzünü tanımlar ve bu kuraldaki kaynaklar tarafından veya bağımlı kurallar. Üstbilgiler, bu kitaplığın bir istemcisi tarafından eklenmek üzere tasarlanmamıştır srcs özelliğinde listelenmesi gerekir. Modüller etkinse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
Boole; varsayılan değer srcs ve non_arc_srcs
iki simgeli dosya biçimi tarafından başvurulmuştur.
Bu, kodunuz yalnızca dil tercihinde kod tarafından
kodu alır. Örneğin, kodunuz bir geri çağırma işlemi almak için kaydedilir
bir hizmet tarafından sağlanır.
|
copts
|
Dize listesi; varsayılan değer Oluşturulan Xcode projesi için dizin yollarının "-I" kullanılarak belirtildiğini unutmayın. CANNOT TRANSLATE copt'ler ayrıştırılır, başına "$(WORKSPACE_ROOT)/" eklenir Bunlar göreli yollar olup olmadığı ve eklenen Xcode hedefi için başlık arama yollarına eklenir. |
defines
|
Dize listesi; varsayılan değer -D işaretleri. Bu dillerin
KEY=VALUE veya sadece KEY
yalnızca bu hedef için derleyiciye iletmekle kalmaz (copts olarak
aynı zamanda bu hedefin tüm objc_ bağımlıları için de geçerlidir.
"Değişken yap" değişikliğine tabi ve
Bourne kabuk belirteçleme.
|
enable_modules
|
Boole; varsayılan değer |
implementation_deps
|
Etiket listesi; varsayılan değer deps , üstbilgilerini içerir ve bu kitaplıkların (ve tüm
geçişli dep'ler) yalnızca bu kitaplığın derlenmesi için kullanılır,
ona güvenmeniz gerekir. implementation_deps ile belirtilen kitaplıklar hâlâ bağlı
bu kitaplığa bağımlı ikili hedeflerindedir.
|
includes
|
Dize listesi; varsayılan değer #include/#import arama yolunun listesi
hedeflere bağlı olarak değişiyor.
Bu, çalışmayan üçüncü taraf ve açık kaynaklı
çalışma alanı yolunun tamamını
#import/#include ifadeleri.
Yollar, paket dizinine göre yorumlanır ve
gendosyaları ve bin kökleri (ör. COPTS'nin aksine, bu işaretler bu kural için eklenir ona bağlı tüm kuralları görebiliriz. (Not: Bu kuralların bağlı olduğu kurallar değildir.) geniş kapsamlı etkileri olabileceği için dikkatli olun. Şüpheye düştüğünüzde "-alıntı" COPTS olarak işaretler. |
linkopts
|
Dize listesi; varsayılan değer |
module_map
|
Etiket; varsayılan değer |
module_name
|
String; 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 ikili programına bağlanırken, söz konusu ikili programın geçişli bağımlılık grafikleri bağlantılıdır. |
sdk_includes
|
Dize listesi; varsayılan değer #include/#import arama yolunun listesi
ve her yolun göreceli olduğu hedeflere bağlı olarak
$(SDKROOT)/usr/include .
|
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üleavailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Bu kuralın iki hedefine bir xcode_config
kural örneğine bağlı olarak,
uzaktan ve yerel olarak kullanılabilen xcode sürümlerini belirtir.
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; nonyapılandırabilir; zorunlu Bu platform için varsayılan xcode sürümü. |
versions
|
Etiket listesi; nonyapılandırabilir; varsayılan değer |
xcode_config
Kural kaynağını görüntülexcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
--xcode_version_config
derlemesi, bu kuralın tek bir hedefine referans verebilir
flag'ini, --xcode_version
işaretini kabul edilen bir resmi xcode sürümüne çevirin.
Bu şekilde kayıtlı birkaç takma addan 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; nonyapılandırabilir; varsayılan değer xcode_version hedefi tarafından belirtilen sürüm,
xcode_version derleme işareti belirtilmedi. Bu, şu durumlarda gereklidir:
versions ayarlandı. remote_versions veya
local_versions ayarlandı.
|
local_versions
|
Etiket; nonyapılandırabilir; varsayılan değer xcode_version hedefleri.
Bunlar, ortak olarak kullanılabilen bir öğe seçmek için local_versions ile birlikte kullanılır
sürümünü değil. versions ayarlanmışsa bu ayarlanmayabilir.
|
remote_versions
|
Etiket; nonyapılandırabilir; varsayılan değer xcode_version hedefleri.
Bunlar, ortak olarak kullanılabilen bir öğe seçmek için remote_versions ile birlikte kullanılır
sürümünü değil. versions ayarlanmışsa bu ayarlanmayabilir.
|
versions
|
Etiket listesi; nonyapılandırabilir; varsayılan değer xcode_version hedef kabul edildi.
xcode_version derleme bayrağının değeri takma adlardan biriyle eşleşirse
belirtilen xcode_version hedeften herhangi birinin veya sürüm numarası,
için kullanılır. remote_versions veya
local_versions ayarlandı.
|
xcode_version
Kural kaynağını görüntülexcode_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
|
String; nonconfig; varsayılan değer ios_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_macos_sdk_version
|
String; nonconfig; varsayılan değer macos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_tvos_sdk_version
|
String; nonconfig; varsayılan değer tvos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_visionos_sdk_version
|
String; nonconfig; varsayılan değer visionos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_watchos_sdk_version
|
String; nonconfig; varsayılan değer watchos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
version
|
String; nonconfig; zorunlu Bir Xcode sürümünün resmi sürüm numarası. |