. Starlark'ın, elma kuralı uygulamalarının dahili bileşenlerine erişmesini sağlayan işlevler.
Üyeler
- apple_host_system_env
- apple_toolchain
- AppleDebugOutputs
- AppleDynamicFramework
- AppleExecutableBinary
- dotted_version
- link_multi_arch_binary
- link_multi_arch_static_library
- new_dynamic_framework_provider
- new_executable_binary_provider
- platform
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)Apple ana makine sisteminde derleme araçlarını çalıştırması gereken işlemler (ör. kullanılması gereken Xcode sürümü) için ayarlanması gereken ortam değişkenlerinin dict değerini döndürür. Anahtarlar değişken adlarıdır, değerler ise bunlara karşılık gelen değerlerdir.
Parametreler
Parametre | Açıklama |
---|---|
xcode_config
|
zorunlu Xcode yapılandırması hakkında bilgiler içeren bir sağlayıcı. |
apple_toolchain
unknown apple_common.apple_toolchain()Elma araç zincirindeki öğeleri çözümlemek için yardımcı programlar.
AppleDebugOutputs
None
apple_common.AppleDebugOutputs
AppleDebugOutputs
sağlayıcısının oluşturucusu/anahtarı.Bir hedef, AppleDebugOutputs
sağlayıcısını yayarsa bunu almak için anahtar olarak kullanın. Örnek:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFramework
AppleDynamicFramework
sağlayıcısının oluşturucusu/anahtarı.Bir hedef, AppleDynamicFramework
sağlayıcısını yayarsa bunu almak için anahtar olarak kullanın. Örnek:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinary
AppleExecutableBinary
sağlayıcısının oluşturucusu/anahtarı.Bir hedef, AppleExecutableBinary
sağlayıcısını yayarsa bunu almak için anahtar olarak kullanın. Örnek:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)Yeni bir DottedVersion örneği oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
version
|
string;
gerekli DottedVersion'ın dize gösterimi. |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], extra_requested_features=[], extra_disabled_features=[], stamp=-1)Apple platformlarını hedefleyen (potansiyel olarak çoklu mimari) bir ikili programı bağlar. Bu yöntem, rules_apple alanındaki Starlark
apple_binary
kuralının mantığının büyük bir kısmını içerir ve rules_apple alanındaki bağlantı mantığının Starlark'a taşınmasına yardımcı olmak amacıyla geliştirilmiştir.
Bu API son derece deneyseldir ve herhangi bir zamanda değiştirilebilir. Şu anda bu işlevin kararlılığına güvenmeyin.
Parametreler
Parametre | Açıklama |
---|---|
ctx
|
ctx;
gerekli Starlark kuralının bağlamı. |
avoid_deps
|
sequence of Targets; veya None ;
varsayılan değer None İkili programın bağımlılık grafiğinde bulunan ancak kitaplıkları ikili sisteme bağlanmaması gereken Target öğelerinin listesi. Bu durum, paket yükleyici veya bu ikili program tarafından yüklenecek dinamik kitaplıklar/çerçeveler gibi çalışma zamanında başka bir görüntüde bulunacak bağımlılıklar için geçerlidir.
|
extra_linkopts
|
sequence of dize;
varsayılan değer [] Bağlayıcı işlemine iletilmek üzere fazladan linkopts. |
extra_link_inputs
|
sequence of Files;
varsayılan değer [] Bağlayıcı işlemine aktarılacak fazladan dosyalar. |
extra_requested_features
|
sequence of dize;
varsayılan değer [] Bağlayıcı işlemine iletilecek ek istenen özellikler. |
extra_disabled_features
|
sequence of dize;
varsayılan değer [] Bağlayıcı işlemine aktarılacak ekstra devre dışı özellikler. |
stamp
|
int;
varsayılan değer: -1 Bağlı ikili programda derleme bilgilerinin eklenip eklenmeyeceğini belirtir. 1 ise derleme bilgileri her zaman dahil edilir. 0 ise derleme bilgileri her zaman hariç tutulur. -1 ise (varsayılan) bu durumda davranış, --[no]damga işaretiyle belirlenir. Test kuralları için yürütülebilir çıktı oluşturulurken bu değer 0 olarak ayarlanmalıdır. |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)Apple platformlarını hedefleyen (potansiyel olarak çoklu mimari) bir statik kitaplığı bağlar. Bu yöntem, rules_apple alanındaki Starlark
apple_static_library
kural mantığının bir parçasını içerir ve rules_apple'daki bağlantı mantığının Starlark'a taşınmasına yardımcı olmak amacıyla oluşturulmuştur.
Bu API son derece deneyseldir ve herhangi bir zamanda değiştirilebilir. Şu anda bu işlevin kararlılığına güvenmeyin.
Parametreler
Parametre | Açıklama |
---|---|
ctx
|
ctx;
gerekli Starlark kuralının bağlamı. |
new_dynamic_framework_provider
unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)Yeni bir AppleDynamicFramework sağlayıcı örneği oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
binary
|
File (Dosya); veya None ;
varsayılan değer: None Dinamik çerçevenin dylib ikili yapısı. |
cc_info
|
CcInfo;
gerekli İkili programa bağlı geçişli bağımlılıklar hakkında bilgi içeren CcInfo. |
framework_dirs
|
dizelerin depset'i; veya None ;
varsayılan değer None Dinamik çerçeveye bağlantı oluşturmak için bağlantı girişleri olarak kullanılan çerçeve yolu adları. |
framework_files
|
Files depset; veya None ;
varsayılan değer None Dinamik çerçeveye bağlantı oluşturmak için giriş olarak eklenmesi gereken yapıların tamamı |
new_executable_binary_provider
unknown apple_common.new_executable_binary_provider(binary=None, cc_info)Yeni bir AppleExecutableBinaryInfo sağlayıcı örneği oluşturur.
Parametreler
Parametre | Açıklama |
---|---|
binary
|
File (Dosya); veya None ;
varsayılan değer: None Yürütülebilir dosyanın ikili yapısı. |
cc_info
|
CcInfo;
gerekli İkili programa bağlı geçişli bağımlılıklar hakkında bilgi içeren CcInfo. |
platform
struct apple_common.platformApple platformlarına karşılık gelen aşağıdaki alanları içeren enum benzeri bir yapı:
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
visionos_device
visionos_simulator
watchos_device
watchos_simulator
Bu değerler, bir platform beklenen XcodeVersionConfig.sdk_version_for_platform gibi yöntemlere iletilebilir.
platform_type
struct apple_common.platform_typeApple platform türlerine karşılık gelen aşağıdaki alanları içeren enum benzeri bir yapı:
ios
macos
tvos
visionos
watchos
Bu değerler, "elma" gibi bir platform türü bekleyen yöntemlere iletilebilir. yapılandırma parçasının multi_arch_platform yöntemini kullanır.
Örnek:
ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)
target_apple_env
dict apple_common.target_apple_env(xcode_config, platform)Belirtilen Apple platform türünün hedeflerini oluşturan işlemler için ayarlanması gereken ortam değişkenlerinin
dict
değerini döndürür. Örneğin, bu sözlük, platform adını ve derleme yapılacak SDK sürümünü belirten değişkenler içerir. Anahtarlar değişken adlarıdır, değerler ise bunlara karşılık gelen değerlerdir.
Parametreler
Parametre | Açıklama |
---|---|
xcode_config
|
zorunlu Xcode yapılandırması hakkında bilgiler içeren bir sağlayıcı. |
platform
|
zorunlu Apple platformu. |
XcodeProperties
Provider apple_common.XcodeProperties
XcodeVersionProperties
sağlayıcısının oluşturucusu/anahtarı.Bir hedef, XcodeVersionProperties
sağlayıcısını yayarsa bunu almak için anahtar olarak kullanın. Örnek:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfig
XcodeVersionConfig
sağlayıcısının oluşturucusu/anahtarı.