apple_yaygın

Sorun bildirin Kaynağı göster

Starlark'ın, elma kuralı uygulamalarının dahili özelliklerine 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 için ayarlanması gereken ortam değişkenlerinin (ör. kullanılması gereken Xcode sürümü) bir dict değerini döndürür. Anahtarlar değişken adları, değerler ise bunlara karşılık gelen değerlerdir.

Parametreler

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

apple_toolchain

apple_toolchain apple_common.apple_toolchain()

Öğeleri elma araç zincirinden çözümleyen yardımcı programlar.

AppleDebugOutputs

Provider apple_common.AppleDebugOutputs

AppleDebugOutputs sağlayıcısı için oluşturucu/anahtar.

Bir hedef, AppleDebugOutputs sağlayıcısını yayarsa bunu almak için kullanılacak 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ı için oluşturucu/anahtar.

Bir hedef, AppleDynamicFramework sağlayıcısını yayarsa bunu almak için kullanılacak 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ı için oluşturucu/anahtar.

Bir hedef, AppleExecutableBinary sağlayıcısını yayarsa bunu almak için kullanılacak 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 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 çok mimarili) bir ikili programı bağlar. Bu yöntem, rules_apple alanındaki Starlark apple_binary kuralının bir toplu mantığını içerir ve rules_apple içindeki bağlantı mantığının Starlark'a taşınmasına yardımcı olur.

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

Parametreler

Parametre Açıklama
gerekli
Starlark kuralı bağlamı.
sequence veya None; varsayılan olarak None şeklindedir
İkili programın bağımlılık grafiğinde bulunan ancak kitaplıklarının ikili programa bağlanmaması gereken Target'ların 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.
string'in sequence; varsayılan değeri []
Bağlayıcı işlemine aktarılacak ekstra bağlantılar.
Files sequence; varsayılan olarak [] şeklindedir
Bağlayıcı işlemine iletilecek ekstra dosyalar.
dize'nin sekansı; varsayılan değer []
Bağlayıcı işlemine aktarılacak ekstra istenen özellikler.
dize'nin sequence; varsayılan olarak [] şeklindedir
Bağlayıcı işlemine aktarılacak ekstra devre dışı bırakılmış özellikler.
-1 varsayılandır.
Derleme bilgilerinin bağlı ikili programa eklenip eklenmeyeceğini belirtir. 1 ise derleme bilgileri her zaman dahil edilir. Değer 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) 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 içindeki bağlantı mantığının Starlark'a taşınmasına yardımcı olur.

Bu API son derece deneyseldir ve herhangi bir zamanda değiştirilebilir. Şimdilik 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 (Dosya) veya None; varsayılan değer olan None'dir
Dinamik çerçevenin dylib ikili yapısıdır.
cc_info varsayılan değer None şeklindedir
İkili dosyaya bağlı geçişli bağımlılıklar hakkında bilgi içeren bir CcInfo.
objc varsayılan değer: None
İkili dosyaya bağlı geçişli bağımlılıklar hakkında bilgi içeren bir ObjcProvider.
framework_dirs depset/dize 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 olarak None değerine sahiptir
Dinamik çerçeveye bağlanmak için giriş olarak eklenmesi gereken tüm yapı setleri

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 File (Dosya) veya None; varsayılan değer: None
Yürütülebilir dosyanın ikili yapısı.
cc_info varsayılan değer None şeklindedir
İkili dosyaya bağlı geçişli bağımlılıklar hakkında bilgi içeren bir CcInfo.
objc varsayılan değer: None
İkili dosyaya bağlı geçişli bağımlılıklar hakkında bilgi 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: {}
Bağımsız değişken sözlüğü.

Objc

Provider apple_common.Objc

Objc sağlayıcısı için oluşturucu/anahtar.

Bir hedef, Objc sağlayıcısını yayarsa bunu almak için kullanılacak 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 struct:
  • 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 aktarılabilir.

platform_type

struct apple_common.platform_type

Apple platform türlerine karşılık gelen aşağıdaki alanları içeren enum benzeri bir struct:
  • ios
  • macos
  • tvos
  • visionos
  • watchos

Bu değerler, "apple" yapılandırma parçasının multi_arch_platform yöntemi gibi bir platform türü bekleyen yöntemlere 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 bir Apple platform türünde hedefler 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 yapılacak platform adını ve SDK sürümünü belirten değişkenler bulunmaktadır. Anahtarlar değişken adları, değerler ise bunlara karşılık gelen değerlerdir.

Parametreler

Parametre Açıklama
xcode_config gerekli
xcode yapılandırması hakkında bilgi içeren bir sağlayıcı.
platform gerekli
Apple platformu.

XcodeProperties

Provider apple_common.XcodeProperties

XcodeVersionProperties sağlayıcısı için oluşturucu/anahtar.

Bir hedef, XcodeVersionProperties sağlayıcısını yayarsa bunu almak için kullanılacak 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ı için oluşturucu/anahtar.