Kurallar
j2objc_library
j2objc_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 |
Bu hedef için benzersiz bir ad. |
deps
|
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
|
--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
|
j2objc_library kural. Varsayılan olarak yalnızca temel JRE işlevleri bağlıdır.
|
objc_import
objc_import(name, 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 |
Bu hedef için benzersiz bir ad. |
hdrs
|
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
|
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
|
.a dosyalarının listesi
bu hedefe bağlıdır.
|
includes
|
#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
|
|
sdk_frameworks
|
Ü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
|
#include/#import arama yolunun listesi
ve her yolun göreceli olduğu hedeflere bağlı olarak
$(SDKROOT)/usr/include .
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
objc_library
objc_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, runtime_deps, 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 |
Bu hedef için benzersiz bir ad. |
deps
|
|
srcs
|
|
hdrs
|
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
|
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
|
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
|
-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
|
|
implementation_deps
|
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
|
#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
|
|
module_map
|
|
module_name
|
|
non_arc_srcs
|
|
pch
|
|
runtime_deps
|
|
sdk_dylibs
|
|
sdk_frameworks
|
Ü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
|
#include/#import arama yolunun listesi
ve her yolun göreceli olduğu hedeflere bağlı olarak
$(SDKROOT)/usr/include .
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
available_xcodes
available_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 |
Bu hedef için benzersiz bir ad. |
default
|
|
versions
|
|
xcode_config
xcode_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 |
Bu hedef için benzersiz bir ad. |
default
|
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
|
xcode_version |
remote_versions
|
xcode_version |
versions
|
xcode_version |
xcode_version
xcode_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 |
Bu hedef için benzersiz bir ad. |
default_ios_sdk_version
|
ios_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_macos_sdk_version
|
macos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_tvos_sdk_version
|
tvos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_visionos_sdk_version
|
visionos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
default_watchos_sdk_version
|
watchos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
version
|
|