Kurallar
j2objc_kitaplığı
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 kullanır. Bu komut daha sonra objc_library ve objc_binary kurallarının bağımlıları olarak kullanılabilir. J2ObjC ile ilgili ayrıntılı bilgiye J2ObjC sitesinden ulaşabilirsiniz.
Özel J2ObjC çeviri işaretleri, komut satırındaki derleme işareti --j2objc_translation_flags
kullanılarak belirtilebilir.
Bir j2objc_library hedefinde yer alan çevrilen dosyaların, varsayılan derleme yapılandırması kullanılarak derleneceğini lütfen unutmayın. Bu yapılandırma, özelliklerde derleme seçeneği belirtilmemiş bir objc_library kuralının kaynaklarıyla aynıdır.
Ayrıca, oluşturulan kodun 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 bir sembol sembolü kopyası 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 |
Bu hedef için benzersiz bir ad. |
deps
|
j2objc_library , java_library , java_import ve java_proto_library hedeflerinin listesi.
Java ek açıklaması işleme ile oluşturulan dosyalar da 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, kodlarında J2ObjC tarafından oluşturulan başlık dosyalarını içe aktarabilir. Bu dosyaların içe aktarma yolları, orijinal Java yapılarının kök göreli yollarıdır. Örneğin,
Proto_library kuralları, bu kuralın geçici olarak kapanmasındaysa J2ObjC protoları da oluşturulur, derlenir ve ikili düzeyde bağlanır. Kullanıcılar, |
entry_classes
|
--j2objc_dead_code_removal
işareti etkinse bu özellik gereklidir. Java sınıfları, Java Dil Spesifikasyonu tarafından tanımlandığı şekilde standart adlarında 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.
Bu durumda, kullanılmayan sınıflar nihai ObjC uygulama paketinden kaldırılır.
|
jre_deps
|
j2objc_library kuralı tarafından çevrilen tüm Java kodlarının gerektirdiği ek JRE emülasyon kitaplıklarının listesi. Yalnızca temel JRE işlevleri bağlanır.
|
objc_içe aktarma
Kural kaynağını gösterobjc_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, .a
dosyası biçiminde zaten derlenmiş bir statik kitaplık içerir. Ayrıca, objc_library
tarafından desteklenenlerle aynı özellikleri kullanarak başlıkların ve kaynakların dışa aktarılmasını sağlar.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
hdrs
|
Bu üstbilgiler, kitaplığın herkese açık arayüzünü açıklar ve kaynakların bu kurala veya bağımlı kurallara dahil edilmesi için kullanıma sunulur. Bu kitaplıktaki istemciler tarafından eklenmesi amaçlanmayan başlıklar bunun yerine srcs özelliğinde listelenmelidir. Modüller etkinleştirilirse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
srcs ve non_arc_srcs içinde listelenen dosyalar için tüm nesne dosyalarına bağlantı kurar (bazıları ikili program tarafından referans verilen hiçbir simge içermese bile).
Bu, kodunuz ikili biçimdeki kodla açıkça çağrılmadığında (ör. bir hizmet tarafından sağlanan bazı geri çağırmaları almak için kaydolduğunda) yararlıdır.
|
archives
|
.a dosyalarının listesi.
|
includes
|
#include/#import arama yolunun listesi.
Bu, #import/#include ifadelerinde çalışma alanı yolunun tamamını belirtmeyen üçüncü taraf ve açık kaynaklı kitaplıkları desteklemek içindir.
Yollar, paket dizinine göre yorumlanır ve genfiles ile bin kökler (ör. COPTS'in aksine bu işaretler bu kurala ve ona bağlı her kural için eklenir. (Not: Duruma bağlı olan kurallar yoktur.) Bunun çok kapsamlı etkileri olabileceği için çok dikkatli olun. Şüpheye düşerseniz -COPTS öğesine "-iquote" işaretlerini ekleyin. |
sdk_dylibs
|
|
sdk_frameworks
|
Üst düzey bir Apple ikili programını bağlarken bu ikili programın geçişli bağımlılık grafiğinde listelenen tüm SDK çerçeveleri bağlanır. |
sdk_includes
|
#include/#import arama yolunun listesi. Burada her yol $(SDKROOT)/usr/include değerine göre belirlenir.
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
objc_kitaplık
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, 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 |
Bu hedef için benzersiz bir ad. |
deps
|
|
srcs
|
|
hdrs
|
Bu üstbilgiler, kitaplığın herkese açık arayüzünü açıklar ve kaynakların bu kurala veya bağımlı kurallara dahil edilmesi için kullanıma sunulur. Bu kitaplıktaki istemciler tarafından eklenmesi amaçlanmayan başlıklar bunun yerine srcs özelliğinde listelenmelidir. Modüller etkinleştirilirse bunlar kaynaktan ayrı olarak derlenir. |
alwayslink
|
srcs ve non_arc_srcs içinde listelenen dosyalar için tüm nesne dosyalarına bağlantı kurar (bazıları ikili program tarafından referans verilen hiçbir simge içermese bile).
Bu, kodunuz ikili biçimdeki kodla açıkça çağrılmadığında (ör. bir hizmet tarafından sağlanan bazı geri çağırmaları almak için kaydolduğunda) yararlıdır.
|
copts
|
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 olması durumunda başına "$(WORKSPACE_ROOT)/" ifadesinin eklenmesini ve ilgili Xcode hedefinin başlık arama yollarına eklenmesini unutmayın. |
defines
|
-D işareti. Bunlar KEY=VALUE veya yalnızca KEY biçiminde olmalı ve yalnızca bu hedefin derleyicisine (copts olduğu gibi) değil, aynı zamanda bu hedefin tüm objc_ bağımlısına da iletilmelidir.
"Değişken oluşturun" yerine ve Bourne kabuk jetonlarının değiştirilmesine tabidir.
|
enable_modules
|
|
includes
|
#include/#import arama yolunun listesi.
Bu, #import/#include ifadelerinde çalışma alanı yolunun tamamını belirtmeyen üçüncü taraf ve açık kaynaklı kitaplıkları desteklemek içindir.
Yollar, paket dizinine göre yorumlanır ve genfiles ile bin kökler (ör. COPTS'in aksine bu işaretler bu kurala ve ona bağlı her kural için eklenir. (Not: Duruma bağlı olan kurallar yoktur.) Bunun çok kapsamlı etkileri olabileceği için çok dikkatli olun. Şüpheye düşerseniz -COPTS öğesine "-iquote" işaretlerini ekleyin. |
linkopts
|
|
module_map
|
|
module_name
|
|
non_arc_srcs
|
|
pch
|
|
sdk_dylibs
|
|
sdk_frameworks
|
Üst düzey bir Apple ikili programını bağlarken bu ikili programın geçişli bağımlılık grafiğinde listelenen tüm SDK çerçeveleri bağlanır. |
sdk_includes
|
#include/#import arama yolunun listesi. Burada her yol $(SDKROOT)/usr/include değerine göre belirlenir.
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
kullanılabilir_xkodlar
Kural kaynağını gösteravailable_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
Uzak ve yerel olarak kullanılabilen xcode sürümlerini belirtmek için bu kuralın iki hedefi bir xcode_config
kural örneğine bağlı olabilir.
Bu, toplu olarak kullanılabilen xcode'lardan resmi xcode sürümünün seçilmesine olanak tanır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
default
|
|
versions
|
|
xcode_yapılandırma
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 bu kuralın tek bir hedefine --xcode_version_config
derleme işareti tarafından referansta bulunulabilir.
Bu, çeşitli kayıtlı takma adlardan resmi bir xcode sürümünün seçilmesine olanak tanır.
Bağımsız değişkenler
Özellikler | |
---|---|
name |
Bu hedef için benzersiz bir ad. |
default
|
xcode_version derleme işareti belirtilmezse sağlanan xcode_version hedefi tarafından belirtilen sürüm kullanılır. versions ayarlanmışsa bu gereklidir. remote_versions veya local_versions ayarlanmışsa bu ayar yapılamaz.
|
local_versions
|
xcode_version |
remote_versions
|
xcode_version |
versions
|
xcode_version |
xcode_sürümü
Kural kaynağını gösterxcode_version(name, default_ios_sdk_version, default_macos_sdk_version, default_tvos_sdk_version, default_watchos_sdk_version, deprecation, distribs, features, licenses, tags, testonly, version, visibility)
Bu xcode sürümü için kabul edilebilir takma adlara sahip tek bir resmi xcode sürümünü temsil eder.
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_watchos_sdk_version
|
watchos_sdk_version derleme işareti, burada belirtilen değeri geçersiz kılar.
|
version
|
|