build_hook/apple library

Classes

AppleBinaryVerification
AppleSliceCandidate
A single AvailableLibraries entry from an XCFramework Info.plist.
AppleSliceRequest
The platform/SDK/architecture tuple requested by one Apple hook run.

Functions

appleSliceSelectionFailureMessage({required AppleSliceRequest request, required String root, required Iterable<AppleSliceCandidate> candidates}) → String
describeAppleSlices(Iterable<AppleSliceCandidate> candidates) → String
filenameAppleSliceCandidates(Directory xcframeworkRoot, {required String platform, required String? variant}) → List<AppleSliceCandidate>
Builds a narrow filename-layout fallback for older/nonstandard archives. The caller must still inspect the selected Mach-O before emitting it.
inspectAppleBinaryArchitectures(File binary, {AppleCommandRunner runner = _runAppleCommand}) → Future<Set<String>>
materializeAppleBinary({required File source, required File destination, required String architecture, required String diagnosticContext, AppleCommandRunner runner = _runAppleCommand}) → Future<AppleBinaryVerification>
parseAppleLipoArchitectures(String output) → Set<String>
readAppleSliceCandidates(File infoPlist) → List<AppleSliceCandidate>
Reads the small subset of the XCFramework property list needed for slice selection. XCFramework Info.plists are XML, so keeping this parser local avoids making the build hook depend on a platform-specific plist utility.
selectAppleSlice(Iterable<AppleSliceCandidate> candidates, AppleSliceRequest request) → AppleSliceCandidate?
Selects an XCFramework entry without relying on directory enumeration order.

Typedefs

AppleCommandRunner = Future<ProcessResult> Function(String executable, List<String> arguments)

Exceptions / Errors

AppleBinaryException