|
|
|
@ -14,7 +14,6 @@
|
|
|
|
|
* [gsutil](#recipe_modules-gsutil)
|
|
|
|
|
* [infra_paths](#recipe_modules-infra_paths)
|
|
|
|
|
* [presubmit](#recipe_modules-presubmit)
|
|
|
|
|
* [rietveld](#recipe_modules-rietveld)
|
|
|
|
|
* [tryserver](#recipe_modules-tryserver)
|
|
|
|
|
|
|
|
|
|
**[Recipes](#Recipes)**
|
|
|
|
@ -32,36 +31,33 @@
|
|
|
|
|
* [gsutil:examples/full](#recipes-gsutil_examples_full)
|
|
|
|
|
* [infra_paths:examples/full](#recipes-infra_paths_examples_full)
|
|
|
|
|
* [presubmit:examples/full](#recipes-presubmit_examples_full)
|
|
|
|
|
* [rietveld:examples/full](#recipes-rietveld_examples_full)
|
|
|
|
|
* [tryserver:examples/full](#recipes-tryserver_examples_full)
|
|
|
|
|
## Recipe Modules
|
|
|
|
|
|
|
|
|
|
### *recipe_modules* / [bot\_update](/recipes/recipe_modules/bot_update)
|
|
|
|
|
|
|
|
|
|
[DEPS](/recipes/recipe_modules/bot_update/__init__.py#1): [depot\_tools](#recipe_modules-depot_tools), [gclient](#recipe_modules-gclient), [gerrit](#recipe_modules-gerrit), [rietveld](#recipe_modules-rietveld), [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/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime], [recipe\_engine/source\_manifest][recipe_engine/recipe_modules/source_manifest], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
|
[DEPS](/recipes/recipe_modules/bot_update/__init__.py#1): [depot\_tools](#recipe_modules-depot_tools), [gclient](#recipe_modules-gclient), [gerrit](#recipe_modules-gerrit), [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/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/runtime][recipe_engine/recipe_modules/runtime], [recipe\_engine/source\_manifest][recipe_engine/recipe_modules/source_manifest], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
|
|
|
|
|
|
Recipe module to ensure a checkout is consistent on a bot.
|
|
|
|
|
|
|
|
|
|
#### **class [BotUpdateApi](/recipes/recipe_modules/bot_update/api.py#11)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
|
|
|
|
|
|
|
|
|
|
— **def [\_\_call\_\_](/recipes/recipe_modules/bot_update/api.py#31)(self, name, cmd, \*\*kwargs):**
|
|
|
|
|
— **def [\_\_call\_\_](/recipes/recipe_modules/bot_update/api.py#30)(self, name, cmd, \*\*kwargs):**
|
|
|
|
|
|
|
|
|
|
Wrapper for easy calling of bot_update.
|
|
|
|
|
|
|
|
|
|
— **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 [apply\_gerrit\_ref](/recipes/recipe_modules/bot_update/api.py#45)(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#424)(self, bot_update_step):**
|
|
|
|
|
— **def [deapply\_patch](/recipes/recipe_modules/bot_update/api.py#421)(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#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=None, 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#67)(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=None, 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:
|
|
|
|
|
gclient_config: The gclient configuration to use when running bot_update.
|
|
|
|
|
If omitted, the current gclient configuration is used.
|
|
|
|
|
rietveld: The rietveld server to use. If omitted, will infer from
|
|
|
|
|
the 'rietveld' property.
|
|
|
|
|
issue: The rietveld issue number to use. If omitted, will infer from
|
|
|
|
|
the 'issue' property.
|
|
|
|
|
patchset: The rietveld issue patchset to use. If omitted, will infer from
|
|
|
|
@ -72,7 +68,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#401)(self, project_name, gclient_config=None):**
|
|
|
|
|
— **def [get\_project\_revision\_properties](/recipes/recipe_modules/bot_update/api.py#398)(self, project_name, gclient_config=None):**
|
|
|
|
|
|
|
|
|
|
Returns all property names used for storing the checked-out revision of
|
|
|
|
|
a given project.
|
|
|
|
@ -86,7 +82,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#40)(self):**
|
|
|
|
|
  **@property**<br>— **def [last\_returned\_properties](/recipes/recipe_modules/bot_update/api.py#39)(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]
|
|
|
|
@ -634,40 +630,6 @@ uses the more generic [CACHE]/git path (LUCI world).
|
|
|
|
|
Return a presubmit step.
|
|
|
|
|
|
|
|
|
|
  **@property**<br>— **def [presubmit\_support\_path](/recipes/recipe_modules/presubmit/api.py#8)(self):**
|
|
|
|
|
### *recipe_modules* / [rietveld](/recipes/recipe_modules/rietveld)
|
|
|
|
|
|
|
|
|
|
[DEPS](/recipes/recipe_modules/rietveld/__init__.py#1): [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
|
|
|
|
|
|
#### **class [RietveldApi](/recipes/recipe_modules/rietveld/api.py#10)([RecipeApi][recipe_engine/wkt/RecipeApi]):**
|
|
|
|
|
|
|
|
|
|
— **def [apply\_issue](/recipes/recipe_modules/rietveld/api.py#53)(self, \*root_pieces, \*\*kwargs):**
|
|
|
|
|
|
|
|
|
|
Call apply_issue from depot_tools.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
root_pieces (strings): location where to run apply_issue, relative to the
|
|
|
|
|
checkout root.
|
|
|
|
|
authentication (string or None): authentication scheme to use. Can be None
|
|
|
|
|
or 'oauth2'. See also apply_issue.py --help (-E and --no-auth options.)
|
|
|
|
|
|
|
|
|
|
— **def [calculate\_issue\_root](/recipes/recipe_modules/rietveld/api.py#11)(self, extra_patch_project_roots=None):**
|
|
|
|
|
|
|
|
|
|
Returns path where a patch should be applied to based on "patch_project".
|
|
|
|
|
|
|
|
|
|
YOU SHOULD NOT USE THIS METHOD. Put this into gclient's config as
|
|
|
|
|
patch_projects instead, and with luck you won't need to use
|
|
|
|
|
calculate_patch_root from gclient api.
|
|
|
|
|
TODO(tandrii): remove this method completely. See http://crbug.com/605563.
|
|
|
|
|
|
|
|
|
|
Maps Rietveld's "patch_project" to a path of directories relative to
|
|
|
|
|
api.gclient.c.solutions[0].name which describe where to place the patch.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
extra_patch_project_roots: Dict mapping project names to relative roots.
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
Relative path or empty string if patch_project is not set or path for a
|
|
|
|
|
given is unknown.
|
|
|
|
|
### *recipe_modules* / [tryserver](/recipes/recipe_modules/tryserver)
|
|
|
|
|
|
|
|
|
|
[DEPS](/recipes/recipe_modules/tryserver/__init__.py#5): [gerrit](#recipe_modules-gerrit), [git](#recipe_modules-git), [git\_cl](#recipe_modules-git_cl), [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/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
@ -825,11 +787,6 @@ Move things around in a loop!
|
|
|
|
|
[DEPS](/recipes/recipe_modules/presubmit/examples/full.py#5): [presubmit](#recipe_modules-presubmit)
|
|
|
|
|
|
|
|
|
|
— **def [RunSteps](/recipes/recipe_modules/presubmit/examples/full.py#10)(api):**
|
|
|
|
|
### *recipes* / [rietveld:examples/full](/recipes/recipe_modules/rietveld/examples/full.py)
|
|
|
|
|
|
|
|
|
|
[DEPS](/recipes/recipe_modules/rietveld/examples/full.py#5): [infra\_paths](#recipe_modules-infra_paths), [rietveld](#recipe_modules-rietveld), [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step]
|
|
|
|
|
|
|
|
|
|
— **def [RunSteps](/recipes/recipe_modules/rietveld/examples/full.py#13)(api):**
|
|
|
|
|
### *recipes* / [tryserver:examples/full](/recipes/recipe_modules/tryserver/examples/full.py)
|
|
|
|
|
|
|
|
|
|
[DEPS](/recipes/recipe_modules/tryserver/examples/full.py#5): [tryserver](#recipe_modules-tryserver), [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]
|
|
|
|
|