From 5705acabe03a84815779adda7c0928b67dfaa6ae Mon Sep 17 00:00:00 2001 From: Eric Boren Date: Fri, 16 Nov 2018 19:43:58 +0000 Subject: [PATCH] [gclient] Make getdep and setdep to provide builtin vars Bug: 906114 Change-Id: I069cc21343911f7fdb3c91ecbd8fcba53fc8099f Reviewed-on: https://chromium-review.googlesource.com/c/1340461 Reviewed-by: Edward Lesmes Commit-Queue: Eric Boren --- gclient.py | 8 ++++++-- tests/gclient_smoketest.py | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/gclient.py b/gclient.py index 03177c3f0..feb0c7d15 100755 --- a/gclient.py +++ b/gclient.py @@ -2831,7 +2831,9 @@ def CMDgetdep(parser, args): 'DEPS file %s does not exist.' % options.deps_file) with open(options.deps_file) as f: contents = f.read() - local_scope = gclient_eval.Exec(contents, options.deps_file) + client = GClient.LoadCurrentConfig(options) + local_scope = gclient_eval.Exec(contents, options.deps_file, + builtin_vars=client.get_builtin_vars()) for var in options.vars: print(gclient_eval.GetVar(local_scope, var)) @@ -2881,7 +2883,9 @@ def CMDsetdep(parser, args): 'DEPS file %s does not exist.' % options.deps_file) with open(options.deps_file) as f: contents = f.read() - local_scope = gclient_eval.Exec(contents, options.deps_file) + client = GClient.LoadCurrentConfig(options) + local_scope = gclient_eval.Exec(contents, options.deps_file, + builtin_vars=client.get_builtin_vars()) for var in options.vars: name, _, value = var.partition('=') diff --git a/tests/gclient_smoketest.py b/tests/gclient_smoketest.py index ecd31987b..ae2bf2827 100755 --- a/tests/gclient_smoketest.py +++ b/tests/gclient_smoketest.py @@ -881,6 +881,7 @@ class GClientSmokeGIT(GClientSmokeBase): self.assertEqual(out, output_json) def testSetDep(self): + self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) fake_deps = os.path.join(self.root_dir, 'DEPS.fake') with open(fake_deps, 'w') as f: f.write('\n'.join([ @@ -894,6 +895,12 @@ class GClientSmokeGIT(GClientSmokeBase): ' },', ' "bar": "url@bar_rev",', '}', + 'hooks = [{', + ' "name": "uses_builtin_var",', + ' "pattern": ".",', + ' "action": ["python", "fake.py",', + ' "--with-android={checkout_android}"],', + '}]', ])) results = self.gclient([ @@ -916,9 +923,16 @@ class GClientSmokeGIT(GClientSmokeBase): ' },', ' "bar": "url@new_bar",', '}', + 'hooks = [{', + ' "name": "uses_builtin_var",', + ' "pattern": ".",', + ' "action": ["python", "fake.py",', + ' "--with-android={checkout_android}"],', + '}]', ], contents) def testGetDep(self): + self.gclient(['config', self.git_base + 'repo_1', '--name', 'src']) fake_deps = os.path.join(self.root_dir, 'DEPS.fake') with open(fake_deps, 'w') as f: f.write('\n'.join([ @@ -932,6 +946,12 @@ class GClientSmokeGIT(GClientSmokeBase): ' },', ' "bar": "url@bar_rev",', '}', + 'hooks = [{', + ' "name": "uses_builtin_var",', + ' "pattern": ".",', + ' "action": ["python", "fake.py",', + ' "--with-android={checkout_android}"],', + '}]', ])) results = self.gclient([