# Functions
LocalAppleXcodeSDKRootResolver resolves the SDK root directory (SDKROOT) by calling into the xcrun utility on the current system.
NewAppleXcodeResolvingRunner creates a decorator for RunnerServer that injects DEVELOPER_DIR and SDKROOT environment variables into actions, based on the presence of APPLE_SDK_PLATFORM, APPLE_SDK_VERSION_OVERRIDE, and XCODE_VERSION_OVERRIDE environment variables.
NewCachingAppleXcodeSDKRootResolver creates a decorator for AppleXcodeSDKRootResolver that caches successful results of successive calls.
NewChrootedCommandCreator returns a CommandCreator for cases where we need to chroot into the input root directory.
NewCleanRunner is a decorator for Runner that calls into an IdleInvoker before and after running a build action.
NewLocalRunner returns a Runner capable of running commands on the local system directly.
NewPathExistenceCheckingRunner creates a decorator of RunnerServer that is only healthy when certain paths on disk exist.
NewPlainCommandCreator returns a CommandCreator for cases where we don't need to chroot into the input root directory.
NewTemporaryDirectoryInstallingRunner creates a Runner that calls into a separate gRPC service to announce the availability of a new temporary directory that may be used by build actions as a scratch space.
NewTemporaryDirectorySymlinkingRunner creates a decorator for Runner that removes a local path on the system and replaces it with a symbolic link pointing to the temporary directory that was created by bb_worker as part of the action's build directory.
# Type aliases
AppleXcodeSDKRootResolver is a callback function that is used to obtain the path of an Xcode SDK root directory (SDKROOT), given a developer directory (DEVELOPER_DIR) and an SDK name.
CommandCreator is a type alias for a function that creates the exec.Cmd in localRunner.Run().