macos_sdk
module provides safe functions to access a semi-hermetic XCode installation.DEPS: recipe_engine/cipd, recipe_engine/context, recipe_engine/json, recipe_engine/path, recipe_engine/platform, recipe_engine/step
The macos_sdk
module provides safe functions to access a semi-hermetic XCode installation.
Available only to Google-run bots.
API for using OS X SDK distributed via CIPD.
@contextmanager
— def __call__(self):
Sets up the XCode SDK environment.
This call is a no-op on non-Mac platforms.
This will deploy the helper tool and the XCode.app bundle at [START_DIR]/cache/macos_sdk
.
To avoid machines rebuilding these on every run, set up a named cache in your cr-buildbucket.cfg file like:
caches: { # Cache for mac_toolchain tool and XCode.app name: "macos_sdk" path: "macos_sdk" }
If you have builders which e.g. use a non-current SDK, you can give them a uniqely named cache:
caches: { # Cache for N-1 version mac_toolchain tool and XCode.app name: "macos_sdk_old" path: "macos_sdk" }
Usage: with api.macos_sdk(): # sdk with mac build bits
Raises: StepFailure or InfraFailure.
@property
— def sdk_dir(self):
DEPS: recipe_engine/cipd, recipe_engine/context, recipe_engine/json, recipe_engine/path, recipe_engine/platform, recipe_engine/step
API for using Windows SDK distributed via CIPD.
@contextmanager
— def __call__(self):
Setups the Windows SDK environment.
This call is a no-op on non-Windows platforms.
Raises: StepFailure or InfraFailure.
DEPS: macos_sdk, recipe_engine/platform, recipe_engine/properties, recipe_engine/step
— def RunSteps(api):
DEPS: depot_tools/gsutil, macos_sdk, windows_sdk, recipe_engine/buildbucket, recipe_engine/cipd, recipe_engine/context, recipe_engine/file, recipe_engine/path, recipe_engine/platform, recipe_engine/properties, recipe_engine/raw_io, recipe_engine/step
Recipe for building Perfetto.
— def BuildForPlatform(api, ctx, platform):
— def GnArgs(platform):
— def RunSteps(api, repository):
— def UploadArtifact(api, ctx, platform, out_dir, artifact):
DEPS: windows_sdk, recipe_engine/platform, recipe_engine/properties, recipe_engine/step
— def RunSteps(api):