Repo documentation for gn

Table of Contents

Recipe Modules

  • macos_sdk (Python3 ✅) — The macos_sdk module provides safe functions to access a semi-hermetic XCode installation.
  • target (Python3 ✅)
  • windows_sdk (Python3 ✅)

Recipes

Recipe Modules

recipe_modules / macos_sdk

DEPS: recipe_engine/cipd, recipe_engine/context, recipe_engine/json, recipe_engine/path, recipe_engine/platform, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

The macos_sdk module provides safe functions to access a semi-hermetic XCode installation.

Available only to Google-run bots.

class MacOSSDKApi(RecipeApi):

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):

recipe_modules / target

DEPS: recipe_engine/platform

PYTHON_VERSION_COMPATIBILITY: PY3

class TargetApi(RecipeApi):

@property
def host(self):

recipe_modules / windows_sdk

DEPS: recipe_engine/cipd, recipe_engine/context, recipe_engine/json, recipe_engine/path, recipe_engine/platform, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

class WindowsSDKApi(RecipeApi):

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.

Recipes

recipes / gn

DEPS: macos_sdk, target, windows_sdk, recipe_engine/buildbucket, recipe_engine/cas, recipe_engine/cipd, recipe_engine/context, recipe_engine/file, recipe_engine/json, recipe_engine/path, recipe_engine/platform, recipe_engine/properties, recipe_engine/raw_io, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

Recipe for building GN.

def RunSteps(api, repository):

recipes / macos_sdk:examples/full

DEPS: macos_sdk, recipe_engine/platform, recipe_engine/properties, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / target:examples/full

DEPS: target, recipe_engine/platform, recipe_engine/properties, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):

recipes / windows_sdk:examples/full

DEPS: windows_sdk, recipe_engine/platform, recipe_engine/properties, recipe_engine/step

PYTHON_VERSION_COMPATIBILITY: PY3

def RunSteps(api):