Fungsi untuk Starlark guna mengakses internal dari implementasi aturan apple.
Anggota
- 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)Menampilkan dict variabel lingkungan yang harus ditetapkan untuk tindakan yang perlu menjalankan alat build pada sistem host Apple, seperti versi Xcode yang harus digunakan. Kunci adalah nama variabel dan nilainya adalah nilai yang sesuai.
Parameter
Parameter | Deskripsi |
---|---|
xcode_config
|
wajib Penyedia yang berisi informasi tentang konfigurasi Xcode. |
apple_toolchain
unknown apple_common.apple_toolchain()Utilitas untuk me-resolve item dari toolchain Apple.
AppleDebugOutputs
None
apple_common.AppleDebugOutputs
Konstruktor/kunci untuk penyedia AppleDebugOutputs
.Jika target menyebarkan penyedia AppleDebugOutputs
, gunakan ini sebagai kunci yang akan digunakan untuk mengambilnya. Contoh:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFrameworkKonstruktor/kunci untuk penyedia
AppleDynamicFramework
.Jika target menyebarkan penyedia AppleDynamicFramework
, gunakan ini sebagai kunci yang akan digunakan untuk mengambilnya. Contoh:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinaryKonstruktor/kunci untuk penyedia
AppleExecutableBinary
.Jika target menyebarkan penyedia AppleExecutableBinary
, gunakan ini sebagai kunci yang akan digunakan untuk mengambilnya. Contoh:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)Membuat instance DottedVersion baru.
Parameter
Parameter | Deskripsi |
---|---|
version
|
string;
wajib Representasi string dari DottedVersion. |
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)Menautkan biner (kemungkinan multi-arsitektur) yang menargetkan platform Apple. Metode ini terdiri dari sebagian besar logika aturan
apple_binary
Starlark dalam domain rules_apple dan ada untuk membantu migrasi logika penautannya ke Starlark di rules_apple.
API ini sangat eksperimental dan dapat berubah sewaktu-waktu. Jangan bergantung pada stabilitas fungsi ini untuk saat ini.
Parameter
Parameter | Deskripsi |
---|---|
ctx
|
ctx;
wajib Konteks aturan Starlark. |
avoid_deps
|
urutan Target; atau None ;
default adalah None Daftar Target yang ada dalam grafik dependensi biner tetapi library-nya tidak boleh ditautkan ke dalam biner. Inilah kasus untuk dependensi yang akan ditemukan saat runtime di gambar lain, seperti loader bundle atau library/framework dinamis apa pun yang akan dimuat oleh biner ini.
|
extra_linkopts
|
urutan string;
default adalah [] Linkopt tambahan yang akan diteruskan ke tindakan penaut. |
extra_link_inputs
|
urutan File;
default adalah [] File tambahan yang akan diteruskan ke tindakan penaut. |
extra_requested_features
|
urutan string;
default adalah [] Fitur tambahan yang diminta untuk diteruskan ke tindakan penaut. |
extra_disabled_features
|
urutan string;
default adalah [] Fitur tambahan yang dinonaktifkan yang akan diteruskan ke tindakan penaut. |
stamp
|
int;
default adalah -1 Apakah akan menyertakan informasi build dalam biner tertaut. Jika 1, informasi build akan selalu disertakan. Jika 0, informasi build selalu dikecualikan. Jika -1 (default), perilaku ditentukan oleh penanda --[no]stamp. Nilai ini harus disetel ke 0 saat membuat output yang dapat dieksekusi untuk aturan pengujian. |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)Menautkan library statis (kemungkinan multi-arsitektur) yang menargetkan platform Apple. Metode ini terdiri dari bagian dari logika aturan
apple_static_library
Starlark, dalam domain rules_apple dan ada untuk membantu migrasi logika penautannya ke Starlark di rules_apple.
API ini sangat eksperimental dan dapat berubah sewaktu-waktu. Jangan bergantung pada stabilitas fungsi ini untuk saat ini.
Parameter
Parameter | Deskripsi |
---|---|
ctx
|
ctx;
wajib Konteks aturan Starlark. |
new_dynamic_framework_provider
unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)Membuat instance penyedia AppleDynamicFramework baru.
Parameter
Parameter | Deskripsi |
---|---|
binary
|
File; atau None ;
default adalah None Artefak biner dylib dari framework dinamis. |
cc_info
|
CcInfo;
wajib CcInfo yang berisi informasi tentang dependensi transitif yang ditautkan ke biner. |
framework_dirs
|
depset dari string; atau None ;
default adalah None Nama jalur framework yang digunakan sebagai input link untuk menautkan ke framework dinamis. |
framework_files
|
depset dari File; atau None ;
default adalah None Kumpulan lengkap artefak yang harus disertakan sebagai input untuk ditautkan dengan framework dinamis |
new_executable_binary_provider
unknown apple_common.new_executable_binary_provider(binary=None, cc_info)Membuat instance penyedia AppleExecutableBinaryInfo baru.
Parameter
Parameter | Deskripsi |
---|---|
binary
|
File; atau None ;
default adalah None Artefak biner dari file yang dapat dieksekusi. |
cc_info
|
CcInfo;
wajib CcInfo yang berisi informasi tentang dependensi transitif yang ditautkan ke biner. |
platform
struct apple_common.platformStruktur mirip enum yang berisi kolom berikut yang sesuai dengan platform Apple:
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
visionos_device
visionos_simulator
watchos_device
watchos_simulator
Nilai ini dapat diteruskan ke metode yang mengharapkan platform, seperti XcodeVersionConfig.sdk_version_for_platform.
platform_type
struct apple_common.platform_typeStruktur mirip enum yang berisi kolom berikut yang sesuai dengan jenis platform Apple:
ios
macos
tvos
visionos
watchos
Nilai ini dapat diteruskan ke metode yang mengharapkan jenis platform, seperti 'apple' metode multi_arch_platform fragmen konfigurasi.
Contoh:
ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)
target_apple_env
dict apple_common.target_apple_env(xcode_config, platform)Menampilkan
dict
variabel lingkungan yang harus ditetapkan untuk tindakan yang membangun target dari jenis platform Apple tertentu. Misalnya, kamus ini berisi variabel yang menunjukkan nama platform dan versi SDK yang akan digunakan untuk membangun. Kunci adalah nama variabel dan nilainya adalah nilai yang sesuai.
Parameter
Parameter | Deskripsi |
---|---|
xcode_config
|
wajib Penyedia yang berisi informasi tentang konfigurasi Xcode. |
platform
|
wajib Platform Apple. |
XcodeProperties
Provider apple_common.XcodePropertiesKonstruktor/kunci untuk penyedia
XcodeVersionProperties
.Jika target menyebarkan penyedia XcodeVersionProperties
, gunakan ini sebagai kunci yang akan digunakan untuk mengambilnya. Contoh:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfigKonstruktor/kunci untuk penyedia
XcodeVersionConfig
.