apple_Common

Các hàm cho Starlark để truy cập vào nội bộ của các triển khai quy tắc của Apple.

Hội viên

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

Trả về một dict gồm các biến môi trường cần được thiết lập cho những thao tác cần chạy các công cụ tạo bản dựng trên hệ thống máy chủ Apple, chẳng hạn như phiên bản Xcode cần dùng. Khoá là tên biến và giá trị là giá trị tương ứng của biến.

Thông số

Tham số Mô tả
xcode_config bắt buộc
Một trình cung cấp chứa thông tin về cấu hình xcode.

apple_toolchain

apple_toolchain apple_common.apple_toolchain()

Tiện ích để phân giải các mục trong chuỗi công cụ của Apple.

AppleDebugOutputs

Provider apple_common.AppleDebugOutputs

Hàm khởi tạo/khoá cho trình cung cấp AppleDebugOutputs.

Nếu một đích đến truyền nhà cung cấp AppleDebugOutputs, hãy dùng đích đến này làm khoá để truy xuất. Ví dụ:

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

AppleDynamicFramework

Provider apple_common.AppleDynamicFramework

Hàm khởi tạo/khoá cho trình cung cấp AppleDynamicFramework.

Nếu một đích đến truyền nhà cung cấp AppleDynamicFramework, hãy dùng đích đến này làm khoá để truy xuất. Ví dụ:

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

AppleExecutableBinary

Provider apple_common.AppleExecutableBinary

Hàm khởi tạo/khoá cho trình cung cấp AppleExecutableBinary.

Nếu một đích đến truyền nhà cung cấp AppleExecutableBinary, hãy dùng đích đến này làm khoá để truy xuất. 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ố

Tham số Mô tả
version bắt buộc
Giá trị biểu thị chuỗi của DottedVersion.

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ể có nhiều cấu trúc) nhắm đế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 apple_binary Starlark trong miền rules_apple và tồn tại để hỗ trợ việc di chuyển logic liên kết của quy tắc này sang Starlark trong rules_apple.

API này đang trong giai đoạn thử nghiệm cao và có thể thay đổi bất cứ lúc nào. Hiện tại, bạn không nên phụ thuộc vào tính ổn định của hàm này.

Thông số

Tham số Mô tả
bắt buộc
Ngữ cảnh quy tắc Starlark.
sequence of Targets; or None; default = None
Danh sách các Target trong biểu đồ phần phụ thuộc của tệp nhị phân nhưng thư viện của các Target này không được liên kết với tệp nhị phân. Đây là trường hợp đối với 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 mọi thư viện/khung động sẽ được tải bởi tệp nhị phân này.
sequence of strings; default = []
Extra linkopts to be passed to the linker action.
sequence of Files; default = []
Các tệp bổ sung để truyền đến thao tác của trình liên kết.
default = -1
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 là -1 (mặc định), thì hành vi sẽ do cờ --[no]stamp xác định. Bạn nên đặ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ử.

struct apple_common.link_multi_arch_static_library(ctx)

Liên kết một thư viện tĩnh (có thể có nhiều cấu 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ợ việc di chuyển logic liên kết của miền này sang Starlark trong rules_apple.

API này đang trong giai đoạn thử nghiệm cao và có thể thay đổi bất cứ lúc nào. Hiện tại, bạn không nên phụ thuộc vào tính ổn định của hàm này.

Thông số

Tham số Mô tả
bắt buộc
Ngữ cảnh quy tắc Starlark.

multi_arch_split

SplitTransitionProviderApi apple_common.multi_arch_split

Một quá trình chuyển đổi cấu hình cho các thuộc tính quy tắc để tạo phần phụ thuộc trong một hoặc nhiều nền tảng của Apple.

Để sử dụng quá trình chuyển đổi này, bạn phải xác định và bắt buộc các thuộc tính chuỗi "platform_type" và "minimum_os_version" trên quy tắc.

Giá trị của thuộc tính platform_type sẽ quyết định các cấu trúc đích mà các phần phụ thuộc dọc theo quá trình chuyển đổi cấu hình này sẽ được tạo.

Các lựa chọn là:

  • ios: các cấu trúc được thu thập từ --ios_multi_cpus.
  • macos: các cấu trúc được thu thập từ --macos_cpus.
  • tvos: các cấu trúc được thu thập từ --tvos_cpus.
  • watchos: các cấu trúc được thu thập từ --watchos_cpus.

minimum_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 tương tự dựa trên loại nền tảng. Ví dụ: việc chỉ định platform_type là "ios" và minimum_os_version là "8.0" sẽ đảm bảo rằng các phần phụ thuộc được tạo bằng 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ố

Tham số Mô tả
binary File; or None; default = None
Tạo tác nhị phân dylib của khung động.
cc_info default = None
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 bắt buộc
ObjcProvider chứa thông tin về các phần phụ thuộc bắc cầu được liên kết vào tệp nhị phân.
framework_dirs depset of strings; or None; default = None
Tên đường dẫn khung được dùng làm đầu vào liên kết để liên kết với khung động.
framework_files depset of Files; or None; default = None
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ể trình cung cấp AppleExecutableBinaryInfo mới.

Thông số

Tham số Mô tả
binary File; or None; default = None
Tệp nhị phân của tệp thực thi.
cc_info default = None
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 bắt buộc
ObjcProvider chứa thông tin về các phần phụ thuộc bắc cầu được liên kết vào 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ố

Tham số Mô tả
kwargs default = {}
Từ điển đối số.

Objc

Provider apple_common.Objc

Hàm khởi tạo/khoá cho trình cung cấp Objc.

Nếu một đích đến truyền nhà cung cấp Objc, hãy dùng đích đến này làm khoá để truy xuất. Ví dụ:

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

platform

struct apple_common.platform

Một cấu trúc giống như 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

Bạn có thể truyền các giá trị này đến những phương thức dự kiến nhận một nền tảng, chẳng hạn như XcodeVersionConfig.sdk_version_for_platform.

platform_type

struct apple_common.platform_type

Một cấu trúc giống như 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

Bạn có thể truyền các giá trị này đến những 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 đoạn 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ề một dict của các biến môi trường cần được đặt cho các thao tác tạo mục tiêu thuộc loại nền tảng Apple đã cho. 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 để tạo. Khoá là tên biến và giá trị là giá trị tương ứng của biến.

Thông số

Tham số Mô tả
xcode_config bắt buộc
Một trình cung cấp chứa thông tin về cấu hình xcode.
platform required
Nền tảng Apple.

XcodeProperties

Provider apple_common.XcodeProperties

Hàm khởi tạo/khoá cho trình cung cấp XcodeVersionProperties.

Nếu một đích đến truyền nhà cung cấp XcodeVersionProperties, hãy dùng đích đến này làm khoá để truy xuất. Ví dụ:

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

XcodeVersionConfig

Provider apple_common.XcodeVersionConfig

Hàm khởi tạo/khoá cho trình cung cấp XcodeVersionConfig.