apple_yaygın

. Sorun bildirin Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

. Starlark'ın, elma kuralı uygulamalarının dahili bileşenlerine erişmesini sağlayan işlevler.

Üyeler

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.

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; gerekli
Starlark kuralının bağlamı.
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.
sequence of dize; varsayılan değer []
Bağlayıcı işlemine iletilmek üzere fazladan linkopts.
sequence of Files; varsayılan değer []
Bağlayıcı işlemine aktarılacak fazladan dosyalar.
sequence of dize; varsayılan değer []
Bağlayıcı işlemine iletilecek ek istenen özellikler.
sequence of dize; varsayılan değer []
Bağlayıcı işlemine aktarılacak ekstra devre dışı özellikler.
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.

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; 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.platform

Apple 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_type

Apple 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ı.