Hội viên
- apple_host_system_env
- apple_toolchain
- AppleDebugOutputs
- AppleDynamicFramework
- AppleExecutableBinary
- dotted_version
- link_multi_arch_binary
- link_multi_arch_static_library
- multi_arch_split
- 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)Trả về một dict của biến môi trường cần được đặt cho các hành động cần chạy công cụ bản dựng trên hệ thống lưu trữ của Apple, chẳng hạn như phiên bản Xcode nên được sử dụng. Khoá là tên biến và các giá trị là giá trị tương ứng của chúng.
Thông số
Thông số | Nội dung mô tả |
---|---|
xcode_config
|
bắt buộc Một trình cung cấp có chứa thông tin về cấu hình xcode. |
apple_toolchain
apple_toolchain apple_common.apple_toolchain()Tiện ích để giải quyết các mục trong chuỗi công cụ Apple.
AppleDebugOutputs
Provider apple_common.AppleDebugOutputsHàm khởi tạo/khoá cho trình cung cấp
AppleDebugOutputs
.Nếu một mục tiêu truyền trình cung cấp AppleDebugOutputs
, hãy sử dụng khoá 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.AppleDynamicFrameworkHàm khởi tạo/khoá cho trình cung cấp
AppleDynamicFramework
.Nếu một mục tiêu truyền trình cung cấp AppleDynamicFramework
, hãy sử dụng khoá 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.AppleExecutableBinaryHàm khởi tạo/khoá cho trình cung cấp
AppleExecutableBinary
.Nếu một mục tiêu truyền trình cung cấp AppleExecutableBinary
, hãy sử dụng khoá 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)Tạo một thực thể DottedVersion mới.
Thông số
Thông số | Nội dung mô tả |
---|---|
version
|
bắt buộc Chuỗi đại diện của DottedVersion. |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], stamp=-1)Liên kết một tệp nhị phân (có thể là đa kiến trúc) nhắm mục tiêu đến các nền tảng của Apple. Phương thức này bao gồm phần lớn logic của quy tắc Starlark
apple_binary
trong miền rules_apple và tồn tại để hỗ trợ di chuyển logic liên kết của nó sang Starlark trong rules_apple.
API này đang mang tính thử nghiệm cao và có thể thay đổi bất cứ lúc nào. Không phụ thuộc vào độ ổn định của hàm này vào thời điểm này.
Thông số
Thông số | Nội dung mô tả |
---|---|
ctx
|
bắt buộc Ngữ cảnh quy tắc Starlark. |
avoid_deps
|
sequence of Targets; or None ;
mặc định = Không có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ới tệp nhị phân đó. Đây là trường hợp của những phần phụ thuộc sẽ được tìm thấy trong thời gian chạy của 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
|
sequence of strings ;
default = []Thêm linkopts sẽ được truyền vào hành động của trình liên kết. |
extra_link_inputs
|
sequence of Files ;
mặc định = []Các tệp bổ sung cần truyền đến hành động của trình liên kết. |
stamp
|
mặc định = -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 giá trị là 0, thông tin bản dựng sẽ luôn bị loại trừ. Nếu -1 (mặc định), thì hành vi được xác định bằng cờ --[no]đóng dấu. Bạn phải đặt giá trị này là 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)Liên kết một thư viện tĩnh (có thể là đa kiến trúc) nhắm đến các nền tảng của Apple. Phương thức này bao gồm một phần của logic quy tắc
apple_static_library
Starlark, trong miền rules_apple và tồn tại để hỗ trợ di chuyển logic liên kết của nó sang Starlark trong rules_apple.
API này đang mang tính thử nghiệm cao và có thể thay đổi bất cứ lúc nào. Không phụ thuộc vào độ ổn định của hàm này vào thời điểm này.
Thông số
Thông số | Nội dung mô tả |
---|---|
ctx
|
bắt buộc Ngữ cảnh quy tắc Starlark. |
multi_arch_split
SplitTransitionProviderApi apple_common.multi_arch_splitChuyển đổi cấu hình cho các thuộc tính quy tắc để tạo phần phụ thuộc trên một hoặc nhiều nền tảng của Apple.
Để sử dụng hoạt động chuyển đổi này, bạn phải xác định các thuộc tính chuỗi "platform_type" và "minimum_os_version" là thuộc tính bắt buộc trên quy tắc này.
Giá trị của thuộc tính platform_type sẽ cho biết cấu trúc mục tiêu cần tạo phần phụ thuộc trong quá trình chuyển đổi cấu hình này.
Có các tuỳ chọn sau:
ios
: kiến trúc thu thập từ--ios_multi_cpus
.macos
: kiến trúc thu thập từ--macos_cpus
.tvos
: kiến trúc thu thập từ--tvos_cpus
.watchos
: kiến trúc thu thập từ--watchos_cpus
.
Optimize_os_version phải là một chuỗi phiên bản có dấu chấm, chẳng hạn như "7.3", và được dùng để thiết lập hệ điều hành tối thiểu trên cấu hình theo cách tương tự dựa trên loại nền tảng. Ví dụ: việc chỉ định platform_type "ios" và Min_os_version "8.0" sẽ đảm bảo rằng các phần phụ thuộc được xây dựng với phiên bản iOS tối thiểu là "8.0".
new_dynamic_framework_provider
AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc, framework_dirs=None, framework_files=None)Tạo một thực thể nhà cung cấp AppleDynamicFramework mới.
Thông số
Thông số | Nội dung mô tả |
---|---|
binary
|
File; or None ;
mặc định = Không cóCấu phần phần mềm nhị phân dylib của khung động. |
cc_info
|
mặc định = Không có CcInfo chứa thông tin về các phần phụ thuộc bắc cầu được liên kết đến tệp nhị phân. |
objc
|
bắt buộc 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
|
depset of strings; or None ;
mặc định = KhôngTên đường dẫn khung được dùng làm dữ liệu đầu vào liên kết để liên kết với khung động. |
framework_files
|
depset of Files; or None ;
mặc định = Không cóTập hợp đầy đủ các cấu phần phần mềm cần được đưa vào làm dữ liệu đầu vào để liên kết với khung động |
new_executable_binary_provider
AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)Tạo một thực thể nhà cung cấp AppleExecutableBinaryInfo mới.
Thông số
Thông số | Nội dung mô tả |
---|---|
binary
|
File; or None ;
mặc định = Không cóCấu phần phần mềm nhị phân của tệp thực thi. |
cc_info
|
mặc định = Không có CcInfo chứa thông tin về các phần phụ thuộc bắc cầu được liên kết đến tệp nhị phân. |
objc
|
bắt buộc 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)Tạo một thực thể ObjcProvider mới.
Thông số
Thông số | Nội dung mô tả |
---|---|
kwargs
|
mặc định = {} Từ điển đối số. |
Khăn Objc
Provider apple_common.ObjcHàm khởi tạo/khoá cho trình cung cấp
Objc
.Nếu một mục tiêu truyền trình cung cấp Objc
, hãy sử dụng khoá 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.platformMột cấu trúc giống kiểu enum chứa các trường sau đây tương ứng với các nền tảng của Apple:
ios_device
ios_simulator
macos
tvos_device
tvos_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 dành cho một nền tảng, chẳng hạn như XcodeVersionConfig.sdk_version_for_platform.
platform_type
struct apple_common.platform_typeCấu trúc giống kiểu enum chứa các trường sau đây tương ứng với các loại nền tảng của Apple:
ios
macos
tvos
watchos
Các giá trị này có thể được truyề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ư phương thức multi_arch_platform của mảnh cấu hình "apple".
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)Trả về
dict
của các 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 xây dựng. Khoá là tên biến và các giá trị là giá trị tương ứng của chúng.
Thông số
Thông số | Nội dung mô tả |
---|---|
xcode_config
|
bắt buộc Một trình cung cấp có 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.XcodePropertiesHàm khởi tạo/khoá cho trình cung cấp
XcodeVersionProperties
.Nếu một mục tiêu truyền trình cung cấp XcodeVersionProperties
, hãy sử dụng khoá 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.XcodeVersionConfigHàm khởi tạo/khoá cho trình cung cấp
XcodeVersionConfig
.