@ -5,7 +5,7 @@
**[Recipe Modules](#Recipe-Modules)**
* [bot_update ](#recipe_modules-bot_update ) — Recipe module to ensure a checkout is consistent on a bot.
* [cipd ](#recipe_modules-cipd )
* [depot_tools ](#recipe_modules-depot_tools )
* [depot_tools ](#recipe_modules-depot_tools ) — The `depot_tools` module provides safe functions to access paths within the depot_tools repo.
* [gclient ](#recipe_modules-gclient )
* [gerrit ](#recipe_modules-gerrit )
* [git ](#recipe_modules-git )
@ -48,14 +48,14 @@ Recipe module to ensure a checkout is consistent on a bot.
Wrapper for easy calling of bot_update.
— **def [apply\_gerrit\_ref ](/recipes/recipe_modules/bot_update/api.py# 5 4)(self, root, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, gerrit_repo=None, gerrit_ref=None, step_name='apply_gerrit', \*\*kwargs):**
— **def [apply\_gerrit\_ref ](/recipes/recipe_modules/bot_update/api.py# 46 )(self, root, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, gerrit_repo=None, gerrit_ref=None, step_name='apply_gerrit', \*\*kwargs):**
— **def [deapply\_patch ](/recipes/recipe_modules/bot_update/api.py#4 50 )(self, bot_update_step):**
— **def [deapply\_patch ](/recipes/recipe_modules/bot_update/api.py#4 42 )(self, bot_update_step):**
Deapplies a patch, taking care of DEPS and solution revisions properly.
— **def [ensure\_checkout ](/recipes/recipe_modules/bot_update/api.py# 7 6)(self, gclient_config=None, suffix=None, patch=True, update_presentation=True, patch_root=None, no_shallow=False, with_branch_heads=False, with_tags=False, refs=None, patch_oauth2=False, oauth2_json=False, use_site_config_creds=True, clobber=False, root_solution_revision=None, rietveld=None, issue=None, patchset=None, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, disable_syntax_validation=False, manifest_name=None, \*\*kwargs):**
— **def [ensure\_checkout ](/recipes/recipe_modules/bot_update/api.py# 68 )(self, gclient_config=None, suffix=None, patch=True, update_presentation=True, patch_root=None, no_shallow=False, with_branch_heads=False, with_tags=False, refs=None, patch_oauth2=False, oauth2_json=False, use_site_config_creds=True, clobber=False, root_solution_revision=None, rietveld=None, issue=None, patchset=None, gerrit_no_reset=False, gerrit_no_rebase_patch_ref=False, disable_syntax_validation=False, manifest_name=None, \*\*kwargs):**
Args:
use_site_config_creds: If the oauth2 credentials are in the buildbot
@ -74,7 +74,7 @@ Args:
manifest_name: The name of the manifest to upload to LogDog. This must
be unique for the whole build.
— **def [get\_project\_revision\_properties ](/recipes/recipe_modules/bot_update/api.py#4 27 )(self, project_name, gclient_config=None):**
— **def [get\_project\_revision\_properties ](/recipes/recipe_modules/bot_update/api.py#4 19 )(self, project_name, gclient_config=None):**
Returns all property names used for storing the checked-out revision of
a given project.
@ -88,7 +88,7 @@ Args:
Returns (list of str): All properties that'll hold the checked-out revision
of the given project. An empty list if no such properties exist.
  ** @property **< br > — **def [last\_returned\_properties ](/recipes/recipe_modules/bot_update/api.py#4 8 )(self):**
  ** @property **< br > — **def [last\_returned\_properties ](/recipes/recipe_modules/bot_update/api.py#4 0 )(self):**
### *recipe_modules* / [cipd ](/recipes/recipe_modules/cipd )
[DEPS ](/recipes/recipe_modules/cipd/__init__.py#1 ): [infra\_paths ](#recipe_modules-infra_paths ), [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step]
@ -193,27 +193,39 @@ parameters will be used.
— **def [set\_tag ](/recipes/recipe_modules/cipd/api.py#366 )(self, package_name, version, tags):**
### *recipe_modules* / [depot\_tools ](/recipes/recipe_modules/depot_tools )
[DEPS ](/recipes/recipe_modules/depot_tools/__init__.py# 1): [recipe\_engine/platform][recipe_engine/recipe_modules/platform ]
[DEPS ](/recipes/recipe_modules/depot_tools/__init__.py# 5): [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime ]
#### **class [DepotToolsApi ](/recipes/recipe_modules/depot_tools/api.py#7 )([RecipeApi][recipe_engine/wkt/RecipeApi]):**
The `depot_tools` module provides safe functions to access paths within
the depot_tools repo.
  ** @property **< br > — **def [cros\_path ](/recipes/recipe_modules/depot_tools/api.py#21 )(self ):**
#### **class [DepotToolsApi ](/recipes/recipe_modules/depot_tools/api.py#12 )([RecipeApi][recipe_engine/wkt/RecipeApi] ):**
  ** @property **< br > — **def [download\_from\_google\_storage\_path](/recipes/recipe_modules/depot_tools/api.py#8 )(self):**
  ** @property **< br > — **def [cros\_path](/recipes/recipe_modules/depot_tools/api.py#26 )(self):**
  ** @property **< br > — **def [gn\_py\_path](/recipes/recipe_modules/depot_tools/api.py#25 )(self):**
  ** @property **< br > — **def [download\_from\_google\_storage\_path](/recipes/recipe_modules/depot_tools/api.py#13 )(self):**
  ** @property **< br > — **def [g sutil\_py\_path](/recipes/recipe_modules/depot_tools/api.py#31 )(self):**
  ** @property **< br > — **def [g n\_py\_path](/recipes/recipe_modules/depot_tools/api.py#30 )(self):**
  ** @property **< br > — **def [ninja\_path](/recipes/recipe_modules/depot_tools/api.py#35 )(self):**
  ** @property **< br > — **def [gsutil\_py\_path](/recipes/recipe_modules/depot_tools/api.py#36 )(self):**
  ** @property **< br > — **def [presubmit\_support\_py \_path](/recipes/recipe_modules/depot_tools/api.py#40 )(self):**
  ** @property **< br > — **def [ninja \_path](/recipes/recipe_modules/depot_tools/api.py#40 )(self):**
  ** @property **< br > — **def [root ](/recipes/recipe_modules/depot_tools/api.py#16 )(self):**
  ** @contextlib .contextmanager**< br > — **def [on\_path ](/recipes/recipe_modules/depot_tools/api.py#49 )(self):**
Use this context manager to put depot_tools on $PATH.
Example:
with api.depot_tools.on_path():
# run some steps
  ** @property **< br > — **def [presubmit\_support\_py\_path ](/recipes/recipe_modules/depot_tools/api.py#45 )(self):**
  ** @property **< br > — **def [root ](/recipes/recipe_modules/depot_tools/api.py#21 )(self):**
Returns (Path): The "depot_tools" root directory.
  ** @property **< br > — **def [upload\_to\_google\_storage\_path ](/recipes/recipe_modules/depot_tools/api.py#12 )(self):**
  ** @property **< br > — **def [upload\_to\_google\_storage\_path ](/recipes/recipe_modules/depot_tools/api.py#1 7 )(self):**
### *recipe_modules* / [gclient ](/recipes/recipe_modules/gclient )
[DEPS ](/recipes/recipe_modules/gclient/__init__.py#1 ): [infra\_paths ](#recipe_modules-infra_paths ), [tryserver ](#recipe_modules-tryserver ), [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/step][recipe_engine/recipe_modules/step]
@ -767,9 +779,9 @@ like checkout or compile), and some of these tests have failed.
— **def [RunSteps ](/recipes/recipe_modules/cipd/examples/platform_suffix.py#22 )(api, arch_override, bits_override, expect_error):**
### *recipes* / [depot\_tools:examples/full ](/recipes/recipe_modules/depot_tools/examples/full.py )
[DEPS ](/recipes/recipe_modules/depot_tools/examples/full.py#5 ): [depot\_tools ](#recipe_modules-depot_tools ), [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/step][recipe_engine/recipe_modules/step]
[DEPS ](/recipes/recipe_modules/depot_tools/examples/full.py#5 ): [depot\_tools ](#recipe_modules-depot_tools ), [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime], [recipe\_engine/ step][recipe_engine/recipe_modules/step]
— **def [RunSteps ](/recipes/recipe_modules/depot_tools/examples/full.py#1 3 )(api):**
— **def [RunSteps ](/recipes/recipe_modules/depot_tools/examples/full.py#1 4 )(api):**
### *recipes* / [fetch\_end\_to\_end\_test ](/recipes/recipes/fetch_end_to_end_test.py )
[DEPS ](/recipes/recipes/fetch_end_to_end_test.py#5 ): [bot\_update ](#recipe_modules-bot_update ), [gclient ](#recipe_modules-gclient ), [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/step][recipe_engine/recipe_modules/step]