apple_Common

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

Hội viên

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

Trả về một dict của các biến môi trường cần được đặt cho những 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 của Xcode mà bạn nên sử dụng. Khoá là tên biến và 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
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ụ Apple.

AppleDebugOutputs

Provider apple_common.AppleDebugOutputs

Hà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 dùng khoá 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 mục tiêu truyền trình cung cấp AppleDynamicFramework, hãy dùng khoá 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 mục tiêu truyền trình cung cấp AppleExecutableBinary, hãy dùng khoá 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ố

Thông số Nội dung mô tả
version bắt buộc
Chuỗi đại diện 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ể 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 apple_binary Starlark trong miền rules_apple và tồn tại để hỗ trợ di chuyển logic liên kết 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, không phụ thuộc vào độ ổn định của chức năng này.

Thông số

Thông số Nội dung mô tả
bắt buộc
Ngữ cảnh quy tắc Starlark.
sequence of Targets; or None; mặc định = Không
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 các 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ải bằng tệp nhị phân này.
sequence of strings; default = []
Các tuỳ chọn liên kết bổ sung cần được chuyển vào hành động của trình liên kết.
sequence of Files; mặc định = []
Các tệp bổ sung cần chuyển đến hành động của trình liên kết.
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 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ẽ được xác định bằng cờ --[no]tem. 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ử.

struct apple_common.link_multi_arch_static_library(ctx)

Liên kết một thư viện tĩnh (có thể đ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 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, không phụ thuộc vào độ ổn định của chức năng này.

Thông số

Thông số Nội dung mô tả
bắt buộc
Ngữ cảnh quy tắc Starlark.

multi_arch_split

SplitTransitionProviderApi apple_common.multi_arch_split

Chuyể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 tính năng chuyển đổi này, các thuộc tính chuỗi "platform_type" và "minimum_os_version" phải được xác định và bắt buộc trên quy tắc.

Giá trị của thuộc tính platform_type sẽ cho biết cấu trúc mục tiêu mà các phần phụ thuộc trong quá trình chuyển đổi cấu hình này sẽ được tạo.

Có các tuỳ chọn sau:

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

Tối thiểu_os_version phải là một chuỗi phiên bản dấu chấm, chẳng hạn như "7.3", và được dùng để đặt 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 "ios" và minimum_os_version "8.0" sẽ đảm bảo rằng các phần phụ thuộc được xây dựng bằng iOS phiên bản 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 phiên bản 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ấu phần phần mềm tệp nhị phân dylib của khung động.
cc_info mặc định = Không có
Tệp 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
Một ObjcProvider chứa thông tin về các phần phụ thuộc bắc cầu liên kết với tệp nhị phân.
framework_dirs depset of strings; or None; mặc định = Không
Tê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ó
Toàn bộ 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 phiên bản 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ó
Tệp 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
Một ObjcProvider chứa thông tin về các phần phụ thuộc bắc cầu 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 về đối số.

Khăn thắt lưng Objc

Provider apple_common.Objc

Hà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 dùng khoá 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 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 có 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 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 đặt cho các hành động tạo mục tiêu của 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 cần xây dựng. Khoá là tên biến và 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
Nhà cung cấp chứa thông tin về cấu hình xcode.
platform bắt buộc
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 mục tiêu truyền trình cung cấp XcodeVersionProperties, hãy dùng khoá 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.