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

Unified Diff: deps_utils.py

Issue 9359045: Add support for non-git-svn repos. Fix syntax errors. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/deps2git/
Patch Set: Created 8 years, 10 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
« deps2git.py ('K') | « deps2git.py ('k') | svn_to_git_public.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: deps_utils.py
===================================================================
--- deps_utils.py (revision 121912)
+++ deps_utils.py (working copy)
@@ -3,9 +3,12 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+"""Utilities for formatting and writing DEPS files."""
+
class VarImpl(object):
"""Implement the Var function used within the DEPS file."""
+
def __init__(self, local_scope):
self._local_scope = local_scope
@@ -23,12 +26,12 @@
local_scope = {}
var = VarImpl(local_scope)
global_scope = {
- 'Var': var.Lookup,
- 'deps': {},
- 'deps_os': {},
- 'include_rules': [],
- 'skip_child_includes': [],
- 'hooks': [],
+ 'Var': var.Lookup,
+ 'deps': {},
+ 'deps_os': {},
+ 'include_rules': [],
+ 'skip_child_includes': [],
+ 'hooks': [],
}
exec(content, global_scope, local_scope)
local_scope.setdefault('deps', {})
@@ -36,10 +39,11 @@
local_scope.setdefault('include_rules', [])
local_scope.setdefault('skip_child_includes', [])
local_scope.setdefault('hooks', [])
+ local_scope.setdefault('vars', {})
return (local_scope['deps'], local_scope['deps_os'],
local_scope['include_rules'], local_scope['skip_child_includes'],
- local_scope['hooks'])
+ local_scope['hooks'], local_scope['vars'])
def PrettyDeps(deps, indent=0):
@@ -76,26 +80,28 @@
return pretty
-def Varify(deps):
+def Varify(deps, deps_overrides):
"""Replace all instances of our git server with a git_url var."""
deps = deps.replace('\'http://git.chromium.org/external/WebKit_trimmed.git',
'Var(\'webkit_url\')')
deps = deps.replace('\'http://git.chromium.org', 'Var(\'git_url\') + \'')
- deps = deps.replace('VAR_WEBKIT_REV\'', ' + Var(\'webkit_rev\')')
+ for value in deps_overrides.values():
+ deps = deps.replace("VAR_HASH_TEMP_%s'" % value, "' + Var('%s')" % value)
nsylvain 2012/02/15 17:43:39 Can you add a comment here to say that you are "tr
DaleCurtis 2012/02/16 02:38:37 Done.
+ deps = deps.replace("VAR_WEBKIT_REV'", " + Var('webkit_rev')")
return deps
-def WriteDeps(deps_file_name, vars, deps, deps_os, include_rules,
- skip_child_includes, hooks):
+def WriteDeps(deps_file_name, deps_vars, deps, deps_os, include_rules,
+ skip_child_includes, hooks, deps_overrides):
"""Given all the sections in a DEPS file, write it to disk."""
new_deps = ('# DO NOT EDIT EXCEPT FOR LOCAL TESTING.\n'
'# THIS IS A GENERATED FILE.\n',
'# ALL MANUAL CHANGES WILL BE OVERWRITTEN.\n',
'# SEE http://code.google.com/p/chromium/wiki/UsingNewGit\n',
'# FOR HOW TO ROLL DEPS\n'
- 'vars = %s\n\n' % PrettyObj(vars),
- 'deps = %s\n\n' % Varify(PrettyDeps(deps)),
- 'deps_os = %s\n\n' % Varify(PrettyDeps(deps_os)),
+ 'vars = %s\n\n' % PrettyObj(deps_vars),
+ 'deps = %s\n\n' % Varify(PrettyDeps(deps), deps_overrides),
+ 'deps_os = %s\n\n' % Varify(PrettyDeps(deps_os), deps_overrides),
'include_rules = %s\n\n' % PrettyObj(include_rules),
'skip_child_includes = %s\n\n' % PrettyObj(skip_child_includes),
'hooks = %s\n' % PrettyObj(hooks))
« deps2git.py ('K') | « deps2git.py ('k') | svn_to_git_public.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698