apple_yaygın

Starlark'ın Apple kuralı uygulamalarının iç kısımlarına erişmesini sağlayan işlevler.

Üyeler

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

Apple ana sisteminde derleme araçlarının çalıştırılması gereken işlemler için ayarlanması gereken ortam değişkenlerinin dict değerini döndürür. Örneğin, kullanılacak Xcode sürümü. Anahtarlar değişken adları, değerler ise bunlara karşılık gelen değerlerdir.

Parametreler

Parametre Açıklama
xcode_config required
Xcode yapılandırması hakkında bilgi içeren bir sağlayıcı.

apple_toolchain

apple_toolchain apple_common.apple_toolchain()

Apple araç zincirindeki öğeleri çözmeye yönelik yardımcı programlar.

AppleDebugOutputs

Provider 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 required
Noktalı sürümü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 çok mimarili) bir ikiliyi 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ı oluşturur ve bağlantı mantığının rules_apple'daki Starlark'a taşınmasına yardımcı olmak için kullanılır.

Bu API son derece deneyseldir ve herhangi bir zamanda değişebilir. Şu anda bu işlevin kararlılığına güvenmeyin.

Parametreler

Parametre Açıklama
gerekli
Starlark kuralı bağlamı.
Hedefler'in sırası veya None; varsayılan değer None
İkili dosyanın bağımlılık grafiğinde bulunan ancak kitaplıkları ikili dosyaya bağlanmaması gereken Target'lerin listesi. Bu durum, paket yükleyici veya bu ikili tarafından yüklenecek dinamik kitaplıklar/çerçeveler gibi, çalışma zamanında başka bir resimde bulunacak bağımlılıklar için geçerlidir.
string'lerin sequence'ı; varsayılan değer []
Bağlayıcı işlemine iletilecek ek bağlantı seçenekleri.
File'ların sequence'ı; varsayılan değer []
Bağlayıcı işlemine iletilecek ek dosyalar.
Dizelerin sırası; varsayılan değer []
Bağlayıcı işlemine iletilecek ek özellikler.
Dizelerin sırası; varsayılan değer []
Bağlayıcı işlemine iletilecek ek devre dışı özellikler.
Varsayılan değer -1
Bağlı ikili dosyaya derleme bilgilerinin dahil edilip edilmeyeceği. 1 ise derleme bilgileri her zaman dahil edilir. 0 ise derleme bilgileri her zaman hariç tutulur. -1 (varsayılan) ise davranış, --[no]stamp işaretiyle belirlenir. Test kuralları için yürütülebilir çıkış 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 çok mimarili) statik bir kitaplığı bağlar. Bu yöntem, rules_apple alanındaki Starlark apple_static_library kural mantığının bir bölümünü oluşturur ve bağlantı mantığının rules_apple'daki Starlark'a taşınmasına yardımcı olmak için kullanılır.

Bu API son derece deneyseldir ve herhangi bir zamanda değişebilir. Şu anda bu işlevin kararlılığına güvenmeyin.

Parametreler

Parametre Açıklama
gerekli
Starlark kuralı bağlamı.

new_dynamic_framework_provider

AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc=None, framework_dirs=None, framework_files=None)

Yeni bir AppleDynamicFramework sağlayıcı örneği oluşturur.

Parametreler

Parametre Açıklama
binary File veya None; varsayılan değer None
Dinamik çerçevenin dylib ikili yapısı.
cc_info varsayılan değer None
İkiliye bağlanan geçişli bağımlılıklar hakkında bilgi içeren bir CcInfo.
objc Varsayılan değer None
'dir. İkiliye bağlanan geçişli bağımlılıklarla ilgili bilgileri içeren bir ObjcProvider.
framework_dirs string'lerin 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 File'ların depset'i veya None; varsayılan değer None
Dinamik çerçeveye karşı bağlantı oluşturmak için giriş olarak dahil edilmesi gereken tüm yapay nesneler

new_executable_binary_provider

AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc=None)

Yeni bir AppleExecutableBinaryInfo sağlayıcı örneği oluşturur.

Parametreler

Parametre Açıklama
binary Dosya veya None; varsayılan değer None
Yürütülebilir dosyanın ikili yapısı.
cc_info varsayılan değer None
İkiliye bağlanan geçişli bağımlılıklar hakkında bilgi içeren bir CcInfo.
objc Varsayılan değer None
'dir. İkiliye bağlanan geçişli bağımlılıklarla ilgili bilgileri içeren bir ObjcProvider.

new_objc_provider

ObjcProvider apple_common.new_objc_provider(**kwargs)

Yeni bir ObjcProvider örneği oluşturur.

Parametreler

Parametre Açıklama
kwargs Varsayılan değer {}
Arguments sözlüğü.

Objc

Provider apple_common.Objc

Objc sağlayıcısının oluşturucusu/anahtarı.

Bir hedef Objc sağlayıcısını yayarsa bunu almak için anahtar olarak kullanın. Örnek:

dep = ctx.attr.deps[0]
p = dep[apple_common.Objc]

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, XcodeVersionConfig.sdk_version_for_platform gibi bir platform bekleyen 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, platform türü bekleyen yöntemlere (ör. "apple" yapılandırma parçasının multi_arch_platform yöntemi) aktarılabilir.

Örnek:

ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)

target_apple_env

dict apple_common.target_apple_env(xcode_config, platform)

Belirli Apple platformu 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ükte derleme için kullanılacak platform adını ve SDK sürümünü belirten değişkenler bulunur. Anahtarlar değişken adları, değerler ise bunlara karşılık gelen değerlerdir.

Parametreler

Parametre Açıklama
xcode_config required
Xcode yapılandırması hakkında bilgi 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ı.