From 2da7cbd767ab59dbe49171ad99bbae5b4e675e42 Mon Sep 17 00:00:00 2001 From: Michael Moss Date: Wed, 27 Sep 2017 15:15:45 -0700 Subject: [PATCH] Add ability to pass extra flags to gclient.sync(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R=agable@chromium.org, phajdan.jr@chromium.org Change-Id: Id883945d61aabf90e11368fbf603196e62ff0f52 Reviewed-on: https://chromium-review.googlesource.com/688675 Reviewed-by: PaweÅ‚ Hajdan Jr. Commit-Queue: Michael Moss --- recipes/README.recipes.md | 16 ++++++++-------- recipes/recipe_modules/gclient/api.py | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/recipes/README.recipes.md b/recipes/README.recipes.md index 85f527575..056ac81f0 100644 --- a/recipes/README.recipes.md +++ b/recipes/README.recipes.md @@ -222,12 +222,12 @@ Returns (Path): The "depot_tools" root directory. Wrapper for easy calling of gclient steps. -— **def [break\_locks](/recipes/recipe_modules/gclient/api.py#286)(self):** +— **def [break\_locks](/recipes/recipe_modules/gclient/api.py#287)(self):** Remove all index.lock files. If a previous run of git crashed, bot was reset, etc... we might end up with leftover index.lock files. -— **def [calculate\_patch\_root](/recipes/recipe_modules/gclient/api.py#308)(self, patch_project, gclient_config=None):** +— **def [calculate\_patch\_root](/recipes/recipe_modules/gclient/api.py#309)(self, patch_project, gclient_config=None):** Returns path where a patch should be applied to based patch_project. @@ -244,7 +244,7 @@ Returns: If patch_project is not given or not recognized, it'll be just first solution root. -— **def [checkout](/recipes/recipe_modules/gclient/api.py#234)(self, gclient_config=None, revert=RevertOnTryserver, inject_parent_got_revision=True, \*\*kwargs):** +— **def [checkout](/recipes/recipe_modules/gclient/api.py#235)(self, gclient_config=None, revert=RevertOnTryserver, inject_parent_got_revision=True, \*\*kwargs):** Return a step generator function for gclient checkouts. @@ -260,7 +260,7 @@ Returns (dict): A mapping from property name -> project name. It merges the values of the deprecated got_revision_mapping and the new got_revision_reverse_mapping. -— **def [inject\_parent\_got\_revision](/recipes/recipe_modules/gclient/api.py#209)(self, gclient_config=None, override=False):** +— **def [inject\_parent\_got\_revision](/recipes/recipe_modules/gclient/api.py#210)(self, gclient_config=None, override=False):** Match gclient config to build revisions obtained from build_properties. @@ -270,7 +270,7 @@ Args: override (bool) - If True, will forcibly set revision and custom_vars even if the config already contains values for them. -  **@property**
— **def [is\_blink\_mode](/recipes/recipe_modules/gclient/api.py#273)(self):** +  **@property**
— **def [is\_blink\_mode](/recipes/recipe_modules/gclient/api.py#274)(self):** Indicates wether the caller is to use the Blink config rather than the Chromium config. This may happen for one of two reasons: @@ -281,9 +281,9 @@ Chromium config. This may happen for one of two reasons: — **def [resolve\_revision](/recipes/recipe_modules/gclient/api.py#147)(self, revision):** -— **def [runhooks](/recipes/recipe_modules/gclient/api.py#267)(self, args=None, name='runhooks', \*\*kwargs):** +— **def [runhooks](/recipes/recipe_modules/gclient/api.py#268)(self, args=None, name='runhooks', \*\*kwargs):** -— **def [set\_patch\_project\_revision](/recipes/recipe_modules/gclient/api.py#335)(self, patch_project, gclient_config=None):** +— **def [set\_patch\_project\_revision](/recipes/recipe_modules/gclient/api.py#336)(self, patch_project, gclient_config=None):** Updates config revision corresponding to patch_project. @@ -292,7 +292,7 @@ revision map. This doesn't overwrite the revision if it was already set.   **@spec_alias.deleter**
— **def [spec\_alias](/recipes/recipe_modules/gclient/api.py#115)(self):** -— **def [sync](/recipes/recipe_modules/gclient/api.py#152)(self, cfg, \*\*kwargs):** +— **def [sync](/recipes/recipe_modules/gclient/api.py#152)(self, cfg, extra_sync_flags=None, \*\*kwargs):**   **@use_mirror.setter**
— **def [use\_mirror](/recipes/recipe_modules/gclient/api.py#102)(self, val):** ### *recipe_modules* / [gerrit](/recipes/recipe_modules/gerrit) diff --git a/recipes/recipe_modules/gclient/api.py b/recipes/recipe_modules/gclient/api.py index 93108d9d4..c595fee02 100644 --- a/recipes/recipe_modules/gclient/api.py +++ b/recipes/recipe_modules/gclient/api.py @@ -149,7 +149,7 @@ class GclientApi(recipe_api.RecipeApi): return revision.resolve(self.m.properties) return revision - def sync(self, cfg, **kwargs): + def sync(self, cfg, extra_sync_flags=None, **kwargs): revisions = [] self.set_patch_project_revision(self.m.properties.get('patch_project'), cfg) for i, s in enumerate(cfg.solutions): @@ -188,6 +188,7 @@ class GclientApi(recipe_api.RecipeApi): args = ['sync', '--verbose', '--nohooks', j, '--reset', '--force', '--upstream', '--no-nag-max', '--with_branch_heads', '--with_tags'] + args.extend(extra_sync_flags or []) if cfg.delete_unversioned_trees: args.append('--delete_unversioned_trees') self('sync', args + revisions +