Revert "gclient eval: Expand vars while parsing DEPS files"
This reverts commit 88f9c40e0ccefb491790888a703c857b0c3ec6d1.
Reason for revert: suspected to be causing update scripts failures and prevent gce bots from connecting
https://build.chromium.org/deprecated/tryserver.chromium.win/builders/win7_chromium_rel_ng/builds/128479/steps/update_scripts/logs/stdio
Original change's description:
> gclient eval: Expand vars while parsing DEPS files
>
> Introduce a Parse function that takes care of expanding vars while parsing
> the DEPS file.
>
> It wraps Exec and exec calls, and supports deferring the expansion until
> later, so gclient flatten gets access to the unexpanded version.
>
> Bug: 821199
> Change-Id: I943b021cc4474c9cda67b3816b841dd8ada3f5b2
> Reviewed-on: https://chromium-review.googlesource.com/973749
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Aaron Gable <agable@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
TBR=agable@chromium.org,dpranke@chromium.org,ehmaldonado@chromium.org
Change-Id: Ib9b84c13ef9b56735fd8f714b74a6601c61715e5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 821199
Reviewed-on: https://chromium-review.googlesource.com/976721
Reviewed-by: Benjamin Pastene <bpastene@chromium.org>
Commit-Queue: Benjamin Pastene <bpastene@chromium.org>
diff --git a/gclient.py b/gclient.py
index 230ce78..c4bf011 100755
--- a/gclient.py
+++ b/gclient.py
@@ -736,7 +736,7 @@
deps_to_add.sort(key=lambda x: x.name)
return deps_to_add
- def ParseDepsFile(self, expand_vars=True):
+ def ParseDepsFile(self):
"""Parses the DEPS file for this dependency."""
assert not self.deps_parsed
assert not self.dependencies
@@ -765,14 +765,15 @@
local_scope = {}
if deps_content:
+ # Eval the content.
try:
- vars_override = self.get_vars()
- if self.parent:
- vars_override.update(self.parent.get_vars())
- local_scope = gclient_eval.Parse(
- deps_content, expand_vars,
- self._get_option('validate_syntax', False),
- filepath, vars_override)
+ if self._get_option('validate_syntax', False):
+ local_scope = gclient_eval.Exec(deps_content, filepath)
+ else:
+ global_scope = {
+ 'Var': lambda var_name: '{%s}' % var_name,
+ }
+ exec(deps_content, global_scope, local_scope)
except SyntaxError as e:
gclient_utils.SyntaxErrorToError(filepath, e)
@@ -987,7 +988,7 @@
file_list[i] = file_list[i][1:]
# Always parse the DEPS file.
- self.ParseDepsFile(expand_vars=(command != 'flatten'))
+ self.ParseDepsFile()
self._run_is_done(file_list or [], parsed_url)
if command in ('update', 'revert') and not options.noprehooks:
self.RunPreDepsHooks()
@@ -1863,7 +1864,7 @@
print('%s: %s' % (x, entries[x]))
logging.info(str(self))
- def ParseDepsFile(self, expand_vars=None):
+ def ParseDepsFile(self):
"""No DEPS to parse for a .gclient file."""
raise gclient_utils.Error('Internal error')
@@ -1972,7 +1973,7 @@
self._cipd_package = self._cipd_root.add_package(
self._cipd_subdir, self._package_name, self._package_version)
- def ParseDepsFile(self, expand_vars=None):
+ def ParseDepsFile(self):
"""CIPD dependencies are not currently allowed to have nested deps."""
self.add_dependencies_and_close([], [])
@@ -2929,9 +2930,7 @@
'DEPS file %s does not exist.' % options.deps_file)
with open(options.deps_file) as f:
contents = f.read()
- local_scope = gclient_eval.Parse(
- contents, expand_vars=True, validate_syntax=True,
- filename=options.deps_file)
+ local_scope = gclient_eval.Exec(contents)
for var in options.vars:
name, _, value = var.partition('=')