Các hàm để Starlark truy cập vào bên trong các phương thức triển khai quy tắc của Apple.
Hội viên
- 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
- new_objc_provider
- Objc
- nền tảng
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)
Tham số
Thông số | Mô tả |
---|---|
xcode_config
|
bắt buộc Trình cung cấp chứa thông tin về cấu hình xcode. |
apple_toolchain
apple_toolchain apple_common.apple_toolchain()
AppleDebugOutputs
Provider apple_common.AppleDebugOutputs
AppleDebugOutputs
.Nếu một mục tiêu truyền trình cung cấp AppleDebugOutputs
, hãy dùng mã này làm khoá để truy xuất trình cung cấp đó. Ví dụ:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDebugOutputs]
AppleDynamicFramework
Provider apple_common.AppleDynamicFramework
AppleDynamicFramework
.Nếu một mục tiêu truyền trình cung cấp AppleDynamicFramework
, hãy dùng mã này làm khoá để truy xuất trình cung cấp đó. Ví dụ:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleDynamicFramework]
AppleExecutableBinary
Provider apple_common.AppleExecutableBinary
AppleExecutableBinary
.Nếu một mục tiêu truyền trình cung cấp AppleExecutableBinary
, hãy dùng mã này làm khoá để truy xuất trình cung cấp đó. Ví dụ:
dep = ctx.attr.deps[0] p = dep[apple_common.AppleExecutableBinary]
dotted_version
DottedVersion apple_common.dotted_version(version)
Tham số
Thông số | Mô tả |
---|---|
version
|
bắt buộc Biểu diễn chuỗi của 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)
apple_binary
Starlark trong miền rules_apple và tồn tại để hỗ trợ di chuyển logic liên kết của quy tắc này sang Starlark trong rules_apple.
API này mang tính thử nghiệm cao và có thể thay đổi bất cứ lúc nào. Hiện tại, đừng phụ thuộc vào độ ổn định của hàm này.
Tham số
Thông số | Mô tả |
---|---|
ctx
|
bắt buộc Ngữ cảnh quy tắc Starlark. |
avoid_deps
|
trình tự của Mục tiêu; hoặc None ;
mặc định là None Danh sách Target nằm trong biểu đồ phần phụ thuộc của tệp nhị phân nhưng có thư viện không được liên kết vào tệp nhị phân đó. Đây là trường hợp các phần phụ thuộc sẽ được tìm thấy trong thời gian chạy ở một hình ảnh khác, chẳng hạn như trình tải gói hoặc bất kỳ thư viện/khung động nào sẽ được tệp nhị phân này tải.
|
extra_linkopts
|
trình tự của chuỗi;
mặc định là [] Các đường liên kết bổ sung sẽ được chuyển đến hành động của trình liên kết. |
extra_link_inputs
|
trình tự của Tệp;
mặc định là [] Các tệp bổ sung để chuyển vào hành động của trình liên kết. |
extra_requested_features
|
trình tự của chuỗi;
mặc định là [] Các tính năng bổ sung bắt buộc được truyền cho hành động của trình liên kết. |
extra_disabled_features
|
trình tự của chuỗi;
mặc định là [] Các tính năng bị vô hiệu hoá bổ sung sẽ được truyền cho hành động của trình liên kết. |
stamp
|
giá trị mặc định là -1 Liệu có đưa thông tin bản dựng vào tệp nhị phân được liên kết hay không. Nếu là 1, thông tin bản dựng sẽ luôn được đưa vào. Nếu là 0, thông tin bản dựng sẽ luôn bị loại trừ. Nếu -1 (giá trị mặc định), thì hành vi được xác định bằng cờ tem --[no]. Bạn phải đặt giá trị này thành 0 khi tạo đầu ra thực thi cho các quy tắc kiểm thử. |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)
apple_static_library
của Starlark trong miền rules_apple và tồn tại để hỗ trợ di chuyển logic liên kết của phương thức này sang Starlark trong rules_apple.
API này mang tính thử nghiệm cao và có thể thay đổi bất cứ lúc nào. Hiện tại, đừng phụ thuộc vào độ ổn định của hàm này.
Tham số
Thông số | Mô tả |
---|---|
ctx
|
bắt buộc Ngữ cảnh quy tắc Starlark. |
new_dynamic_framework_provider
AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc=None, framework_dirs=None, framework_files=None)
Tham số
Thông số | Mô tả |
---|---|
binary
|
Tệp; hoặc None ;
giá trị mặc định là None Cấu phần phần mềm nhị phân dylib của khung động. |
cc_info
|
giá trị mặc định là None Một CcInfo chứa thông tin về các phần phụ thuộc bắc cầu được liên kết với tệp nhị phân. |
objc
|
giá trị mặc định là None Một ObjcProvider chứa thông tin về các phần phụ thuộc bắc cầu được liên kết với tệp nhị phân. |
framework_dirs
|
phần phụ thuộc của chuỗi; hoặc None ;
mặc định là None Tên đường dẫn khung được dùng làm dữ liệu đầu vào của đường liên kết để liên kết với khung động. |
framework_files
|
phần phụ thuộc của Tệp; hoặc None ;
mặc định là None Tập hợp đầy đủ các cấu phần phần mềm nên được đưa vào dưới dạng dữ liệu đầu vào để liên kết với khung linh động |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc=None)
Tham số
Thông số | Mô tả |
---|---|
binary
|
Tệp; hoặc None ;
giá trị mặc định là None Cấu phần phần mềm nhị phân của tệp thực thi. |
cc_info
|
giá trị mặc định là None Một CcInfo chứa thông tin về các phần phụ thuộc bắc cầu được liên kết với tệp nhị phân. |
objc
|
giá trị mặc định là None Một ObjcProvider chứa thông tin về các phần phụ thuộc bắc cầu được liên kết với tệp nhị phân. |
new_objc_provider
ObjcProvider apple_common.new_objc_provider(**kwargs)
Tham số
Thông số | Mô tả |
---|---|
kwargs
|
giá trị mặc định là {} Từ điển đối số. |
Objc
Provider apple_common.Objc
Objc
.Nếu một mục tiêu truyền trình cung cấp Objc
, hãy dùng mã này làm khoá để truy xuất trình cung cấp đó. Ví dụ:
dep = ctx.attr.deps[0] p = dep[apple_common.Objc]
platform
struct apple_common.platform
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
visionos_device
visionos_simulator
watchos_device
watchos_simulator
Các giá trị này có thể được chuyển đến các phương thức dự kiến có một nền tảng, chẳng hạn như XcodeVersionConfig.sdk_version_for_platform.
platform_type
struct apple_common.platform_type
ios
macos
tvos
visionos
watchos
Các giá trị này có thể được chuyển đến các phương thức dự kiến có một loại nền tảng, chẳng hạn như "apple" multi_arch_platform của mảnh cấu hình.
Ví dụ:
ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)
target_apple_env
dict apple_common.target_apple_env(xcode_config, platform)
dict
biến môi trường cần được thiết lập cho các hành động tạo mục tiêu thuộc loại nền tảng Apple nhất định. Ví dụ: từ điển này chứa các biến biểu thị tên nền tảng và phiên bản SDK cần tạo. Khoá là tên biến và các giá trị là giá trị tương ứng của chúng.
Tham số
Thông số | Mô tả |
---|---|
xcode_config
|
bắt buộc Trình cung cấp chứa thông tin về cấu hình xcode. |
platform
|
bắt buộc Nền tảng của Apple. |
XcodeProperties
Provider apple_common.XcodeProperties
XcodeVersionProperties
.Nếu một mục tiêu truyền trình cung cấp XcodeVersionProperties
, hãy dùng mã này làm khoá để truy xuất trình cung cấp đó. Ví dụ:
dep = ctx.attr.deps[0] p = dep[apple_common.XcodeVersionProperties]
XcodeVersionConfig
Provider apple_common.XcodeVersionConfig
XcodeVersionConfig
.