Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(395)

Unified Diff: recipe_modules/gclient/config.py

Issue 1642023002: depot_tools: import bot_update gclient git rietveld tryserver recipe modules (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: presubmit Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « recipe_modules/gclient/api.py ('k') | recipe_modules/gclient/example.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: recipe_modules/gclient/config.py
diff --git a/recipe_modules/gclient/config.py b/recipe_modules/gclient/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a5234ad088a1e2501d8173f104ee5b87851aad5
--- /dev/null
+++ b/recipe_modules/gclient/config.py
@@ -0,0 +1,88 @@
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import types
+
+from recipe_engine.config import config_item_context, ConfigGroup, BadConf
+from recipe_engine.config import ConfigList, Dict, Single, Static, Set, List
+
+from . import api as gclient_api
+
+
+def BaseConfig(USE_MIRROR=True, GIT_MODE=False, CACHE_DIR=None,
+ PATCH_PROJECT=None, BUILDSPEC_VERSION=None,
+ **_kwargs):
+ deps = '.DEPS.git' if GIT_MODE else 'DEPS'
+ cache_dir = str(CACHE_DIR) if GIT_MODE and CACHE_DIR else None
+ return ConfigGroup(
+ solutions = ConfigList(
+ lambda: ConfigGroup(
+ name = Single(basestring),
+ url = Single(basestring),
+ deps_file = Single(basestring, empty_val=deps, required=False,
+ hidden=False),
+ managed = Single(bool, empty_val=True, required=False, hidden=False),
+ custom_deps = Dict(value_type=(basestring, types.NoneType)),
+ custom_vars = Dict(value_type=basestring),
+ safesync_url = Single(basestring, required=False),
+
+ revision = Single(
+ (basestring, gclient_api.RevisionResolver),
+ required=False, hidden=True),
+ )
+ ),
+ deps_os = Dict(value_type=basestring),
+ hooks = List(basestring),
+ target_os = Set(basestring),
+ target_os_only = Single(bool, empty_val=False, required=False),
+ cache_dir = Static(cache_dir, hidden=False),
+
+ # If supplied, use this as the source root (instead of the first solution's
+ # checkout).
+ src_root = Single(basestring, required=False, hidden=True),
+
+ # Maps 'solution' -> build_property
+ got_revision_mapping = Dict(hidden=True),
+
+ # Addition revisions we want to pass in. For now theres a duplication
+ # of code here of setting custom vars AND passing in --revision. We hope
+ # to remove custom vars later.
+ revisions = Dict(
+ value_type=(basestring, gclient_api.RevisionResolver),
+ hidden=True),
+
+ # TODO(iannucci): HACK! The use of None here to indicate that we apply this
+ # to the solution.revision field is really terrible. I mostly blame
+ # gclient.
+ # Maps 'parent_build_property' -> 'custom_var_name'
+ # Maps 'parent_build_property' -> None
+ # If value is None, the property value will be applied to
+ # solutions[0].revision. Otherwise, it will be applied to
+ # solutions[0].custom_vars['custom_var_name']
+ parent_got_revision_mapping = Dict(hidden=True),
+ delete_unversioned_trees = Single(bool, empty_val=True, required=False),
+
+ # Check out refs/branch-heads.
+ # TODO (machenbach): Only implemented for bot_update atm.
+ with_branch_heads = Single(
+ bool,
+ empty_val=False,
+ required=False,
+ hidden=True),
+
+ GIT_MODE = Static(bool(GIT_MODE)),
+ USE_MIRROR = Static(bool(USE_MIRROR)),
+ PATCH_PROJECT = Static(str(PATCH_PROJECT), hidden=True),
+ BUILDSPEC_VERSION= Static(BUILDSPEC_VERSION, hidden=True),
+ )
+
+config_ctx = config_item_context(BaseConfig)
+
+# TODO(phajdan.jr): Remove chromium-specific helper.
+def ChromiumGitURL(_c, *pieces): # pragma: no cover
+ return '/'.join(('https://chromium.googlesource.com',) + pieces)
+
+# TODO(phajdan.jr): Remove chromium-specific helper.
+def ChromeInternalGitURL(_c, *pieces): # pragma: no cover
+ return '/'.join(('https://chrome-internal.googlesource.com',) + pieces)
« no previous file with comments | « recipe_modules/gclient/api.py ('k') | recipe_modules/gclient/example.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698